2bbe117c91bbf6d3c5b6dd37492151a9902a8349
[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
28 static void provisioningCB (void* UNUSED1, int UNUSED2, OCProvisionResult_t *UNUSED3, bool UNUSED4)
29 {
30     //dummy callback
31     (void) UNUSED1;
32     (void) UNUSED2;
33     (void) UNUSED3;
34     (void) UNUSED4;
35 }
36
37 TEST(SRPProvisionACLTest, NullDeviceInfo)
38 {
39     EXPECT_EQ(OC_STACK_INVALID_PARAM, SRPProvisionACL(NULL, NULL, &acl, &provisioningCB));
40 }
41
42 TEST(SRPProvisionACLTest, NullCallback)
43 {
44     EXPECT_EQ(OC_STACK_INVALID_CALLBACK, SRPProvisionACL(NULL, &pDev1, &acl, NULL));
45 }
46
47 TEST(SRPProvisionACLTest, NullACL)
48 {
49     EXPECT_EQ(OC_STACK_INVALID_PARAM, SRPProvisionACL(NULL, &pDev1, NULL, &provisioningCB));
50 }
51
52 TEST(SRPProvisionCredentialsTest, NullDevice1)
53 {
54     EXPECT_EQ(OC_STACK_INVALID_PARAM, SRPProvisionCredentials(NULL, credType,
55                                                               OWNER_PSK_LENGTH_128, NULL,
56                                                               &pDev2, &provisioningCB));
57 }
58
59 TEST(SRPProvisionCredentialsTest, NullCallback)
60 {
61     EXPECT_EQ(OC_STACK_INVALID_CALLBACK, SRPProvisionCredentials(NULL, credType,
62                                                                  OWNER_PSK_LENGTH_128,
63                                                                  &pDev1, &pDev2, NULL));
64 }
65
66 TEST(SRPProvisionCredentialsTest, InvalidKeySize)
67 {
68     EXPECT_EQ(OC_STACK_INVALID_PARAM, SRPProvisionCredentials(NULL, credType,
69                                                                 0, &pDev1, &pDev2,
70                                                                 &provisioningCB));
71 }
72
73 TEST(SRPUnlinkDevicesTest, NullDevice1)
74 {
75     OCProvisionDev_t dev2;
76     EXPECT_EQ(OC_STACK_INVALID_PARAM, SRPUnlinkDevices(NULL, NULL, &dev2, provisioningCB));
77 }
78
79 TEST(SRPUnlinkDevicesTest, NullDevice2)
80 {
81     OCProvisionDev_t dev1;
82     EXPECT_EQ(OC_STACK_INVALID_PARAM, SRPUnlinkDevices(NULL, &dev1, NULL, provisioningCB));
83 }
84
85 TEST(SRPUnlinkDevicesTest, NullCallback)
86 {
87     OCProvisionDev_t dev1;
88     OCProvisionDev_t dev2;
89     EXPECT_EQ(OC_STACK_INVALID_PARAM, SRPUnlinkDevices(NULL, &dev1, &dev2, NULL));
90 }
91
92 TEST(SRPRemoveDeviceTest, NullTargetDevice)
93 {
94     unsigned short waitTime = 10 ;
95     EXPECT_EQ(OC_STACK_INVALID_PARAM, SRPRemoveDevice(NULL, waitTime, NULL, provisioningCB));
96 }
97
98 TEST(SRPRemoveDeviceTest, NullResultCallback)
99 {
100     unsigned short waitTime = 10;
101     OCProvisionDev_t dev1;
102     EXPECT_EQ(OC_STACK_INVALID_PARAM, SRPRemoveDevice(NULL, waitTime, &dev1, NULL));
103 }
104
105 TEST(SRPRemoveDeviceTest, ZeroWaitTime)
106 {
107     OCProvisionDev_t dev1;
108     EXPECT_EQ(OC_STACK_INVALID_PARAM, SRPRemoveDevice(NULL, 0, &dev1, NULL));
109 }