Update Snapshot(2018-02-28)
[platform/upstream/iotivity.git] / resource / unittests / OCRepresentationTest.cpp
index eb4ac87..5c5a69f 100644 (file)
@@ -20,6 +20,7 @@
 
 #include <gtest/gtest.h>
 #include <OCApi.h>
+#include "oic_string.h"
 #include <string>
 #include <limits>
 #include <boost/lexical_cast.hpp>
@@ -1444,4 +1445,28 @@ namespace OCRepresentationTest
             }
         }
     }
+
+    TEST(OCRepresentationHostTest, ValidHost)
+    {
+        OCDevAddr addr = {OC_DEFAULT_ADAPTER, OC_IP_USE_V6};
+        addr.port = 5000;
+        OICStrcpy(addr.addr, sizeof(addr.addr), "fe80::1%eth0");
+
+        OCRepresentation rep;
+        rep.setDevAddr(addr);
+        std::string host = rep.getHost();
+        std::string expected = "coap://[fe80::1%25eth0]:5000";
+        EXPECT_EQ(host, expected);
+    }
+
+    TEST(OCRepresentationHostTest, InvalidHost)
+    {
+        OCDevAddr addr = {OC_DEFAULT_ADAPTER, OC_IP_USE_V6};
+        addr.port = 5000;
+        OICStrcpy(addr.addr, sizeof(addr.addr), "fe80::1%%");
+
+        OCRepresentation rep;
+        EXPECT_ANY_THROW(rep.setDevAddr(addr));
+    }
+
 }