Adding unit test cases for direct pairing
authorsahil bansal <sahil.bansal@samsung.com>
Sun, 13 Mar 2016 06:56:02 +0000 (12:26 +0530)
committerRandeep Singh <randeep.s@samsung.com>
Thu, 17 Mar 2016 06:34:47 +0000 (06:34 +0000)
Change-Id: I5f140fcf7895b2e6b517b4588655a3be483c6bb1
Signed-off-by: sahil bansal <sahil.bansal@samsung.com>
Reviewed-on: https://gerrit.iotivity.org/gerrit/5791
Tested-by: jenkins-iotivity <jenkins-iotivity@opendaylight.org>
Reviewed-by: Randeep Singh <randeep.s@samsung.com>
resource/csdk/security/provisioning/unittest/secureresourceprovider.cpp
resource/csdk/security/unittest/SConscript
resource/csdk/security/unittest/directpairingtest.cpp [new file with mode: 0644]
resource/csdk/stack/test/stacktests.cpp

index 2bbe117..25c0acc 100644 (file)
@@ -24,6 +24,8 @@ static OicSecAcl_t acl;
 static OCProvisionDev_t pDev1;
 static OCProvisionDev_t pDev2;
 static OicSecCredType_t credType = SYMMETRIC_PAIR_WISE_KEY;
+static OCProvisionDev_t selectedDeviceInfo;
+static OicSecPconf_t pconf;
 
 static void provisioningCB (void* UNUSED1, int UNUSED2, OCProvisionResult_t *UNUSED3, bool UNUSED4)
 {
@@ -107,3 +109,18 @@ TEST(SRPRemoveDeviceTest, ZeroWaitTime)
     OCProvisionDev_t dev1;
     EXPECT_EQ(OC_STACK_INVALID_PARAM, SRPRemoveDevice(NULL, 0, &dev1, NULL));
 }
+
+TEST(SRPProvisionDirectPairingTest, NullselectedDeviceInfo)
+{
+    EXPECT_EQ(OC_STACK_INVALID_PARAM, SRPProvisionDirectPairing(NULL, NULL, &pconf, &provisioningCB));
+}
+
+TEST(SRPProvisionDirectPairingTest, Nullpconf)
+{
+    EXPECT_EQ(OC_STACK_INVALID_PARAM, SRPProvisionDirectPairing(NULL, &selectedDeviceInfo, NULL, &provisioningCB));
+}
+
+TEST(SRPProvisionDirectPairingTest, Nullcallback)
+{
+    EXPECT_EQ(OC_STACK_INVALID_CALLBACK, SRPProvisionDirectPairing(NULL, &selectedDeviceInfo, &pconf, NULL));
+}
index be35bb3..17266d0 100644 (file)
@@ -44,6 +44,7 @@ srmtest_env.PrependUnique(CPPPATH = [
                '../../../oc_logger/include',
                '../../../../extlibs/gtest/gtest-1.7.0/include',
                '../../../../extlibs/cjson/',
+                '../provisioning/include',
 #              '../../../../extlibs/tinydtls/',
                '../include'
                ])
@@ -78,7 +79,8 @@ unittest = srmtest_env.Program('unittest', ['aclresourcetest.cpp',
                                             'iotvticalendartest.cpp',
                                             'base64tests.cpp',
                                             'svcresourcetest.cpp',
-                                            'srmtestcommon.cpp'])
+                                            'srmtestcommon.cpp',
+                                            'directpairingtest.cpp'])
 
 Alias("test", [unittest])
 
diff --git a/resource/csdk/security/unittest/directpairingtest.cpp b/resource/csdk/security/unittest/directpairingtest.cpp
new file mode 100644 (file)
index 0000000..5c49a21
--- /dev/null
@@ -0,0 +1,48 @@
+//******************************************************************
+//
+// Copyright 2016 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 "directpairing.h"
+
+using namespace std;
+
+#define TAG  "DIRECTPAIRING-UT"
+
+static OCDirectPairingDev_t peer;
+static OicSecPrm_t pmSel;
+static char pinNumber;
+
+static void ResultCB(OCDirectPairingDev_t *UNUSED1, OCStackResult UNUSED2)
+{
+    //dummy callback
+    (void) UNUSED1;
+    (void) UNUSED2;
+}
+
+TEST(DPDirectPairingTest, NullPeer)
+{
+    EXPECT_EQ(OC_STACK_INVALID_PARAM, DPDirectPairing(NULL, pmSel, &pinNumber, &ResultCB));
+}
+
+TEST(DPDirectPairingTest, NullPinNumber)
+{
+    EXPECT_EQ(OC_STACK_INVALID_PARAM, DPDirectPairing(&peer, pmSel, NULL, &ResultCB));
+}
+
index 0f966ee..3f65c36 100755 (executable)
@@ -61,6 +61,9 @@ char gDeviceUUID[] = "myDeviceUUID";
 char gManufacturerName[] = "myName";
 char gTooLongManufacturerName[] = "extremelylongmanufacturername";
 char gManufacturerUrl[] = "www.foooooooooooooooo.baaaaaaaaaaaaar";
+static OCPrm_t pmSel;
+static char pinNumber;
+static OCDPDev_t peer;
 
 std::chrono::seconds const SHORT_TEST_TIMEOUT = std::chrono::seconds(5);
 
@@ -82,6 +85,12 @@ extern "C"  OCStackApplicationResult asyncDoResourcesCallback(void* ctx,
     return OC_STACK_KEEP_TRANSACTION;
 }
 
+static void resultCallback(OCDPDev_t *UNUSED1, OCStackResult UNUSED2)
+{
+    (void) (UNUSED1);
+    (void) (UNUSED2);
+}
+
 //-----------------------------------------------------------------------------
 // Entity handler
 //-----------------------------------------------------------------------------
@@ -1632,3 +1641,18 @@ TEST(PODTests, OCCallbackData)
 {
     EXPECT_TRUE(std::is_pod<OCHeaderOption>::value);
 }
+
+TEST(OCDoDirectPairingTests, Nullpeer)
+{
+    EXPECT_EQ(OC_STACK_INVALID_PARAM,OCDoDirectPairing(NULL, pmSel, &pinNumber, &resultCallback));
+}
+
+TEST(OCDoDirectPairingTests, NullCallback)
+{
+    EXPECT_EQ(OC_STACK_INVALID_PARAM,OCDoDirectPairing(&peer, pmSel, &pinNumber, NULL));
+}
+
+TEST(OCDoDirectPairingTests, NullpinNumber)
+{
+    EXPECT_EQ(OC_STACK_INVALID_PARAM,OCDoDirectPairing(&peer, pmSel, NULL, &resultCallback));
+}