Added UTC to cover uncovered APIs and Corrected build issue in credentialgenerator.h
authorsaurabh.s9 <saurabh.s9@samsung.com>
Tue, 24 May 2016 12:17:38 +0000 (17:47 +0530)
committerRandeep Singh <randeep.s@samsung.com>
Thu, 23 Jun 2016 08:16:38 +0000 (08:16 +0000)
This patch is dependent upon https://gerrit.iotivity.org/gerrit/#/c/8813/
Change-Id: I49a9de85e04c47f0d9ebbfab99248cf58a998248
Signed-off-by: saurabh.s9 <saurabh.s9@samsung.com>
Reviewed-on: https://gerrit.iotivity.org/gerrit/8305
Tested-by: jenkins-iotivity <jenkins-iotivity@opendaylight.org>
Reviewed-by: Ashwini Kumar <k.ashwini@samsung.com>
Reviewed-by: Randeep Singh <randeep.s@samsung.com>
resource/csdk/security/provisioning/include/internal/credentialgenerator.h
resource/csdk/security/provisioning/unittest/SConscript
resource/csdk/security/provisioning/unittest/credentialgeneratortest.cpp [new file with mode: 0644]
resource/csdk/security/provisioning/unittest/ocprovisioningmanager.cpp
resource/csdk/security/unittest/credentialresource.cpp

index 99fb37d..b87dd56 100644 (file)
 #include "ocstack.h"
 #include "securevirtualresourcetypes.h"
 
