Add unittests for ConstructResourceTest for invalid uri value
authorRavi Nanjundappa <nravi.n@samsung.com>
Tue, 11 Aug 2015 05:59:01 +0000 (11:29 +0530)
committerErich Keane <erich.keane@intel.com>
Tue, 11 Aug 2015 15:31:16 +0000 (15:31 +0000)
Added a test case for ConstructResourceTest to simulate the scenario
of Resource creation with uri having just "/" as its value.

Change-Id: Ifdc128fc505a862ff4dedcbeff60896c25e1d029
Signed-off-by: Ravi Nanjundappa <nravi.n@samsung.com>
Reviewed-on: https://gerrit.iotivity.org/gerrit/2157
Tested-by: jenkins-iotivity <jenkins-iotivity@opendaylight.org>
Reviewed-by: Erich Keane <erich.keane@intel.com>
resource/src/OCResource.cpp
resource/unittests/OCResourceTest.cpp

index a06d1fa..1350a40 100644 (file)
@@ -81,6 +81,12 @@ OCResource::OCResource(std::weak_ptr<IClientWrapper> clientWrapper,
                 interfaces.empty(), m_clientWrapper.expired(), false, false);
     }
 
+    if (uri.length() == 1 && uri[0] == '/')
+    {
+        throw ResourceInitException(m_uri.empty(), resourceTypes.empty(),
+                interfaces.empty(), m_clientWrapper.expired(), false, false);
+    }
+
     // construct the devAddr from the pieces we have
     m_devAddr.adapter = static_cast<OCTransportAdapter>(connectivityType >> CT_ADAPTER_SHIFT);
     m_devAddr.flags = static_cast<OCTransportFlags>(connectivityType & CT_MASK_FLAGS);
index dda67ac..ca09937 100644 (file)
@@ -86,6 +86,11 @@ namespace OCResourceTest
         EXPECT_ANY_THROW(ConstructResourceObject("coap://:5000", "/resource"));
     }
 
+    TEST(ConstructResourceTest, ConstructResourceObjectInvalidUri)
+    {
+        EXPECT_ANY_THROW(ConstructResourceObject("coap://192.168.1.2:5000", "/"));
+    }
+
     TEST(ResourceGetTest, DISABLED_ResourceGetForValidUri)
     {
         OCResource::Ptr resource = ConstructResourceObject("coap://192.168.1.2:5000", "/resource");