fix resource-container unit test
[platform/upstream/iotivity.git] / service / resource-container / unittests / ResourceContainerTestSimulator.h
index 4d2cf9f..5d6ccd0 100644 (file)
@@ -41,6 +41,8 @@ class ResourceContainerTestSimulator
         RCSResourceObject::Ptr server;
         RCSRemoteResourceObject::Ptr remoteResource;
 
+        static constexpr int DEFAULT_WAITTIME = 3000;
+
     private:
         std::mutex mutexForDiscovery;
 
@@ -60,19 +62,26 @@ class ResourceContainerTestSimulator
               RESOURCEURI("/a/TempHumSensor/Container"),
               RESOURCETYPE("resource.container"),
               RESOURCEINTERFACE("oic.if.baseline"),
-              ATTR_KEY("Temperature"),
+              ATTR_KEY("TestResourceContainer"),
               ATTR_VALUE(0)
         { }
 
         ~ResourceContainerTestSimulator()
         {
-            if (remoteResource != nullptr && remoteResource->isCaching())
+            try
             {
-                remoteResource->stopCaching();
+                if (remoteResource != nullptr && remoteResource->isCaching())
+                {
+                    remoteResource->stopCaching();
+                }
+                if (remoteResource != nullptr && remoteResource->isMonitoring())
+                {
+                    remoteResource->stopMonitoring();
+                }
             }
-            if (remoteResource != nullptr && remoteResource->isMonitoring())
+            catch (RCSException &e)
             {
-                remoteResource->stopMonitoring();
+                std::cout << "exception : " << e.what() << std::endl;
             }
         }
 
@@ -108,7 +117,7 @@ class ResourceContainerTestSimulator
         }
         void waitForDiscovery()
         {
-            std::chrono::milliseconds interval(100);
+            std::chrono::milliseconds interval(DEFAULT_WAITTIME);
             while (true)
             {
                 if (mutexForDiscovery.try_lock())
@@ -150,7 +159,7 @@ class ResourceContainerTestSimulator
                                               std::weak_ptr<ResourceContainerTestSimulator>(shared_from_this())));
                 mutexForDiscovery.lock();
             }
-            catch (std::exception &e)
+            catch (RCSInvalidParameterException &e)
             {
                 std::cout << "exception : " << e.what() << std::endl;
             }
@@ -173,7 +182,7 @@ class ResourceContainerTestSimulator
 
         void ChangeAttributeValue()
         {
-            std::chrono::milliseconds interval(100);
+            std::chrono::milliseconds interval(DEFAULT_WAITTIME);
             if (server != nullptr)
                 server->setAttribute(ATTR_KEY, ATTR_VALUE + 10);
             std::this_thread::sleep_for(interval);
@@ -181,7 +190,7 @@ class ResourceContainerTestSimulator
 
         void ChangeResourceState()
         {
-            std::chrono::milliseconds interval(400);
+            std::chrono::milliseconds interval(DEFAULT_WAITTIME);
             if (server != nullptr)
                 server = nullptr;
             std::this_thread::sleep_for(interval);