From: Razvan Becheriu Date: Thu, 20 Aug 2020 20:28:47 +0000 (+0300) Subject: [#505] added missing test X-Git-Tag: Kea-1.8.0~11 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=442ec1542f80c9a4504f97cbced0c6062dd7e66b;p=thirdparty%2Fkea.git [#505] added missing test --- diff --git a/src/lib/dhcpsrv/tests/shared_network_parser_unittest.cc b/src/lib/dhcpsrv/tests/shared_network_parser_unittest.cc index b63017c6ba..ae0f7f351c 100644 --- a/src/lib/dhcpsrv/tests/shared_network_parser_unittest.cc +++ b/src/lib/dhcpsrv/tests/shared_network_parser_unittest.cc @@ -746,9 +746,11 @@ TEST_F(SharedNetwork6ParserTest, parseWithInvalidRenewRebind) { use_iface_id_ = true; std::string config = getWorkingConfig(); ElementPtr config_element = Element::fromJSON(config); - ConstElementPtr valid_element = config_element->get("renew-timer"); - ElementPtr invalid_element = boost::const_pointer_cast(valid_element); - invalid_element->setValue(200); + ConstElementPtr valid_element = config_element->get("rebind-timer"); + int64_t value = valid_element->intValue(); + valid_element = config_element->get("renew-timer"); + ElementPtr mutable_element = boost::const_pointer_cast(valid_element); + mutable_element->setValue(value + 1); // Parse configuration specified above. SharedNetwork6Parser parser; @@ -758,6 +760,29 @@ TEST_F(SharedNetwork6ParserTest, parseWithInvalidRenewRebind) { ASSERT_FALSE(network); } +// This test verifies that shared network parser for IPv6 works properly +// when renew and rebind timers are equal. +TEST_F(SharedNetwork6ParserTest, parseValidWithEqualRenewRebind) { + IfaceMgrTestConfig ifmgr(true); + + // Use the configuration with interface-id instead of interface parameter. + use_iface_id_ = true; + std::string config = getWorkingConfig(); + ElementPtr config_element = Element::fromJSON(config); + ConstElementPtr valid_element = config_element->get("rebind-timer"); + int64_t value = valid_element->intValue(); + valid_element = config_element->get("renew-timer"); + ElementPtr mutable_element = boost::const_pointer_cast(valid_element); + mutable_element->setValue(value); + + // Parse configuration specified above. + SharedNetwork6Parser parser; + SharedNetwork6Ptr network; + + ASSERT_NO_THROW(network = parser.parse(config_element)); + ASSERT_TRUE(network); +} + // This test verifies that error is returned when trying to configure a // shared network with both interface and interface id. TEST_F(SharedNetwork6ParserTest, mutuallyExclusiveInterfaceId) {