Add unit test for discoverResource
authorcoderhyme <jhyo.kim@samsung.com>
Tue, 23 Jun 2015 08:14:06 +0000 (17:14 +0900)
committerUze Choi <uzchoi@samsung.com>
Wed, 24 Jun 2015 08:25:26 +0000 (08:25 +0000)
Change-Id: I69a11e7f130d681bce41e4ff32cb1f0a67994fb5
Signed-off-by: coderhyme <jhyo.kim@samsung.com>
Reviewed-on: https://gerrit.iotivity.org/gerrit/1397
Tested-by: jenkins-iotivity <jenkins-iotivity@opendaylight.org>
Reviewed-by: Uze Choi <uzchoi@samsung.com>
service/basis/common/primitiveResource/unittests/PrimitiveResourceTest.cpp

index 87a7d78..1c9f17b 100644 (file)
 #include <HippoMocks/hippomocks.h>
 
 #include <internal/PrimitiveResourceImpl.h>
+#include <internal/AssertUtils.h>
 
 #include <OCResource.h>
-
-#include <internal/AssertUtils.h>
+#include <OCPlatform.h>
 
 using namespace testing;
 using namespace OIC::Service;
@@ -175,3 +175,44 @@ TEST_F(PrimitiveResourceTest, ResponseStatementHasSameValuesWithOCRepresentation
         );
 }
 
+
+class DiscoverResourceTest: public Test
+{
+public:
+    MockRepository mocks;
+
+    typedef OCStackResult (*FindResource)(const std::string&, const std::string&,
+            OCConnectivityType, OC::FindCallback);
+
+    static void discovered(std::shared_ptr< PrimitiveResource >)
+    {
+    }
+
+};
+
+
+
+TEST_F(DiscoverResourceTest, CallbackIsInvokedWhenResourceIsDiscovered)
+{
+    mocks.ExpectCallFuncOverload(static_cast<FindResource>(OC::OCPlatform::findResource)).Do(
+            [](const std::string&, const std::string&, OCConnectivityType,
+                    OC::FindCallback callback) -> OCStackResult
+            {
+                callback(nullptr);
+                return OC_STACK_OK;
+            }
+        ).Return(OC_STACK_OK);
+
+    mocks.ExpectCallFunc(discovered);
+
+    discoverResource("", "", OCConnectivityType{ }, discovered);
+}
+
+TEST_F(DiscoverResourceTest, ThrowsdWhenOCPlatformFindResourceReturnsNotOK)
+{
+    mocks.ExpectCallFuncOverload(static_cast<FindResource>(OC::OCPlatform::findResource)).
+            Return(OC_STACK_ERROR);
+
+    EXPECT_THROW(discoverResource("", "", OCConnectivityType{ }, discovered), PlatformException);
+}
+