From df3779aa30c5b105c7ab50799748b9770ea6cea7 Mon Sep 17 00:00:00 2001 From: sahil bansal Date: Sun, 13 Mar 2016 12:26:02 +0530 Subject: [PATCH] Adding unit test cases for direct pairing Change-Id: I5f140fcf7895b2e6b517b4588655a3be483c6bb1 Signed-off-by: sahil bansal Reviewed-on: https://gerrit.iotivity.org/gerrit/5791 Tested-by: jenkins-iotivity Reviewed-by: Randeep Singh --- .../unittest/secureresourceprovider.cpp | 17 ++++++++ resource/csdk/security/unittest/SConscript | 4 +- .../csdk/security/unittest/directpairingtest.cpp | 48 ++++++++++++++++++++++ resource/csdk/stack/test/stacktests.cpp | 24 +++++++++++ 4 files changed, 92 insertions(+), 1 deletion(-) create mode 100644 resource/csdk/security/unittest/directpairingtest.cpp diff --git a/resource/csdk/security/provisioning/unittest/secureresourceprovider.cpp b/resource/csdk/security/provisioning/unittest/secureresourceprovider.cpp index 2bbe117..25c0acc 100644 --- a/resource/csdk/security/provisioning/unittest/secureresourceprovider.cpp +++ b/resource/csdk/security/provisioning/unittest/secureresourceprovider.cpp @@ -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)); +} diff --git a/resource/csdk/security/unittest/SConscript b/resource/csdk/security/unittest/SConscript index be35bb3..17266d0 100644 --- a/resource/csdk/security/unittest/SConscript +++ b/resource/csdk/security/unittest/SConscript @@ -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 index 0000000..5c49a21 --- /dev/null +++ b/resource/csdk/security/unittest/directpairingtest.cpp @@ -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)); +} + diff --git a/resource/csdk/stack/test/stacktests.cpp b/resource/csdk/stack/test/stacktests.cpp index 0f966ee..3f65c36 100755 --- a/resource/csdk/stack/test/stacktests.cpp +++ b/resource/csdk/stack/test/stacktests.cpp @@ -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::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)); +} -- 2.7.4