Merge "Enable GATT server indication for Tizen Speaker" into tizen
[platform/upstream/iotivity.git] / resource / unittests / OCResourceTest.cpp
index 2a3c142..fc4b40b 100644 (file)
@@ -25,6 +25,8 @@
 #include <string>
 #include <map>
 
+static char gLongHostAddress[] = "111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111:5000";
+
 namespace OCResourceTest
 {
     using namespace OC;
@@ -65,17 +67,78 @@ namespace OCResourceTest
         return ret;
     }
 
-     //Get Test
+    //ConstructResourceObject Test
+    TEST(ConstructResourceTest, ConstructResourceObjectWithValidHost)
+    {
+        EXPECT_NO_THROW(ConstructResourceObject("coap://192.168.1.2:5000", "/resource"));
+    }
+
+    TEST(ConstructResourceTest, ConstructResourceObjectWithValidHost2)
+    {
+        EXPECT_NO_THROW(ConstructResourceObject("coap://[ffff::ffff]:5000", "/resource"));
+    }
+
+    TEST(ConstructResourceTest, ConstructResourceObjectWithValidHost3)
+    {
+        EXPECT_NO_THROW(ConstructResourceObject("coap://[ffff::ffff%25eth0]:5000", "/resource"));
+    }
+
     TEST(ConstructResourceTest, ConstructResourceObject)
     {
         EXPECT_ANY_THROW(ConstructResourceObject(std::string(""), std::string("")));
     }
 
+    TEST(ConstructResourceTest, ConstructResourceObjectWithoutCoapScheme)
+    {
+        EXPECT_ANY_THROW(ConstructResourceObject("//192.168.1.2:5000", "/resource"));
+    }
+
     TEST(ConstructResourceTest, ConstructResourceObjectWithoutPortNumber)
     {
         EXPECT_ANY_THROW(ConstructResourceObject("coap://192.168.1.2", "/resource"));
     }
 
+    TEST(ConstructResourceTest, ConstructResourceObjectWithoutPortNumber2)
+    {
+        EXPECT_ANY_THROW(ConstructResourceObject("coap://192.168.1.2:", "/resource"));
+    }
+
+    TEST(ConstructResourceTest, ConstructResourceObjectWithLongHostAddress)
+    {
+        EXPECT_ANY_THROW(ConstructResourceObject(gLongHostAddress, "/resource"));
+    }
+
+    TEST(ConstructResourceTest, ConstructResourceObjectInvalidHost)
+    {
+        EXPECT_ANY_THROW(ConstructResourceObject("192.168.1.2:5000", "/resource"));
+    }
+
+    TEST(ConstructResourceTest, ConstructResourceObjectInvalidHost2)
+    {
+        EXPECT_ANY_THROW(ConstructResourceObject("coap://:5000", "/resource"));
+    }
+
+    TEST(ConstructResourceTest, ConstructResourceObjectInvalidHost3)
+    {
+        EXPECT_ANY_THROW(ConstructResourceObject("coap://[ffff:::ffff]:5000", "/resource"));
+    }
+
+    TEST(ConstructResourceTest, ConstructResourceObjectInvalidHost4)
+    {
+        EXPECT_ANY_THROW(ConstructResourceObject("coap://[ffff::ffff%eth0]:5000", "/resource"));
+    }
+
+    TEST(ConstructResourceTest, ConstructResourceObjectInvalidUri)
+    {
+        EXPECT_ANY_THROW(ConstructResourceObject("coap://192.168.1.2:5000", "/"));
+    }
+
+    TEST(ConstructResourceTest, ConstructResourceObjectInvalidUri2)
+    {
+        EXPECT_ANY_THROW(ConstructResourceObject("coap://192.168.1.2:5000", "resource"));
+    }
+
+    //Get Test
     TEST(ResourceGetTest, DISABLED_ResourceGetForValidUri)
     {
         OCResource::Ptr resource = ConstructResourceObject("coap://192.168.1.2:5000", "/resource");
@@ -442,6 +505,13 @@ namespace OCResourceTest
         EXPECT_TRUE(resource->host() == "coap://192.168.1.2:5000");
     }
 
+    TEST(HostTest, Host2)
+    {
+        OCResource::Ptr resource = ConstructResourceObject("coap://[ffff::ffff%25eth0]:5000", "/resource");
+        EXPECT_TRUE(resource != NULL);
+        EXPECT_TRUE(resource->host() == "coap://[ffff::ffff%25eth0]:5000");
+    }
+
     //Uri Test
     TEST(UriTest, Uri)
     {