Revert back cbor related patches.
[platform/upstream/iotivity.git] / resource / csdk / security / unittest / svcresourcetest.cpp
index 8d4553f..5c3f75e 100644 (file)
 //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
 
 #include "gtest/gtest.h"
+#include <pwd.h>
+#include <grp.h>
+#include <linux/limits.h>
+#include <sys/stat.h>
 #include "ocstack.h"
 #include "oic_malloc.h"
+#include "cJSON.h"
 #include "cainterface.h"
 #include "secureresourcemanager.h"
 #include "securevirtualresourcetypes.h"
 #include "srmresourcestrings.h"
 #include "svcresource.h"
 #include "srmtestcommon.h"
-#include "security_internals.h"
 
 using namespace std;
 
-#define NUM_SVC_IN_CBOR_DB (2)
+#ifdef __cplusplus
+extern "C" {
+#endif
+extern char * BinToSvcJSON(const OicSecSvc_t * svc);
+extern OicSecSvc_t * JSONToSvcBin(const char * jsonStr);
+extern void DeleteSVCList(OicSecSvc_t* svc);
+#ifdef __cplusplus
+}
+#endif
 
-TEST(SVCResourceTest, CBORConversionTests)
-{
-    OicSecSvc_t *svc1 = (OicSecSvc_t *) OICCalloc(1, sizeof(*svc1));
-    ASSERT_TRUE(NULL != svc1);
-    uint8_t svcdid[] = {0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35,
-                        0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35};
-    memcpy(svc1->svcdid.id, svcdid, sizeof(svcdid));
-    ASSERT_EQ(sizeof(svc1->svcdid.id), sizeof(svcdid));
+static const char* JSON_FILE_NAME = "oic_unittest.json";
 
-    svc1->svct = (OicSecSvcType_t) 1;
-    uint8_t owners[] = {0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39,
-                        0x39, 0x39, 0x39, 0x39, 0x39, 0x39, 0x39};
-    svc1->ownersLen = 1;
-    svc1->owners = (OicUuid_t *)OICCalloc(svc1->ownersLen, sizeof(*svc1->owners));
-    ASSERT_TRUE(NULL != svc1->owners);
-    memcpy(svc1->owners[0].id, owners, sizeof(owners));
-    ASSERT_EQ(sizeof(svc1->owners[0].id), sizeof(owners));
+#define NUM_SVC_IN_JSON_DB (2)
 
-    svc1->next = (OicSecSvc_t *) OICCalloc(1, sizeof(*svc1->next));
-    ASSERT_TRUE(svc1->next != NULL);
-    memcpy(svc1->next->svcdid.id, svcdid, sizeof(svcdid));
-    ASSERT_EQ(sizeof(svc1->next->svcdid.id), sizeof(svcdid));
-    svc1->next->svct = (OicSecSvcType_t) 1;
-    uint8_t owners1[] = {0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36,
-                        0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36};
-    svc1->next->ownersLen = 1;
-    svc1->next->owners = (OicUuid_t *)OICCalloc(svc1->next->ownersLen,
-                                                sizeof(*svc1->next->owners));
-    ASSERT_TRUE(NULL != svc1->next->owners);
-    memcpy(svc1->next->owners[0].id, owners1, sizeof(owners1));
-    svc1->next->next = NULL;
 
-    size_t size = 0;
-    uint8_t *psStorage = NULL;
-    EXPECT_EQ(OC_STACK_OK, SVCToCBORPayload(svc1, &psStorage, &size));
-    ASSERT_TRUE(NULL != psStorage);
+// JSON Marshalling Tests
+TEST(SVCResourceTest, JSONMarshallingTests)
+{
+    char *jsonStr1 = ReadFile(JSON_FILE_NAME);
+    if (jsonStr1)
+    {
+        OicSecSvc_t * svc = JSONToSvcBin(jsonStr1);
+        EXPECT_TRUE(NULL != svc);
 
-    OicSecSvc_t *svc = NULL;
-    EXPECT_EQ(OC_STACK_OK, CBORPayloadToSVC(psStorage, size, &svc));
-    ASSERT_TRUE(NULL != svc);
+        int cnt = 0;
+        OicSecSvc_t * tempSvc = svc;
+        while(tempSvc)
+        {
 
-    int cnt = 0;
-    OicSecSvc_t *tempSvc = svc;
-    while (tempSvc)
-    {
-        EXPECT_EQ(ACCESS_MGMT_SERVICE, tempSvc->svct);
-        cnt++;
-        tempSvc = tempSvc->next;
-    }
-    EXPECT_EQ(NUM_SVC_IN_CBOR_DB, cnt);
+            EXPECT_EQ(tempSvc->svct, ACCESS_MGMT_SERVICE);
+            cnt++;
+            tempSvc = tempSvc->next;
+        }
+        EXPECT_EQ(cnt, NUM_SVC_IN_JSON_DB);
+
+        char * jsonStr2 = BinToSvcJSON(svc);
+        EXPECT_TRUE(NULL != jsonStr2);
 
-    OICFree(psStorage);
-    DeleteSVCList(svc);
-    DeleteSVCList(svc1);
+        OICFree(jsonStr1);
+        OICFree(jsonStr2);
+        DeleteSVCList(svc);
+    }
 }
+