From: Marcin Siodelski Date: Fri, 2 Oct 2020 19:47:45 +0000 (+0200) Subject: [#1428] Extended host tests X-Git-Tag: Kea-1.9.1~127 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4ded4f9ad910984ccdfb9e8ee473266f6a5ed5cf;p=thirdparty%2Fkea.git [#1428] Extended host tests The tests getting host by subnet_id/address were now extended to also use the getAll4 and getAll6 variants. --- diff --git a/src/lib/dhcpsrv/testutils/generic_host_data_source_unittest.cc b/src/lib/dhcpsrv/testutils/generic_host_data_source_unittest.cc index 05012621e6..a5919e3056 100644 --- a/src/lib/dhcpsrv/testutils/generic_host_data_source_unittest.cc +++ b/src/lib/dhcpsrv/testutils/generic_host_data_source_unittest.cc @@ -1307,6 +1307,24 @@ GenericHostDataSourceTest::testGetByIPv4(const Host::IdentifierType& id) { HostDataSourceUtils::compareHosts(host3, from_hds3); HostDataSourceUtils::compareHosts(host4, from_hds4); + // We should get the same result calling getAll4(subnet_id, address) + auto coll_hds1 = hdsptr_->getAll4(host1->getIPv4SubnetID(), IOAddress("192.0.2.1")); + auto coll_hds2 = hdsptr_->getAll4(host2->getIPv4SubnetID(), IOAddress("192.0.2.2")); + auto coll_hds3 = hdsptr_->getAll4(host3->getIPv4SubnetID(), IOAddress("192.0.2.3")); + auto coll_hds4 = hdsptr_->getAll4(host4->getIPv4SubnetID(), IOAddress("192.0.2.4")); + + // Make sure exactly one host was returned for each address. + ASSERT_EQ(1, coll_hds1.size()); + ASSERT_EQ(1, coll_hds2.size()); + ASSERT_EQ(1, coll_hds3.size()); + ASSERT_EQ(1, coll_hds4.size()); + + // Validate the hosts returned. + HostDataSourceUtils::compareHosts(host1, *coll_hds1.begin()); + HostDataSourceUtils::compareHosts(host2, *coll_hds2.begin()); + HostDataSourceUtils::compareHosts(host3, *coll_hds3.begin()); + HostDataSourceUtils::compareHosts(host4, *coll_hds4.begin()); + // Ok, finally let's check that getting by a different address // will not work. EXPECT_FALSE(hdsptr_->get4(subnet1, IOAddress("192.0.1.5"))); @@ -1776,6 +1794,24 @@ GenericHostDataSourceTest::testGetBySubnetIPv6() { HostDataSourceUtils::compareHosts(host2, from_hds2); HostDataSourceUtils::compareHosts(host3, from_hds3); HostDataSourceUtils::compareHosts(host4, from_hds4); + + // We should get the same result calling getAll6(subnet_id, address) + auto coll_hds1 = hdsptr_->getAll6(host1->getIPv6SubnetID(), IOAddress("2001:db8:1::")); + auto coll_hds2 = hdsptr_->getAll6(host2->getIPv6SubnetID(), IOAddress("2001:db8:2::")); + auto coll_hds3 = hdsptr_->getAll6(host3->getIPv6SubnetID(), IOAddress("2001:db8:3::")); + auto coll_hds4 = hdsptr_->getAll6(host4->getIPv6SubnetID(), IOAddress("2001:db8:4::")); + + // Make sure exactly one host was returned for each address. + ASSERT_EQ(1, coll_hds1.size()); + ASSERT_EQ(1, coll_hds2.size()); + ASSERT_EQ(1, coll_hds3.size()); + ASSERT_EQ(1, coll_hds4.size()); + + // Validate the hosts returned. + HostDataSourceUtils::compareHosts(host1, *coll_hds1.begin()); + HostDataSourceUtils::compareHosts(host2, *coll_hds2.begin()); + HostDataSourceUtils::compareHosts(host3, *coll_hds3.begin()); + HostDataSourceUtils::compareHosts(host4, *coll_hds4.begin()); } void