Browse Source

[5113] Added an emptyInterfaceConfig unit test (for DHCPv4 and DHCPv6)

Francis Dupont 8 years ago
parent
commit
ef6d28a4b7

+ 15 - 0
src/bin/dhcp4/tests/config_parser_unittest.cc

@@ -614,6 +614,21 @@ TEST_F(Dhcp4ParserTest, bogusCommand) {
     EXPECT_THROW(parseDHCP4("{\"bogus\": 5}"), Dhcp4ParseError);
     EXPECT_THROW(parseDHCP4("{\"bogus\": 5}"), Dhcp4ParseError);
 }
 }
 
 
+/// The goal of this test is to verify empty interface-config is accepted.
+TEST_F(Dhcp4ParserTest, emptyInterfaceConfig) {
+
+    ConstElementPtr json;
+    EXPECT_NO_THROW(json = parseDHCP4("{ \"rebind-timer\": 2000, "
+                                      "\"renew-timer\": 1000, "
+                                      "\"valid-lifetime\": 4000 }"));
+
+    ConstElementPtr status;
+    EXPECT_NO_THROW(status = configureDhcp4Server(*srv_, json));
+
+    // returned value should be 0 (success)
+    checkResult(status, 0);
+}
+
 /// The goal of this test is to verify if wrongly defined subnet will
 /// The goal of this test is to verify if wrongly defined subnet will
 /// be rejected. Properly defined subnet must include at least one
 /// be rejected. Properly defined subnet must include at least one
 /// pool definition.
 /// pool definition.

+ 16 - 0
src/bin/dhcp6/tests/config_parser_unittest.cc

@@ -751,6 +751,22 @@ TEST_F(Dhcp6ParserTest, bogusCommand) {
     EXPECT_THROW(parseDHCP6("{\"bogus\": 5}"), Dhcp6ParseError);
     EXPECT_THROW(parseDHCP6("{\"bogus\": 5}"), Dhcp6ParseError);
 }
 }
 
 
+/// The goal of this test is to verify empty interface-config is accepted.
+TEST_F(Dhcp6ParserTest, emptyInterfaceConfig) {
+
+    ConstElementPtr json;
+    EXPECT_NO_THROW(json = parseDHCP6("{ \"preferred-lifetime\": 3000,"
+                                      "\"rebind-timer\": 2000, "
+                                      "\"renew-timer\": 1000, "
+                                      "\"valid-lifetime\": 4000 }"));
+
+    ConstElementPtr status;
+    EXPECT_NO_THROW(status = configureDhcp6Server(srv_, json));
+
+    // returned value should be 0 (success)
+    checkResult(status, 0);
+}
+
 /// The goal of this test is to verify if configuration without any
 /// The goal of this test is to verify if configuration without any
 /// subnets defined can be accepted.
 /// subnets defined can be accepted.
 TEST_F(Dhcp6ParserTest, emptySubnet) {
 TEST_F(Dhcp6ParserTest, emptySubnet) {