From: Francis Dupont Date: Fri, 23 Feb 2018 22:48:32 +0000 (+0100) Subject: [5533a] Rebased X-Git-Tag: trac5533a_rebase~1 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=fe232dabca23c2a62053ba6f954e7960b7d7bebf;p=thirdparty%2Fkea.git [5533a] Rebased --- fe232dabca23c2a62053ba6f954e7960b7d7bebf diff --cc src/lib/dhcpsrv/tests/cql_host_data_source_unittest.cc index a3462a5421,4707760656..3efa01163c --- a/src/lib/dhcpsrv/tests/cql_host_data_source_unittest.cc +++ b/src/lib/dhcpsrv/tests/cql_host_data_source_unittest.cc @@@ -22,11 -11,11 +22,12 @@@ #include #include #include + #include #include - #include + #include #include #include +#include #include #include diff --cc src/lib/dhcpsrv/tests/mysql_host_data_source_unittest.cc index e40d965c07,c073dda088..b7b46affc9 --- a/src/lib/dhcpsrv/tests/mysql_host_data_source_unittest.cc +++ b/src/lib/dhcpsrv/tests/mysql_host_data_source_unittest.cc @@@ -12,9 -12,9 +12,10 @@@ #include #include #include - #include + #include #include +#include + #include #include #include diff --cc src/lib/dhcpsrv/tests/pgsql_host_data_source_unittest.cc index f575f5f50c,42fbf3dc7d..559065589b --- a/src/lib/dhcpsrv/tests/pgsql_host_data_source_unittest.cc +++ b/src/lib/dhcpsrv/tests/pgsql_host_data_source_unittest.cc @@@ -12,9 -12,9 +12,10 @@@ #include #include #include - #include + #include #include +#include + #include #include #include diff --cc src/lib/dhcpsrv/testutils/Makefile.am index 1ad1df791f,10a7e3d890..f825e6a2f3 --- a/src/lib/dhcpsrv/testutils/Makefile.am +++ b/src/lib/dhcpsrv/testutils/Makefile.am @@@ -14,9 -14,10 +14,12 @@@ noinst_LTLIBRARIES = libdhcpsrvtest.l libdhcpsrvtest_la_SOURCES = config_result_check.cc config_result_check.h libdhcpsrvtest_la_SOURCES += dhcp4o6_test_ipc.cc dhcp4o6_test_ipc.h +libdhcpsrvtest_la_SOURCES += host_data_source_utils.cc host_data_source_utils.h + libdhcpsrvtest_la_SOURCES += memory_host_data_source.cc memory_host_data_source.h + libdhcpsrvtest_la_SOURCES += generic_host_data_source_unittest.cc generic_host_data_source_unittest.h + libdhcpsrvtest_la_SOURCES += schema.cc schema.h +libdhcpsrvtest_la_SOURCES += lease_file_io.cc lease_file_io.h if HAVE_MYSQL libdhcpsrvtest_la_SOURCES += mysql_schema.cc mysql_schema.h diff --cc src/lib/dhcpsrv/testutils/generic_host_data_source_unittest.cc index 646e0ee462,e81f6fd75f..7508981324 --- a/src/lib/dhcpsrv/testutils/generic_host_data_source_unittest.cc +++ b/src/lib/dhcpsrv/testutils/generic_host_data_source_unittest.cc @@@ -14,15 -14,15 +14,16 @@@ #include #include #include ++#include + #include #include - #include - #include + #include #include -#include ++#include ++#include #include - #include #include --#include #include #include @@@ -193,9 -570,11 +194,11 @@@ GenericHostDataSourceTest::testReadOnly // The database is initially opened in "read-write" mode. We can // insert some data to the database. - HostPtr host = initializeHost6("2001:db8::1", Host::IDENT_DUID, false); + HostPtr host = HostDataSourceUtils::initializeHost6("2001:db8::1", Host::IDENT_DUID, false); ASSERT_TRUE(host); - ASSERT_NO_THROW(hdsptr_->add(host)); + bool added = false; + ASSERT_NO_THROW(added = hdsptr_->add(host)); + EXPECT_TRUE(added); // Subnet id will be used in queries to the database. SubnetID subnet_id = host->getIPv6SubnetID(); @@@ -264,16 -645,21 +269,21 @@@ GenericHostDataSourceTest::testGetByIPv ASSERT_TRUE(hdsptr_); // Let's create a couple of hosts... - HostPtr host1 = initializeHost4("192.0.2.1", id); - HostPtr host2 = initializeHost4("192.0.2.2", id); - HostPtr host3 = initializeHost4("192.0.2.3", id); - HostPtr host4 = initializeHost4("192.0.2.4", id); + HostPtr host1 = HostDataSourceUtils::initializeHost4("192.0.2.1", id); + HostPtr host2 = HostDataSourceUtils::initializeHost4("192.0.2.2", id); + HostPtr host3 = HostDataSourceUtils::initializeHost4("192.0.2.3", id); + HostPtr host4 = HostDataSourceUtils::initializeHost4("192.0.2.4", id); // ... and add them to the data source. - ASSERT_NO_THROW(hdsptr_->add(host1)); - ASSERT_NO_THROW(hdsptr_->add(host2)); - ASSERT_NO_THROW(hdsptr_->add(host3)); - ASSERT_NO_THROW(hdsptr_->add(host4)); + bool added = false; + ASSERT_NO_THROW(added = hdsptr_->add(host1)); + EXPECT_TRUE(added); + ASSERT_NO_THROW(added = hdsptr_->add(host2)); + EXPECT_TRUE(added); + ASSERT_NO_THROW(added = hdsptr_->add(host3)); + EXPECT_TRUE(added); + ASSERT_NO_THROW(added = hdsptr_->add(host4)); + EXPECT_TRUE(added); SubnetID subnet1 = host1->getIPv4SubnetID(); SubnetID subnet2 = host2->getIPv4SubnetID(); @@@ -573,11 -973,14 +597,14 @@@ GenericHostDataSourceTest::testGet6ByHW ASSERT_TRUE(host1->getHWAddress()); ASSERT_TRUE(host2->getHWAddress()); - compareHwaddrs(host1, host2, false); + HostDataSourceUtils::compareHwaddrs(host1, host2, false); // Try to add both of them to the host data source. - ASSERT_NO_THROW(hdsptr_->add(host1)); - ASSERT_NO_THROW(hdsptr_->add(host2)); + bool added = false; + ASSERT_NO_THROW(added = hdsptr_->add(host1)); + EXPECT_TRUE(added); + ASSERT_NO_THROW(added = hdsptr_->add(host2)); + EXPECT_TRUE(added); SubnetID subnet1 = host1->getIPv6SubnetID(); SubnetID subnet2 = host2->getIPv6SubnetID(); @@@ -610,11 -1013,14 +637,14 @@@ GenericHostDataSourceTest::testGet6ByCl ASSERT_TRUE(host1->getDuid()); ASSERT_TRUE(host2->getDuid()); - compareDuids(host1, host2, false); + HostDataSourceUtils::compareDuids(host1, host2, false); // Try to add both of them to the host data source. - ASSERT_NO_THROW(hdsptr_->add(host1)); - ASSERT_NO_THROW(hdsptr_->add(host2)); + bool added = false; + ASSERT_NO_THROW(added = hdsptr_->add(host1)); + EXPECT_TRUE(added); + ASSERT_NO_THROW(added = hdsptr_->add(host2)); + EXPECT_TRUE(added); SubnetID subnet1 = host1->getIPv6SubnetID(); SubnetID subnet2 = host2->getIPv6SubnetID(); @@@ -692,16 -1100,21 +724,21 @@@ GenericHostDataSourceTest::testGetByIPv ASSERT_TRUE(hdsptr_); // Let's create a couple of hosts... - HostPtr host1 = initializeHost6("2001:db8::1", id, prefix); - HostPtr host2 = initializeHost6("2001:db8::2", id, prefix); - HostPtr host3 = initializeHost6("2001:db8::3", id, prefix); - HostPtr host4 = initializeHost6("2001:db8::4", id, prefix); + HostPtr host1 = HostDataSourceUtils::initializeHost6("2001:db8::1", id, prefix); + HostPtr host2 = HostDataSourceUtils::initializeHost6("2001:db8::2", id, prefix); + HostPtr host3 = HostDataSourceUtils::initializeHost6("2001:db8::3", id, prefix); + HostPtr host4 = HostDataSourceUtils::initializeHost6("2001:db8::4", id, prefix); // ... and add them to the data source. - ASSERT_NO_THROW(hdsptr_->add(host1)); - ASSERT_NO_THROW(hdsptr_->add(host2)); - ASSERT_NO_THROW(hdsptr_->add(host3)); - ASSERT_NO_THROW(hdsptr_->add(host4)); + bool added = false; + ASSERT_NO_THROW(added = hdsptr_->add(host1)); + EXPECT_TRUE(added); + ASSERT_NO_THROW(added = hdsptr_->add(host2)); + EXPECT_TRUE(added); + ASSERT_NO_THROW(added = hdsptr_->add(host3)); + EXPECT_TRUE(added); + ASSERT_NO_THROW(added = hdsptr_->add(host4)); + EXPECT_TRUE(added); // Are we talking about addresses or prefixes? uint8_t len = prefix ? 64 : 128; @@@ -735,16 -1148,21 +772,21 @@@ GenericHostDataSourceTest::testGetBySub ASSERT_TRUE(hdsptr_); // Let's create a couple of hosts... - HostPtr host1 = initializeHost6("2001:db8:1::", Host::IDENT_DUID, true); - HostPtr host2 = initializeHost6("2001:db8:2::", Host::IDENT_DUID, true); - HostPtr host3 = initializeHost6("2001:db8:3::", Host::IDENT_DUID, true); - HostPtr host4 = initializeHost6("2001:db8:4::", Host::IDENT_DUID, true); + HostPtr host1 = HostDataSourceUtils::initializeHost6("2001:db8:1::", Host::IDENT_DUID, true); + HostPtr host2 = HostDataSourceUtils::initializeHost6("2001:db8:2::", Host::IDENT_DUID, true); + HostPtr host3 = HostDataSourceUtils::initializeHost6("2001:db8:3::", Host::IDENT_DUID, true); + HostPtr host4 = HostDataSourceUtils::initializeHost6("2001:db8:4::", Host::IDENT_DUID, true); // ... and add them to the data source. - ASSERT_NO_THROW(hdsptr_->add(host1)); - ASSERT_NO_THROW(hdsptr_->add(host2)); - ASSERT_NO_THROW(hdsptr_->add(host3)); - ASSERT_NO_THROW(hdsptr_->add(host4)); + bool added = false; + ASSERT_NO_THROW(added = hdsptr_->add(host1)); + EXPECT_TRUE(added); + ASSERT_NO_THROW(added = hdsptr_->add(host2)); + EXPECT_TRUE(added); + ASSERT_NO_THROW(added = hdsptr_->add(host3)); + EXPECT_TRUE(added); + ASSERT_NO_THROW(added = hdsptr_->add(host4)); + EXPECT_TRUE(added); // And then try to retrieve them back. ConstHostPtr from_hds1 = hdsptr_->get6(host1->getIPv6SubnetID(), IOAddress("2001:db8:1::")); @@@ -771,10 -1189,12 +813,12 @@@ GenericHostDataSourceTest::testAddDupli ASSERT_TRUE(hdsptr_); // Create a host reservations. - HostPtr host = initializeHost6("2001:db8::1", Host::IDENT_DUID, true); + HostPtr host = HostDataSourceUtils::initializeHost6("2001:db8::1", Host::IDENT_DUID, true); // Add this reservation once. - ASSERT_NO_THROW(hdsptr_->add(host)); + bool added = false; + ASSERT_NO_THROW(added = hdsptr_->add(host)); + EXPECT_TRUE(added); // Then try to add it again, it should throw an exception. ASSERT_THROW(hdsptr_->add(host), DuplicateEntry); @@@ -786,10 -1206,12 +830,12 @@@ GenericHostDataSourceTest::testAddDupli ASSERT_TRUE(hdsptr_); // Create a host reservations. - HostPtr host = initializeHost6("2001:db8::1", Host::IDENT_HWADDR, true); + HostPtr host = HostDataSourceUtils::initializeHost6("2001:db8::1", Host::IDENT_HWADDR, true); // Add this reservation once. - ASSERT_NO_THROW(hdsptr_->add(host)); + bool added = false; + ASSERT_NO_THROW(added = hdsptr_->add(host)); + EXPECT_TRUE(added); // Then try to add it again, it should throw an exception. ASSERT_THROW(hdsptr_->add(host), DuplicateEntry); @@@ -801,10 -1223,12 +847,12 @@@ GenericHostDataSourceTest::testAddDupli ASSERT_TRUE(hdsptr_); // Create a host reservations. - HostPtr host = initializeHost4("192.0.2.1", Host::IDENT_DUID); + HostPtr host = HostDataSourceUtils::initializeHost4("192.0.2.1", Host::IDENT_DUID); // Add this reservation once. - ASSERT_NO_THROW(hdsptr_->add(host)); + bool added = false; + ASSERT_NO_THROW(added = hdsptr_->add(host)); + EXPECT_TRUE(added); // Then try to add it again, it should throw an exception. ASSERT_THROW(hdsptr_->add(host), DuplicateEntry); @@@ -1484,10 -1869,11 +1563,11 @@@ GenericHostDataSourceTest::testMultiple // Create another host with zero IPv4 address. Adding this host to the // database should be successful because zero addresses are not counted // in the unique index. - HostPtr host2 = initializeHost4("0.0.0.0", Host::IDENT_HWADDR); + HostPtr host2 = HostDataSourceUtils::initializeHost4("0.0.0.0", Host::IDENT_HWADDR); host2->setIPv4SubnetID(1); host2->setIPv6SubnetID(0); - ASSERT_NO_THROW(hdsptr_->add(host2)); + ASSERT_NO_THROW(added = hdsptr_->add(host2)); + EXPECT_TRUE(added); } void