From: Tomek Mrugalski Date: Fri, 27 Apr 2018 13:24:37 +0000 (+0100) Subject: [5535] Minor changes after review: X-Git-Tag: trac5549_base~1^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d0af07334b42fb633589f28cff8bca7df754d32c;p=thirdparty%2Fkea.git [5535] Minor changes after review: - improved tests for selectSubnet - improved hadAddresses - reinstantiated missing unit-test description --- diff --git a/src/bin/dhcp4/tests/config_parser_unittest.cc b/src/bin/dhcp4/tests/config_parser_unittest.cc index 1e175c598c..e1e291e815 100644 --- a/src/bin/dhcp4/tests/config_parser_unittest.cc +++ b/src/bin/dhcp4/tests/config_parser_unittest.cc @@ -4109,7 +4109,7 @@ TEST_F(Dhcp4ParserTest, subnetRelayInfoList) { " \"rebind-timer\": 2, " " \"valid-lifetime\": 4," " \"relay\": { " - " \"ip-addresses\": [ \"192.0.2.123\", \"192.0.2.124\" ]" + " \"ip-addresses\": [ \"192.0.3.123\", \"192.0.3.124\" ]" " }," " \"subnet\": \"192.0.2.0/24\" } ]," "\"valid-lifetime\": 4000 }"; @@ -4123,13 +4123,16 @@ TEST_F(Dhcp4ParserTest, subnetRelayInfoList) { // returned value should be 0 (configuration success) checkResult(status, 0); + SubnetSelector selector; + selector.giaddr_ = IOAddress("192.0.2.200"); + Subnet4Ptr subnet = CfgMgr::instance().getStagingCfg()-> - getCfgSubnets4()->selectSubnet(IOAddress("192.0.2.200")); + getCfgSubnets4()->selectSubnet(selector); ASSERT_TRUE(subnet); EXPECT_TRUE(subnet->hasRelays()); - EXPECT_TRUE(subnet->hasRelayAddress(IOAddress("192.0.2.123"))); - EXPECT_TRUE(subnet->hasRelayAddress(IOAddress("192.0.2.124"))); + EXPECT_TRUE(subnet->hasRelayAddress(IOAddress("192.0.3.123"))); + EXPECT_TRUE(subnet->hasRelayAddress(IOAddress("192.0.3.124"))); } diff --git a/src/bin/dhcp6/tests/config_parser_unittest.cc b/src/bin/dhcp6/tests/config_parser_unittest.cc index e3c03f1bef..a954d6adcb 100644 --- a/src/bin/dhcp6/tests/config_parser_unittest.cc +++ b/src/bin/dhcp6/tests/config_parser_unittest.cc @@ -4156,7 +4156,7 @@ TEST_F(Dhcp6ParserTest, subnetRelayInfoList) { "\"subnet6\": [ { " " \"pools\": [ { \"pool\": \"2001:db8:1::1 - 2001:db8:1::ffff\" } ]," " \"relay\": { " - " \"ip-addresses\": [ \"2001:db8:1::abcd\", \"2001:db8:1::abce\" ]" + " \"ip-addresses\": [ \"2001:db9::abcd\", \"2001:db9::abce\" ]" " }," " \"subnet\": \"2001:db8:1::/64\" } ]," "\"preferred-lifetime\": 3000, " @@ -4173,12 +4173,12 @@ TEST_F(Dhcp6ParserTest, subnetRelayInfoList) { checkResult(status, 0); Subnet6Ptr subnet = CfgMgr::instance().getStagingCfg()->getCfgSubnets6()-> - selectSubnet(IOAddress("2001:db8:1::1"), classify_); + selectSubnet(IOAddress("2001:db9::abcd"), classify_, true); ASSERT_TRUE(subnet); EXPECT_TRUE(subnet->hasRelays()); - EXPECT_TRUE(subnet->hasRelayAddress(IOAddress("2001:db8:1::abcd"))); - EXPECT_TRUE(subnet->hasRelayAddress(IOAddress("2001:db8:1::abce"))); + EXPECT_TRUE(subnet->hasRelayAddress(IOAddress("2001:db9::abcd"))); + EXPECT_TRUE(subnet->hasRelayAddress(IOAddress("2001:db9::abce"))); } // Goal of this test is to verify that multiple subnets can be configured diff --git a/src/lib/dhcpsrv/network.cc b/src/lib/dhcpsrv/network.cc index 7493b046d6..fbd7d35539 100644 --- a/src/lib/dhcpsrv/network.cc +++ b/src/lib/dhcpsrv/network.cc @@ -28,7 +28,7 @@ Network::RelayInfo::addAddress(const asiolink::IOAddress& addr) { bool Network::RelayInfo::hasAddresses() const { - return (addresses_.size() > 0); + return (!addresses_.empty()); } bool diff --git a/src/lib/dhcpsrv/tests/shared_network_parser_unittest.cc b/src/lib/dhcpsrv/tests/shared_network_parser_unittest.cc index 7fbe2da39f..4842fbd37d 100644 --- a/src/lib/dhcpsrv/tests/shared_network_parser_unittest.cc +++ b/src/lib/dhcpsrv/tests/shared_network_parser_unittest.cc @@ -244,6 +244,8 @@ TEST_F(SharedNetwork4ParserTest, missingName) { ASSERT_THROW(network = parser.parse(config_element), DhcpConfigError); } +// This test verifies that it's possible to specify client-class +// and match-client-id on shared-network level. TEST_F(SharedNetwork4ParserTest, clientClassMatchClientId) { std::string config = getWorkingConfig(); ElementPtr config_element = Element::fromJSON(config);