Adding unit test cases for direct pairing
[platform/upstream/iotivity.git] / resource / csdk / security / provisioning / unittest / secureresourceprovider.cpp
1 /* *****************************************************************
2  *
3  * Copyright 2015 Samsung Electronics All Rights Reserved.
4  *
5  *
6  *
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  *
11  *     http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  *
19  * *****************************************************************/
20 #include "gtest/gtest.h"
21 #include "secureresourceprovider.h"
22
23 static OicSecAcl_t acl;
24 static OCProvisionDev_t pDev1;
25 static OCProvisionDev_t pDev2;
26 static OicSecCredType_t credType = SYMMETRIC_PAIR_WISE_KEY;
27 static OCProvisionDev_t selectedDeviceInfo;
28 static OicSecPconf_t pconf;
29
30 static void provisioningCB (void* UNUSED1, int UNUSED2, OCProvisionResult_t *UNUSED3, bool UNUSED4)
31 {
32     //dummy callback
33     (void) UNUSED1;
34     (void) UNUSED2;
35     (void) UNUSED3;
36     (void) UNUSED4;
37 }
38
39 TEST(SRPProvisionACLTest, NullDeviceInfo)
40 {
41     EXPECT_EQ(OC_STACK_INVALID_PARAM, SRPProvisionACL(NULL, NULL, &acl, &provisioningCB));
42 }
43
44 TEST(SRPProvisionACLTest, NullCallback)
45 {
46     EXPECT_EQ(OC_STACK_INVALID_CALLBACK, SRPProvisionACL(NULL, &pDev1, &acl, NULL));
47 }
48
49 TEST(SRPProvisionACLTest, NullACL)
50 {
51     EXPECT_EQ(OC_STACK_INVALID_PARAM, SRPProvisionACL(NULL, &pDev1, NULL, &provisioningCB));
52 }
53
54 TEST(SRPProvisionCredentialsTest, NullDevice1)
55 {
56     EXPECT_EQ(OC_STACK_INVALID_PARAM, SRPProvisionCredentials(NULL, credType,
57                                                               OWNER_PSK_LENGTH_128, NULL,
58                                                               &pDev2, &provisioningCB));
59 }
60
61 TEST(SRPProvisionCredentialsTest, NullCallback)
62 {
63     EXPECT_EQ(OC_STACK_INVALID_CALLBACK, SRPProvisionCredentials(NULL, credType,
64                                                                  OWNER_PSK_LENGTH_128,
65                                                                  &pDev1, &pDev2, NULL));
66 }
67
68 TEST(SRPProvisionCredentialsTest, InvalidKeySize)
69 {
70     EXPECT_EQ(OC_STACK_INVALID_PARAM, SRPProvisionCredentials(NULL, credType,
71                                                                 0, &pDev1, &pDev2,
72                                                                 &provisioningCB));
73 }
74
75 TEST(SRPUnlinkDevicesTest, NullDevice1)
76 {
77     OCProvisionDev_t dev2;
78     EXPECT_EQ(OC_STACK_INVALID_PARAM, SRPUnlinkDevices(NULL, NULL, &dev2, provisioningCB));
79 }
80
81 TEST(SRPUnlinkDevicesTest, NullDevice2)
82 {
83     OCProvisionDev_t dev1;
84     EXPECT_EQ(OC_STACK_INVALID_PARAM, SRPUnlinkDevices(NULL, &dev1, NULL, provisioningCB));
85 }
86
87 TEST(SRPUnlinkDevicesTest, NullCallback)
88 {
89     OCProvisionDev_t dev1;
90     OCProvisionDev_t dev2;
91     EXPECT_EQ(OC_STACK_INVALID_PARAM, SRPUnlinkDevices(NULL, &dev1, &dev2, NULL));
92 }
93
94 TEST(SRPRemoveDeviceTest, NullTargetDevice)
95 {
96     unsigned short waitTime = 10 ;
97     EXPECT_EQ(OC_STACK_INVALID_PARAM, SRPRemoveDevice(NULL, waitTime, NULL, provisioningCB));
98 }
99
100 TEST(SRPRemoveDeviceTest, NullResultCallback)
101 {
102     unsigned short waitTime = 10;
103     OCProvisionDev_t dev1;
104     EXPECT_EQ(OC_STACK_INVALID_PARAM, SRPRemoveDevice(NULL, waitTime, &dev1, NULL));
105 }
106
107 TEST(SRPRemoveDeviceTest, ZeroWaitTime)
108 {
109     OCProvisionDev_t dev1;
110     EXPECT_EQ(OC_STACK_INVALID_PARAM, SRPRemoveDevice(NULL, 0, &dev1, NULL));
111 }
112
113 TEST(SRPProvisionDirectPairingTest, NullselectedDeviceInfo)
114 {
115     EXPECT_EQ(OC_STACK_INVALID_PARAM, SRPProvisionDirectPairing(NULL, NULL, &pconf, &provisioningCB));
116 }
117
118 TEST(SRPProvisionDirectPairingTest, Nullpconf)
119 {
120     EXPECT_EQ(OC_STACK_INVALID_PARAM, SRPProvisionDirectPairing(NULL, &selectedDeviceInfo, NULL, &provisioningCB));
121 }
122
123 TEST(SRPProvisionDirectPairingTest, Nullcallback)
124 {
125     EXPECT_EQ(OC_STACK_INVALID_CALLBACK, SRPProvisionDirectPairing(NULL, &selectedDeviceInfo, &pconf, NULL));
126 }