Browse Source

[4206b] Added unit tests for malfromed client id in getLabel.

Marcin Siodelski 9 years ago
parent
commit
cea271d0ee
2 changed files with 24 additions and 0 deletions
  1. 13 0
      src/lib/dhcp/tests/pkt4_unittest.cc
  2. 11 0
      src/lib/dhcp/tests/pkt6_unittest.cc

+ 13 - 0
src/lib/dhcp/tests/pkt4_unittest.cc

@@ -1024,6 +1024,19 @@ TEST_F(Pkt4Test, getLabel) {
 
 }
 
+// Test that empty client identifier option doesn't cause an exception from
+// Pkt4::getLabel.
+TEST_F(Pkt4Test, getLabelEmptyClientId) {
+    Pkt4 pkt(DHCPOFFER, 1234);
+
+    // Create empty client identifier option.
+    OptionPtr empty_opt(new Option(Option::V4, DHO_DHCP_CLIENT_IDENTIFIER));
+    pkt.addOption(empty_opt);
+
+    EXPECT_EQ("[hwtype=1 ], cid=[no info], tid=0x4d2"
+              " (malformed client-id)", pkt.getLabel());
+}
+
 // Tests that the variant of makeLabel which doesn't include transaction
 // id produces expected output.
 TEST_F(Pkt4Test, makeLabelWithoutTransactionId) {

+ 11 - 0
src/lib/dhcp/tests/pkt6_unittest.cc

@@ -1530,4 +1530,15 @@ TEST_F(Pkt6Test, getLabel) {
 
 }
 
+// Test that empty client identifier option doesn't cause an exception from
+// Pkt6::getLabel.
+TEST_F(Pkt6Test, getLabelEmptyClientId) {
+    // Create a packet.
+    Pkt6 pkt(DHCPV6_SOLICIT, 0x2312);
+
+    // Add empty client idenitifier option.
+    pkt.addOption(OptionPtr(new Option(Option::V6, D6O_CLIENTID)));
+    EXPECT_EQ("duid=[no info], tid=0x2312", pkt.getLabel());
+}
+
 }