Browse Source

[2414] Test for Dhcpv6Srv.createStatusCode() implemented

Tomek Mrugalski 12 years ago
parent
commit
b8b87c941f
1 changed files with 17 additions and 2 deletions
  1. 17 2
      src/bin/dhcp6/tests/dhcp6_srv_unittest.cc

+ 17 - 2
src/bin/dhcp6/tests/dhcp6_srv_unittest.cc

@@ -40,7 +40,7 @@ namespace {
 class NakedDhcpv6Srv: public Dhcpv6Srv {
 class NakedDhcpv6Srv: public Dhcpv6Srv {
     // "naked" Interface Manager, exposes internal fields
     // "naked" Interface Manager, exposes internal fields
 public:
 public:
-    NakedDhcpv6Srv():Dhcpv6Srv(DHCP6_SERVER_PORT + 10000) { }
+    NakedDhcpv6Srv(uint16_t port):Dhcpv6Srv(port) { }
 
 
     boost::shared_ptr<Pkt6>
     boost::shared_ptr<Pkt6>
     processSolicit(boost::shared_ptr<Pkt6>& request) {
     processSolicit(boost::shared_ptr<Pkt6>& request) {
@@ -50,6 +50,8 @@ public:
     processRequest(boost::shared_ptr<Pkt6>& request) {
     processRequest(boost::shared_ptr<Pkt6>& request) {
         return Dhcpv6Srv::processRequest(request);
         return Dhcpv6Srv::processRequest(request);
     }
     }
+
+    using Dhcpv6Srv::createStatusCode;
 };
 };
 
 
 class Dhcpv6SrvTest : public ::testing::Test {
 class Dhcpv6SrvTest : public ::testing::Test {
@@ -153,7 +155,7 @@ TEST_F(Dhcpv6SrvTest, DUID) {
 
 
 TEST_F(Dhcpv6SrvTest, Solicit_basic) {
 TEST_F(Dhcpv6SrvTest, Solicit_basic) {
     boost::scoped_ptr<NakedDhcpv6Srv> srv;
     boost::scoped_ptr<NakedDhcpv6Srv> srv;
-    ASSERT_NO_THROW( srv.reset(new NakedDhcpv6Srv()) );
+    ASSERT_NO_THROW( srv.reset(new NakedDhcpv6Srv(0)) );
 
 
     // a dummy content for client-id
     // a dummy content for client-id
     OptionBuffer clntDuid(32);
     OptionBuffer clntDuid(32);
@@ -269,4 +271,17 @@ TEST_F(Dhcpv6SrvTest, serverReceivedPacketName) {
     }
     }
 }
 }
 
 
+TEST_F(Dhcpv6SrvTest, StatusCode) {
+    boost::scoped_ptr<NakedDhcpv6Srv> srv;
+    ASSERT_NO_THROW( srv.reset(new NakedDhcpv6Srv(0)) );
+
+    // a dummy content for client-id
+    uint8_t expected[] = {0x0, 0x3, 0x41, 0x42, 0x43, 0x44, 0x45};
+    OptionBuffer exp(expected, expected + sizeof(expected));
+
+    OptionPtr status = srv->createStatusCode(3, "ABCDE");
+
+    EXPECT_TRUE(status->getData() == exp);
+}
+
 }   // end of anonymous namespace
 }   // end of anonymous namespace