]> git.ipfire.org Git - thirdparty/kea.git/commitdiff
[738-kea4-crash-when-remote-network4-del-command-is-issued-with-subnets-action-delete...
authorFrancis Dupont <fdupont@isc.org>
Thu, 18 Jul 2019 11:27:26 +0000 (13:27 +0200)
committerFrancis Dupont <fdupont@isc.org>
Thu, 18 Jul 2019 11:27:40 +0000 (13:27 +0200)
src/hooks/dhcp/mysql_cb/tests/mysql_cb_dhcp4_unittest.cc
src/hooks/dhcp/mysql_cb/tests/mysql_cb_dhcp6_unittest.cc

index f562bf1a77981dce2111fea56696fbad688de970..51cca00f02f7d35d95f22bbb636f5bf1e19f4678 100644 (file)
@@ -2152,6 +2152,22 @@ TEST_F(MySqlConfigBackendDHCPv4Test, getSharedNetwork4WithOptionalUnspecified) {
     EXPECT_FALSE(returned_network->getAuthoritative().get());
 }
 
+// Test that deleteSharedNetworkSubnets4 with not ANY selector throw.
+TEST_F(MySqlConfigBackendDHCPv4Test, deleteSharedNetworkSubnets4) {
+    EXPECT_THROW(cbptr_->deleteSharedNetworkSubnets4(ServerSelector::UNASSIGNED(),
+                                                     test_networks_[1]->getName()),
+                 isc::InvalidOperation);
+    EXPECT_THROW(cbptr_->deleteSharedNetworkSubnets4(ServerSelector::ALL(),
+                                                     test_networks_[1]->getName()),
+                 isc::InvalidOperation);
+    EXPECT_THROW(cbptr_->deleteSharedNetworkSubnets4(ServerSelector::ONE("server1"),
+                                                     test_networks_[1]->getName()),
+                 isc::InvalidOperation);
+    EXPECT_THROW(cbptr_->deleteSharedNetworkSubnets4(ServerSelector::MULTIPLE({ "server1", "server2" }),
+                                                     test_networks_[1]->getName()),
+                 isc::InvalidOperation);
+}
+
 // Test that all shared networks can be fetched.
 TEST_F(MySqlConfigBackendDHCPv4Test, getAllSharedNetworks4) {
     // Insert test shared networks into the database. Note that the second shared
@@ -2231,20 +2247,6 @@ TEST_F(MySqlConfigBackendDHCPv4Test, getAllSharedNetworks4) {
     EXPECT_EQ(0, cbptr_->deleteAllSharedNetworks4(ServerSelector::ONE("server1")));
 
     // Delete first shared network with it subnets and verify it is gone.
-    // It requires ANY so verifies that all other choices throw.
-    EXPECT_THROW(cbptr_->deleteSharedNetworkSubnets4(ServerSelector::UNASSIGNED(),
-                                                     test_networks_[1]->getName()),
-                 isc::InvalidOperation);
-    EXPECT_THROW(cbptr_->deleteSharedNetworkSubnets4(ServerSelector::ALL(),
-                                                     test_networks_[1]->getName()),
-                 isc::InvalidOperation);
-    EXPECT_THROW(cbptr_->deleteSharedNetworkSubnets4(ServerSelector::ONE("server1"),
-                                                     test_networks_[1]->getName()),
-                 isc::InvalidOperation);
-    EXPECT_THROW(cbptr_->deleteSharedNetworkSubnets4(ServerSelector::MULTIPLE({ "server1", "server2" }),
-                                                     test_networks_[1]->getName()),
-                 isc::InvalidOperation);
-
     // Begin by its subnet.
     EXPECT_EQ(1, cbptr_->deleteSharedNetworkSubnets4(ServerSelector::ANY(),
                                                      test_networks_[1]->getName()));
index b5fdc39c007455c16f94eca5f4b4ffa4599eb16b..6575297a9e0ffcbd9556123764bce0f9f317e6d0 100644 (file)
@@ -2167,6 +2167,22 @@ TEST_F(MySqlConfigBackendDHCPv6Test, getSharedNetwork6WithOptionalUnspecified) {
     EXPECT_FALSE(returned_network->getRapidCommit().get());
 }
 
+// Test that deleteSharedNetworkSubnets6 with not ANY selector throw.
+TEST_F(MySqlConfigBackendDHCPv6Test, deleteSharedNetworkSubnets6) {
+    EXPECT_THROW(cbptr_->deleteSharedNetworkSubnets6(ServerSelector::UNASSIGNED(),
+                                                     test_networks_[1]->getName()),
+                 isc::InvalidOperation);
+    EXPECT_THROW(cbptr_->deleteSharedNetworkSubnets6(ServerSelector::ALL(),
+                                                     test_networks_[1]->getName()),
+                 isc::InvalidOperation);
+    EXPECT_THROW(cbptr_->deleteSharedNetworkSubnets6(ServerSelector::ONE("server1"),
+                                                     test_networks_[1]->getName()),
+                 isc::InvalidOperation);
+    EXPECT_THROW(cbptr_->deleteSharedNetworkSubnets6(ServerSelector::MULTIPLE({ "server1", "server2" }),
+                                                     test_networks_[1]->getName()),
+                 isc::InvalidOperation);
+}
+
 // Test that all shared networks can be fetched.
 TEST_F(MySqlConfigBackendDHCPv6Test, getAllSharedNetworks6) {
     // Insert test shared networks into the database. Note that the second shared
@@ -2246,20 +2262,6 @@ TEST_F(MySqlConfigBackendDHCPv6Test, getAllSharedNetworks6) {
     EXPECT_EQ(0, cbptr_->deleteAllSharedNetworks6(ServerSelector::ONE("server1")));
 
     // Delete first shared network with it subnets and verify it is gone.
-    // It requires ANY so verifies that all other choices throw.
-    EXPECT_THROW(cbptr_->deleteSharedNetworkSubnets6(ServerSelector::UNASSIGNED(),
-                                                     test_networks_[1]->getName()),
-                 isc::InvalidOperation);
-    EXPECT_THROW(cbptr_->deleteSharedNetworkSubnets6(ServerSelector::ALL(),
-                                                     test_networks_[1]->getName()),
-                 isc::InvalidOperation);
-    EXPECT_THROW(cbptr_->deleteSharedNetworkSubnets6(ServerSelector::ONE("server1"),
-                                                     test_networks_[1]->getName()),
-                 isc::InvalidOperation);
-    EXPECT_THROW(cbptr_->deleteSharedNetworkSubnets6(ServerSelector::MULTIPLE({ "server1", "server2" }),
-                                                     test_networks_[1]->getName()),
-                 isc::InvalidOperation);
-
     // Begin by its subnet.
     EXPECT_EQ(1, cbptr_->deleteSharedNetworkSubnets6(ServerSelector::ANY(),
                                                      test_networks_[1]->getName()));