+#ifdef __cplusplus
+extern "C" {
+#endif // __cplusplus
+
 /**
  * Function to generate credentials according to the type.
  *
index 17ecefc..735f12c 100644 (file)
@@ -81,7 +81,8 @@ if not env.get('RELEASE'):
 unittest = sptest_env.Program('unittest', ['pmutilitytest.cpp',
                                            'secureresourceprovider.cpp',
                                            'provisioningdatabasemanager.cpp',
-                                           'ocprovisioningmanager.cpp','otmunittest.cpp' ])
+                                           'ocprovisioningmanager.cpp', 'otmunittest.cpp', 
+                                           'credentialgeneratortest.cpp' ])
 
 sample_server1 = sptest_env.Program('sample_server1', ['sampleserver1.cpp'])
 sample_server2 = sptest_env.Program('sample_server2', ['sampleserver2.cpp'])
diff --git a/resource/csdk/security/provisioning/unittest/credentialgeneratortest.cpp b/resource/csdk/security/provisioning/unittest/credentialgeneratortest.cpp
new file mode 100644 (file)
index 0000000..52a034b
--- /dev/null
@@ -0,0 +1,159 @@
+/* *****************************************************************
+ *
+ * Copyright 2015 Samsung Electronics All Rights Reserved.
+ *
+ *
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * *****************************************************************/
+#include "gtest/gtest.h"
+#include "credentialgenerator.h"
+#include "oic_malloc.h"
+
+
+TEST(PMGeneratePairWiseCredentialsTest, InvalidProvisioningtoolDevID)
+{
+    OicUuid_t *firstDevID = (OicUuid_t*)OICMalloc(sizeof(OicUuid_t));
+    if(firstDevID)
+    {
+        firstDevID->id[0] = 1;
+    }
+    OicUuid_t *SecondDevID = (OicUuid_t*)OICMalloc(sizeof(OicUuid_t));
+    if(SecondDevID)
+    {
+        SecondDevID->id[0] = 2;
+    }
+    OicSecCred_t *cred1 = NULL;
+    OicSecCred_t *cred2 = NULL;
+    size_t keySize = OWNER_PSK_LENGTH_128;
+    EXPECT_EQ(OC_STACK_INVALID_PARAM, PMGeneratePairWiseCredentials(NO_SECURITY_MODE,
+             keySize, NULL, firstDevID, SecondDevID, &cred1, &cred2));
+    OICFree(firstDevID);
+    OICFree(SecondDevID);
+}
+
+TEST(PMGeneratePairWiseCredentialsTest, InvalidFirstDevID)
+{
+    OicUuid_t *SecondDevID = (OicUuid_t*)OICMalloc(sizeof(OicUuid_t));
+    if(SecondDevID)
+    {
+        SecondDevID->id[0] = 2;
+    }
+    OicUuid_t *provisioningDevID = (OicUuid_t*)OICMalloc(sizeof(OicUuid_t));
+    if(provisioningDevID)
+    {
+        provisioningDevID->id[0] = 1;
+    }
+    OicSecCred_t *cred1 = NULL;
+    OicSecCred_t *cred2 = NULL;
+    size_t keySize = OWNER_PSK_LENGTH_128;
+    EXPECT_EQ(OC_STACK_INVALID_PARAM, PMGeneratePairWiseCredentials(NO_SECURITY_MODE,
+              keySize, provisioningDevID, NULL, SecondDevID, &cred1, &cred2));
+    OICFree(SecondDevID);
+    OICFree(provisioningDevID);
+}
+
+TEST(PMGeneratePairWiseCredentialsTest, InvalidSecondDevID)
+{
+    OicUuid_t *firstDevID = (OicUuid_t*)OICMalloc(sizeof(OicUuid_t));
+    if(firstDevID)
+    {
+        firstDevID->id[0] = 1;
+    }
+    OicUuid_t *provisioningDevID = (OicUuid_t*)OICMalloc(sizeof(OicUuid_t));
+    if(provisioningDevID)
+    {
+        provisioningDevID->id[0] = 2;
+    }
+    OicSecCred_t *cred1 = NULL;
+    OicSecCred_t *cred2 = NULL;
+    size_t keySize = OWNER_PSK_LENGTH_128;
+    EXPECT_EQ(OC_STACK_INVALID_PARAM, PMGeneratePairWiseCredentials(NO_SECURITY_MODE, keySize,
+              provisioningDevID, firstDevID, NULL, &cred1, &cred2));
+    OICFree(firstDevID);
+    OICFree(provisioningDevID);
+}
+
+TEST(PMGeneratePairWiseCredentialsTest, InvalidCred)
+{
+    OicUuid_t *firstDevID = (OicUuid_t*)OICMalloc(sizeof(OicUuid_t));
+    if(firstDevID)
+    {
+        firstDevID->id[0] = 1;
+    }
+    OicUuid_t *SecondDevID = (OicUuid_t*)OICMalloc(sizeof(OicUuid_t));
+    if(SecondDevID)
+    {
+        SecondDevID->id[0] = 2;
+    }
+    OicUuid_t *provisioningDevID = (OicUuid_t*)OICMalloc(sizeof(OicUuid_t));
+    if(provisioningDevID)
+    {
+        provisioningDevID->id[0] = 3;
+    }
+    size_t keySize = OWNER_PSK_LENGTH_128;
+    EXPECT_EQ(OC_STACK_INVALID_PARAM, PMGeneratePairWiseCredentials(NO_SECURITY_MODE, keySize,
+              provisioningDevID, firstDevID, SecondDevID, NULL, NULL));
+    OICFree(firstDevID);
+    OICFree(SecondDevID);
+    OICFree(provisioningDevID);
+}
+
+#ifdef __WITH_X509__
+
+TEST(PMGenerateCertificateCredentialsTest, InvalidProvisioningtoolDevID)
+{
+    OicUuid_t *DevID = (OicUuid_t*)OICMalloc(sizeof(OicUuid_t));
+    if(DevID)
+    {
+        DevID->id[0] = 1;
+    }
+    OicSecCred_t *cred = NULL;
+    EXPECT_EQ(OC_STACK_INVALID_PARAM, PMGenerateCertificateCredentials(NULL, DevID, &cred));
+    OICFree(DevID);
+}
+
+TEST(PMGenerateCertificateCredentialsTest, InvalidDevID)
+{
+    OicUuid_t *provisioningDevID = (OicUuid_t*)OICMalloc(sizeof(OicUuid_t));
+    if(provisioningDevID)
+    {
+        provisioningDevID->id[0] = 1;
+    }
+    OicSecCred_t *cred = NULL;
+    EXPECT_EQ(OC_STACK_INVALID_PARAM, PMGenerateCertificateCredentials(provisioningDevID,
+              NULL, &cred));
+    OICFree(provisioningDevID);
+}
+
+TEST(PMGenerateCertificateCredentialsTest, InvalidCred)
+{
+    OicUuid_t *provisioningDevID = (OicUuid_t*)OICMalloc(sizeof(OicUuid_t));
+    if(provisioningDevID)
+    {
+        provisioningDevID->id[0] = 1;
+    }
+    OicUuid_t *DevID = (OicUuid_t*)OICMalloc(sizeof(OicUuid_t));
+    if(DevID)
+    {
+        DevID->id[0] = 1;
+    }
+    EXPECT_EQ(OC_STACK_INVALID_PARAM, PMGenerateCertificateCredentials(provisioningDevID, DevID,
+    NULL));
+    OICFree(provisioningDevID);
+    OICFree(DevID);
+}
+
+#endif // __WITH_X509__
+
index b10129a..ca91b31 100644 (file)
@@ -64,6 +64,18 @@ static void provisioningCB (void* UNUSED1, int UNUSED2, OCProvisionResult_t *UNU
     (void) UNUSED4;
 }
 
+static OCStackResult OTMLoadSecretCallback(OTMContext_t* otmCtx)
+{
+    //dummy callback
+    (void) otmCtx;
+    return OC_STACK_OK;
+}
+
+TEST(OCInitPMTest, NullPath)
+{
+    EXPECT_EQ(OC_STACK_OK, OCInitPM(NULL));
+}
+
 TEST(OCProvisionPairwiseDevicesTest, NullDevice1)
 {
     pDev1.doxm = &defaultDoxm1;
@@ -174,3 +186,42 @@ TEST(OCGetLinkedStatusTest, NULLDeviceID)
     size_t noOfDevices = 0;
     EXPECT_EQ(OC_STACK_INVALID_PARAM, OCGetLinkedStatus(NULL, &list, &noOfDevices));
 }
+
+TEST(OCDeleteUuidListTest, NullUuidList)
+{
+    OCDeleteUuidList(NULL);
+    EXPECT_EQ(1, 1);
+}
+
+TEST(OCDeleteACLListTest, NullACLList)
+{
+    OCDeleteACLList(NULL);
+    EXPECT_EQ(1, 1);
+}
+
+TEST(OCDeletePdAclListTest, NullPdACLList)
+{
+    OCDeletePdAclList(NULL);
+    EXPECT_EQ(1, 1);
+}
+
+TEST(OCDeleteDiscoveredDevicesTest, NullProvisionDevList)
+{
+    OCDeleteDiscoveredDevices(NULL);
+    EXPECT_EQ(1, 1);
+}
+
+TEST(OCSetOwnerTransferCallbackDataTest, NULLCallback)
+{
+    OicSecOxm_t ownershipTransferMethod = OIC_JUST_WORKS;
+    EXPECT_EQ(OC_STACK_INVALID_CALLBACK, OCSetOwnerTransferCallbackData(ownershipTransferMethod,
+    NULL));
+}
+
+TEST(OCSetOwnerTransferCallbackDataTest, InvalidOXMType)
+{
+    OicSecOxm_t ownershipTransferMethod = OIC_OXM_COUNT;
+    OTMCallbackData_t stOTMCallbackData = { &OTMLoadSecretCallback, NULL, NULL, NULL};
+    EXPECT_EQ(OC_STACK_INVALID_PARAM, OCSetOwnerTransferCallbackData(ownershipTransferMethod,
+    &stOTMCallbackData));
+}
index 530d342..13fce86 100644 (file)
@@ -112,7 +112,7 @@ static void printCred(const OicSecCred_t * cred)
            OIC_LOG_V(INFO, TAG, "cred->publicData.data = %s", credTmp1->publicData.data);
         }
 #endif /* __WITH_X509__ */
-       OIC_LOG_V(INFO, TAG, "cred->rownerID = %s", credTmp1->rownerID.id);
+    OIC_LOG_V(INFO, TAG, "cred->rownerID = %s", credTmp1->rownerID.id);
     }
 }
 
@@ -432,3 +432,19 @@ TEST(CredResourceTest, GetDtlsX509Credentials)
 }
 
 #endif
+#if defined(__WITH_DTLS__)
+TEST(CredGetDtlsPskCredentialsTest, NullResult)
+{
+    EXPECT_EQ(-1, GetDtlsPskCredentials(CA_DTLS_PSK_KEY, NULL, 0, NULL, 0));
+}
+
+TEST(CredAddTmpPskWithPINTest, NullSubject)
+{
+    EXPECT_EQ(OC_STACK_INVALID_PARAM, AddTmpPskWithPIN(NULL, SYMMETRIC_PAIR_WISE_KEY,
+              NULL, 0, NULL, NULL));
+}
+#endif
+TEST(CredCBORPayloadToCredTest, NullPayload)
+{
+    EXPECT_EQ(OC_STACK_INVALID_PARAM, CBORPayloadToCred(NULL, 0, NULL));
+}