From ea7d5aec13df764c23aedd7318c93f136ff01c43 Mon Sep 17 00:00:00 2001 From: Francis Dupont Date: Mon, 21 Oct 2019 17:14:21 +0200 Subject: [PATCH] [946-cb-support-for-new-d2-config] Added tests --- .../mysql_cb/tests/mysql_cb_dhcp4_unittest.cc | 52 +++++++++++++++++++ .../mysql_cb/tests/mysql_cb_dhcp6_unittest.cc | 52 +++++++++++++++++++ 2 files changed, 104 insertions(+) diff --git a/src/hooks/dhcp/mysql_cb/tests/mysql_cb_dhcp4_unittest.cc b/src/hooks/dhcp/mysql_cb/tests/mysql_cb_dhcp4_unittest.cc index 55d9e6a227..18869fb122 100644 --- a/src/hooks/dhcp/mysql_cb/tests/mysql_cb_dhcp4_unittest.cc +++ b/src/hooks/dhcp/mysql_cb/tests/mysql_cb_dhcp4_unittest.cc @@ -169,6 +169,7 @@ public: subnet->setCalculateTeeTimes(true); subnet->setT1Percent(0.345); subnet->setT2Percent(0.444); + subnet->setDdnsSendUpdates(false); Pool4Ptr pool1(new Pool4(IOAddress("192.0.2.10"), IOAddress("192.0.2.20"))); subnet->addPool(pool1); @@ -225,6 +226,12 @@ public: subnet->setT1(null_timer); subnet->setT2(null_timer); subnet->setValid(null_timer); + subnet->setDdnsSendUpdates(true); + subnet->setDdnsOverrideNoUpdate(true); + subnet->setDdnsOverrideClientUpdate(false); + subnet->setDdnsReplaceClientNameMode(D2ClientConfig::ReplaceClientNameMode::RCM_WHEN_PRESENT); + subnet->setDdnsGeneratedPrefix("myhost"); + subnet->setDdnsQualifyingSuffix("example.org"); subnet->getCfgOption()->add(test_options_[0]->option_, test_options_[0]->persistent_, @@ -263,6 +270,7 @@ public: shared_network->setSname("frog"); shared_network->setFilename("/dev/null"); shared_network->setAuthoritative(true); + shared_network->setDdnsSendUpdates(false); // Add several options to the shared network. shared_network->getCfgOption()->add(test_options_[2]->option_, @@ -291,6 +299,12 @@ public: shared_network->setT1(null_timer); shared_network->setT2(null_timer); shared_network->setValid(null_timer); + shared_network->setDdnsSendUpdates(true); + shared_network->setDdnsOverrideNoUpdate(true); + shared_network->setDdnsOverrideClientUpdate(false); + shared_network->setDdnsReplaceClientNameMode(D2ClientConfig::ReplaceClientNameMode::RCM_WHEN_PRESENT); + shared_network->setDdnsGeneratedPrefix("myhost"); + shared_network->setDdnsQualifyingSuffix("example.org"); shared_network->getCfgOption()->add(test_options_[0]->option_, test_options_[0]->persistent_, @@ -1334,6 +1348,25 @@ TEST_F(MySqlConfigBackendDHCPv4Test, getSubnet4WithOptionalUnspecified) { EXPECT_TRUE(returned_subnet->get4o6().getSubnet4o6().get().first.isV6Zero()); EXPECT_EQ(128, returned_subnet->get4o6().getSubnet4o6().get().second); + EXPECT_FALSE(returned_subnet->getDdnsSendUpdates().unspecified()); + EXPECT_TRUE(returned_subnet->getDdnsSendUpdates().get()); + + EXPECT_FALSE(returned_subnet->getDdnsOverrideNoUpdate().unspecified()); + EXPECT_TRUE(returned_subnet->getDdnsOverrideNoUpdate().get()); + + EXPECT_FALSE(returned_subnet->getDdnsOverrideClientUpdate().unspecified()); + EXPECT_FALSE(returned_subnet->getDdnsOverrideClientUpdate().get()); + + EXPECT_FALSE(returned_subnet->getDdnsReplaceClientNameMode().unspecified()); + EXPECT_EQ(D2ClientConfig::ReplaceClientNameMode::RCM_WHEN_PRESENT, + returned_subnet->getDdnsReplaceClientNameMode().get()); + + EXPECT_FALSE(returned_subnet->getDdnsGeneratedPrefix().unspecified()); + EXPECT_EQ("myhost", returned_subnet->getDdnsGeneratedPrefix().get()); + + EXPECT_FALSE(returned_subnet->getDdnsQualifyingSuffix().unspecified()); + EXPECT_EQ("example.org", returned_subnet->getDdnsQualifyingSuffix().get()); + // The easiest way to verify whether the returned subnet matches the inserted // subnet is to convert both to text. EXPECT_EQ(subnet->toElement()->str(), returned_subnet->toElement()->str()); @@ -2312,6 +2345,25 @@ TEST_F(MySqlConfigBackendDHCPv4Test, getSharedNetwork4WithOptionalUnspecified) { EXPECT_TRUE(returned_network->getAuthoritative().unspecified()); EXPECT_FALSE(returned_network->getAuthoritative().get()); + + EXPECT_FALSE(returned_network->getDdnsSendUpdates().unspecified()); + EXPECT_TRUE(returned_network->getDdnsSendUpdates().get()); + + EXPECT_FALSE(returned_network->getDdnsOverrideNoUpdate().unspecified()); + EXPECT_TRUE(returned_network->getDdnsOverrideNoUpdate().get()); + + EXPECT_FALSE(returned_network->getDdnsOverrideClientUpdate().unspecified()); + EXPECT_FALSE(returned_network->getDdnsOverrideClientUpdate().get()); + + EXPECT_FALSE(returned_network->getDdnsReplaceClientNameMode().unspecified()); + EXPECT_EQ(D2ClientConfig::ReplaceClientNameMode::RCM_WHEN_PRESENT, + returned_network->getDdnsReplaceClientNameMode().get()); + + EXPECT_FALSE(returned_network->getDdnsGeneratedPrefix().unspecified()); + EXPECT_EQ("myhost", returned_network->getDdnsGeneratedPrefix().get()); + + EXPECT_FALSE(returned_network->getDdnsQualifyingSuffix().unspecified()); + EXPECT_EQ("example.org", returned_network->getDdnsQualifyingSuffix().get()); } // Test that deleteSharedNetworkSubnets4 with not ANY selector throw. diff --git a/src/hooks/dhcp/mysql_cb/tests/mysql_cb_dhcp6_unittest.cc b/src/hooks/dhcp/mysql_cb/tests/mysql_cb_dhcp6_unittest.cc index b5a8e38358..c36e8eba3e 100644 --- a/src/hooks/dhcp/mysql_cb/tests/mysql_cb_dhcp6_unittest.cc +++ b/src/hooks/dhcp/mysql_cb/tests/mysql_cb_dhcp6_unittest.cc @@ -164,6 +164,7 @@ public: subnet->setCalculateTeeTimes(true); subnet->setT1Percent(0.345); subnet->setT2Percent(0.444); + subnet->setDdnsSendUpdates(false); Pool6Ptr pool1(new Pool6(Lease::TYPE_NA, IOAddress("2001:db8::10"), @@ -264,6 +265,12 @@ public: subnet->setT2(null_timer); subnet->setValid(null_timer); subnet->setPreferred(null_timer); + subnet->setDdnsSendUpdates(true); + subnet->setDdnsOverrideNoUpdate(true); + subnet->setDdnsOverrideClientUpdate(false); + subnet->setDdnsReplaceClientNameMode(D2ClientConfig::ReplaceClientNameMode::RCM_WHEN_PRESENT); + subnet->setDdnsGeneratedPrefix("myhost"); + subnet->setDdnsQualifyingSuffix("example.org"); subnet->getCfgOption()->add(test_options_[0]->option_, test_options_[0]->persistent_, @@ -307,6 +314,7 @@ public: shared_network->setCalculateTeeTimes(true); shared_network->setT1Percent(0.345); shared_network->setT2Percent(0.444); + shared_network->setDdnsSendUpdates(false); // Add several options to the shared network. shared_network->getCfgOption()->add(test_options_[2]->option_, @@ -337,6 +345,12 @@ public: shared_network->setT2(null_timer); shared_network->setValid(null_timer); shared_network->setPreferred(null_timer); + shared_network->setDdnsSendUpdates(true); + shared_network->setDdnsOverrideNoUpdate(true); + shared_network->setDdnsOverrideClientUpdate(false); + shared_network->setDdnsReplaceClientNameMode(D2ClientConfig::ReplaceClientNameMode::RCM_WHEN_PRESENT); + shared_network->setDdnsGeneratedPrefix("myhost"); + shared_network->setDdnsQualifyingSuffix("example.org"); shared_network->getCfgOption()->add(test_options_[0]->option_, test_options_[0]->persistent_, @@ -1361,6 +1375,25 @@ TEST_F(MySqlConfigBackendDHCPv6Test, getSubnet6WithOptionalUnspecified) { EXPECT_TRUE(returned_subnet->getRapidCommit().unspecified()); EXPECT_FALSE(returned_subnet->getRapidCommit().get()); + EXPECT_FALSE(returned_subnet->getDdnsSendUpdates().unspecified()); + EXPECT_TRUE(returned_subnet->getDdnsSendUpdates().get()); + + EXPECT_FALSE(returned_subnet->getDdnsOverrideNoUpdate().unspecified()); + EXPECT_TRUE(returned_subnet->getDdnsOverrideNoUpdate().get()); + + EXPECT_FALSE(returned_subnet->getDdnsOverrideClientUpdate().unspecified()); + EXPECT_FALSE(returned_subnet->getDdnsOverrideClientUpdate().get()); + + EXPECT_FALSE(returned_subnet->getDdnsReplaceClientNameMode().unspecified()); + EXPECT_EQ(D2ClientConfig::ReplaceClientNameMode::RCM_WHEN_PRESENT, + returned_subnet->getDdnsReplaceClientNameMode().get()); + + EXPECT_FALSE(returned_subnet->getDdnsGeneratedPrefix().unspecified()); + EXPECT_EQ("myhost", returned_subnet->getDdnsGeneratedPrefix().get()); + + EXPECT_FALSE(returned_subnet->getDdnsQualifyingSuffix().unspecified()); + EXPECT_EQ("example.org", returned_subnet->getDdnsQualifyingSuffix().get()); + // The easiest way to verify whether the returned subnet matches the inserted // subnet is to convert both to text. EXPECT_EQ(subnet->toElement()->str(), returned_subnet->toElement()->str()); @@ -2347,6 +2380,25 @@ TEST_F(MySqlConfigBackendDHCPv6Test, getSharedNetwork6WithOptionalUnspecified) { EXPECT_TRUE(returned_network->getRapidCommit().unspecified()); EXPECT_FALSE(returned_network->getRapidCommit().get()); + + EXPECT_FALSE(returned_network->getDdnsSendUpdates().unspecified()); + EXPECT_TRUE(returned_network->getDdnsSendUpdates().get()); + + EXPECT_FALSE(returned_network->getDdnsOverrideNoUpdate().unspecified()); + EXPECT_TRUE(returned_network->getDdnsOverrideNoUpdate().get()); + + EXPECT_FALSE(returned_network->getDdnsOverrideClientUpdate().unspecified()); + EXPECT_FALSE(returned_network->getDdnsOverrideClientUpdate().get()); + + EXPECT_FALSE(returned_network->getDdnsReplaceClientNameMode().unspecified()); + EXPECT_EQ(D2ClientConfig::ReplaceClientNameMode::RCM_WHEN_PRESENT, + returned_network->getDdnsReplaceClientNameMode().get()); + + EXPECT_FALSE(returned_network->getDdnsGeneratedPrefix().unspecified()); + EXPECT_EQ("myhost", returned_network->getDdnsGeneratedPrefix().get()); + + EXPECT_FALSE(returned_network->getDdnsQualifyingSuffix().unspecified()); + EXPECT_EQ("example.org", returned_network->getDdnsQualifyingSuffix().get()); } // Test that deleteSharedNetworkSubnets6 with not ANY selector throw. -- 2.47.2