# The following build order must be maintained.
-SUBDIRS = exceptions util log cryptolink dns asiolink cc database
+SUBDIRS = exceptions util log cryptolink dns asiolink cc testutils database
if HAVE_MYSQL
SUBDIRS += mysql
SUBDIRS += cql
endif
-SUBDIRS += config_backend testutils hooks dhcp config stats
+SUBDIRS += config_backend hooks dhcp config stats
if HAVE_SYSREPO
SUBDIRS += yang
libdatabase_unittests_LDFLAGS = $(AM_LDFLAGS) $(GTEST_LDFLAGS)
libdatabase_unittests_LDADD = $(top_builddir)/src/lib/database/libkea-database.la
+libdatabase_unittests_LDADD += $(top_builddir)/src/lib/testutils/libkea-testutils.la
libdatabase_unittests_LDADD += $(top_builddir)/src/lib/cc/libkea-cc.la
libdatabase_unittests_LDADD += $(top_builddir)/src/lib/asiolink/libkea-asiolink.la
libdatabase_unittests_LDADD += $(top_builddir)/src/lib/log/libkea-log.la
#include <config.h>
#include <database/backend_selector.h>
+#include <testutils/test_to_element.h>
#include <boost/scoped_ptr.hpp>
#include <gtest/gtest.h>
}
// Tests toElement from backend selectors.
-// Can't use runToElementTest because it is defined in a library built
-// at a later stage.
TEST(BackendSelectorTest, backendToElement) {
// Unspecified.
boost::scoped_ptr<BackendSelector> sel(new BackendSelector());
EXPECT_NO_THROW(sel.reset(new BackendSelector(BackendSelector::Type::MYSQL)));
ElementPtr expected = Element::createMap();
expected->set("type", Element::create("mysql"));
- ConstElementPtr unparsed;
- ASSERT_NO_THROW(unparsed = sel->toElement());
- ASSERT_TRUE(unparsed);
- EXPECT_TRUE(isEquivalent(expected, unparsed));
+ test::runToElementTest<BackendSelector>(expected, *sel);
// Add host.
expected->set("host", Element::create("myhost"));
EXPECT_NO_THROW(sel.reset(new BackendSelector(expected)));
- ASSERT_NO_THROW(unparsed = sel->toElement());
- ASSERT_TRUE(unparsed);
- EXPECT_TRUE(isEquivalent(expected, unparsed));
+ test::runToElementTest<BackendSelector>(expected, *sel);
// Add port.
expected->set("port", Element::create(1234L));
EXPECT_NO_THROW(sel.reset(new BackendSelector(expected)));
- ASSERT_NO_THROW(unparsed = sel->toElement());
- ASSERT_TRUE(unparsed);
- EXPECT_TRUE(isEquivalent(expected, unparsed));
+ test::runToElementTest<BackendSelector>(expected, *sel);
}
}