]> git.ipfire.org Git - thirdparty/kea.git/commitdiff
[732-set-with-incorrect-tag-new-exception] Added a new unit test (for v4 and v6)...
authorFrancis Dupont <fdupont@isc.org>
Sat, 20 Jul 2019 15:35:47 +0000 (17:35 +0200)
committerFrancis Dupont <fdupont@isc.org>
Thu, 25 Jul 2019 14:51:27 +0000 (16:51 +0200)
src/hooks/dhcp/mysql_cb/tests/mysql_cb_dhcp4_unittest.cc
src/hooks/dhcp/mysql_cb/tests/mysql_cb_dhcp6_unittest.cc

index 81b089389fb3692035b15c89178e015975268afe..cf104ceb70b40bc8f9211a0ba2336c4636eda503 100644 (file)
@@ -1058,6 +1058,25 @@ TEST_F(MySqlConfigBackendDHCPv4Test, getModifiedGlobalParameters4) {
     EXPECT_EQ(1, parameters.size());
 }
 
+// Test that the NullKeyError message is correctly updated.
+TEST_F(MySqlConfigBackendDHCPv4Test, nullKeyError) {
+    // Create a global parameter (it should work with any object type).
+    StampedValuePtr global_parameter = StampedValue::create("global", "value");
+
+    // Try to insert it and associate with non-existing server.
+    std::string msg;
+    try {
+        cbptr_->createUpdateGlobalParameter4(ServerSelector::ONE("server1"),
+                                             global_parameter);
+        msg = "got no exception";
+    } catch (const NullKeyError& ex) {
+        msg = ex.what();
+    } catch (const std::exception&) {
+        msg = "got another exception";
+    }
+    EXPECT_EQ("server 'server1' does not exist", msg);
+}
+
 // Test that ceateUpdateSubnet4 throws appropriate exceptions for various
 // server selectors.
 TEST_F(MySqlConfigBackendDHCPv4Test, createUpdateSubnet4Selectors) {
index 3ae977a78de6d6d09d0a3c1dca12055bc3243b89..80975f3b863b687dd377ab5aa5c768429c3e300d 100644 (file)
@@ -1093,6 +1093,25 @@ TEST_F(MySqlConfigBackendDHCPv6Test, getModifiedGlobalParameters6) {
     EXPECT_EQ(1, parameters.size());
 }
 
+// Test that the NullKeyError message is correctly updated.
+TEST_F(MySqlConfigBackendDHCPv6Test, nullKeyError) {
+    // Create a global parameter (it should work with any object type).
+    StampedValuePtr global_parameter = StampedValue::create("global", "value");
+
+    // Try to insert it and associate with non-existing server.
+    std::string msg;
+    try {
+        cbptr_->createUpdateGlobalParameter6(ServerSelector::ONE("server1"),
+                                             global_parameter);
+        msg = "got no exception";
+    } catch (const NullKeyError& ex) {
+        msg = ex.what();
+    } catch (const std::exception&) {
+        msg = "got another exception";
+    }
+    EXPECT_EQ("server 'server1' does not exist", msg);
+}
+
 // Test that ceateUpdateSubnet6 throws appropriate exceptions for various
 // server selectors.
 TEST_F(MySqlConfigBackendDHCPv6Test, createUpdateSubnet6Selectors) {