1 /* *****************************************************************
3 * Copyright 2015 Samsung Electronics All Rights Reserved.
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
11 * http://www.apache.org/licenses/LICENSE-2.0
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.
19 * *****************************************************************/
20 #include "gtest/gtest.h"
21 #include "provisioningdatabasemanager.h"
23 const char ID_1[] = "1111111111111111";
24 const char ID_2[] = "2111111111111111";
25 const char ID_3[] = "3111111111111111";
26 const char ID_4[] = "4111111111111111";
27 const char ID_5[] = "5111111111111111";
28 const char ID_6[] = "6111111111111111";
30 TEST(CallPDMAPIbeforeInit, BeforeInit)
32 EXPECT_EQ(OC_STACK_PDM_IS_NOT_INITIALIZED, PDMAddDevice(NULL));
33 EXPECT_EQ(true, PDMIsDuplicateDevice(NULL)); // return type is not OCStackResult
34 EXPECT_EQ(OC_STACK_PDM_IS_NOT_INITIALIZED, PDMLinkDevices(NULL, NULL));
35 EXPECT_EQ(OC_STACK_PDM_IS_NOT_INITIALIZED, PDMUnlinkDevices(NULL, NULL));
36 EXPECT_EQ(OC_STACK_PDM_IS_NOT_INITIALIZED, PDMDeleteDevice(NULL));
37 EXPECT_EQ(OC_STACK_PDM_IS_NOT_INITIALIZED, PDMGetOwnedDevices(NULL, NULL));
38 EXPECT_EQ(OC_STACK_PDM_IS_NOT_INITIALIZED, PDMGetLinkedDevices(NULL, NULL, NULL));
39 EXPECT_EQ(OC_STACK_PDM_IS_NOT_INITIALIZED, PDMSetLinkStale(NULL, NULL));
40 EXPECT_EQ(OC_STACK_PDM_IS_NOT_INITIALIZED, PDMGetToBeUnlinkedDevices(NULL, NULL));
43 TEST(PDMInitTest, PDMInitWithNULL)
45 EXPECT_EQ(OC_STACK_OK, PDMInit(NULL));
48 TEST(PDMAddDeviceTest, NullUUID)
50 EXPECT_EQ(OC_STACK_INVALID_PARAM, PDMAddDevice(NULL));
53 TEST(PDMIsDuplicateDeviceTest, NullUUID)
55 EXPECT_TRUE(PDMIsDuplicateDevice(NULL));
59 TEST(PDMIsDuplicateDeviceTest, ValidUUID)
61 OicUuid_t uid1 = {{0,}};
62 memcpy(&uid1.id, ID_1, sizeof(uid1.id));
64 OicUuid_t uid2 = {{0,}};
65 memcpy(&uid2.id, ID_2, sizeof(uid2.id));
67 OicUuid_t uid3 = {{0,}};
68 memcpy(&uid3.id, ID_3, sizeof(uid3.id));
70 EXPECT_TRUE(PDMIsDuplicateDevice(&uid1));
71 EXPECT_FALSE(PDMIsDuplicateDevice(&uid3));
74 TEST(PDMAddDeviceTest, ValidUUID)
76 OicUuid_t uid = {{0,}};
78 uint8_t id[UUID_LENGTH] = {0,};
79 for (size_t i = 0 ; i < sizeof(id) ; i++)
81 int tem = rand() % 25;
86 memcpy(&uid.id, &id, UUID_LENGTH);
88 EXPECT_EQ(OC_STACK_OK, PDMAddDevice(&uid));
89 PDMDeleteDevice(&uid);
92 TEST(PDMLinkDevicesTest, NULLDevice1)
94 OicUuid_t uid = {{0,}};
95 memcpy(&uid.id, ID_2, sizeof(uid.id));
96 EXPECT_EQ(OC_STACK_INVALID_PARAM, PDMLinkDevices(NULL, &uid));
99 TEST(PDMLinkDevicesTest, NULLDevice2)
101 OicUuid_t uid = {{0,}};
102 memcpy(&uid.id, ID_3, sizeof(uid.id));
103 EXPECT_EQ(OC_STACK_INVALID_PARAM, PDMLinkDevices(&uid, NULL));
106 TEST(PDMLinkDevicesTest, ValidCase)
108 OicUuid_t uid1 = {{0,}};
109 memcpy(&uid1.id, ID_4, sizeof(uid1.id));
111 OicUuid_t uid2 = {{0,}};
112 memcpy(&uid2.id, ID_5, sizeof(uid2.id));
114 EXPECT_EQ(OC_STACK_OK, PDMLinkDevices(&uid1, &uid2));
117 TEST(PDMUnlinkDevicesTest, NULLDevice1)
119 OicUuid_t uid = {{0,}};
120 memcpy(&uid.id, ID_3, sizeof(uid.id));
121 EXPECT_EQ(OC_STACK_INVALID_PARAM, PDMUnlinkDevices(NULL, &uid));
124 TEST(PDMUnlinkDevicesTest, NULLDevice2)
126 OicUuid_t uid = {{0,}};
127 memcpy(&uid.id, ID_3, sizeof(uid.id));
128 EXPECT_EQ(OC_STACK_INVALID_PARAM, PDMUnlinkDevices(&uid, NULL));
131 TEST(PDMUnlinkDevices, ValidCase)
133 OicUuid_t uid1 = {{0,}};
134 memcpy(&uid1.id, ID_4, sizeof(uid1.id));
135 OicUuid_t uid2 = {{0,}};
136 memcpy(&uid2.id, ID_5, sizeof(uid2.id));
137 EXPECT_EQ(OC_STACK_OK, PDMUnlinkDevices(&uid1, &uid2));
141 TEST (PDMDeleteDevice, NULLDeviceID)
143 EXPECT_EQ(OC_STACK_INVALID_PARAM, PDMDeleteDevice(NULL));
146 TEST (PDMDeleteDevice, ValidDeviceID)
149 OicUuid_t uid = {{0,}};
150 uint8_t id[UUID_LENGTH] = {0,};
151 for (size_t i = 0 ; i < sizeof(id) ; i++)
153 int tem = rand() % 25;
158 memcpy(&uid.id, &id, sizeof(uid.id));
159 EXPECT_EQ(OC_STACK_OK, PDMDeleteDevice(&uid));
162 TEST(PDMGetOwnedDevices, ValidCase)
164 OCUuidList_t *list = NULL;
165 size_t noOfDevcies = 0;
166 EXPECT_EQ(OC_STACK_OK, PDMGetOwnedDevices(&list, &noOfDevcies));
169 TEST(PDMGetLinkedDevices, NULLDeviceID)
171 OCUuidList_t *list = NULL;
172 size_t noOfDevices = 0;
173 EXPECT_EQ(OC_STACK_INVALID_PARAM, PDMGetLinkedDevices(NULL, &list, &noOfDevices));
176 TEST(PDMGetLinkedDevices, ValidCase)
178 OicUuid_t uid = {{0,}};
179 memcpy(&uid.id, ID_1, sizeof(uid.id));
180 OCUuidList_t *list = NULL;
181 size_t noOfDevices = 0;
182 EXPECT_EQ(OC_STACK_OK, PDMGetLinkedDevices(&uid, &list, &noOfDevices));
185 TEST(PDMSetLinkStale, NULLDeviceID1)
187 OicUuid_t uid = {{0,}};
188 memcpy(&uid.id, ID_1, sizeof(uid.id));
189 EXPECT_EQ(OC_STACK_INVALID_PARAM, PDMSetLinkStale(NULL, &uid));
192 TEST(PDMSetLinkStale, NULLDeviceID2)
194 OicUuid_t uid = {{0,}};
195 memcpy(&uid.id, ID_1, sizeof(uid.id));
196 EXPECT_EQ(OC_STACK_INVALID_PARAM, PDMSetLinkStale(&uid, NULL));
199 TEST(PDMSetLinkStale, ValidCase)
201 OicUuid_t uid1 = {{0,}};
202 memcpy(&uid1.id, ID_6, sizeof(uid1.id));
203 OicUuid_t uid2 = {{0,}};
204 memcpy(&uid2.id, ID_1, sizeof(uid2.id));
205 EXPECT_EQ(OC_STACK_OK, PDMSetLinkStale(&uid1, &uid2));
208 TEST(PDMGetToBeUnlinkedDevices, ValidCase)
210 OCPairList_t *list = NULL;
211 size_t noOfDevices = 0;
212 EXPECT_EQ(OC_STACK_OK, PDMGetToBeUnlinkedDevices(&list, &noOfDevices));
215 TEST(PDMClose, ValidCase)
217 EXPECT_EQ(OC_STACK_OK, PDMClose());
220 TEST(PDMDestoryOicUuidLinkList, NULLParam)
222 EXPECT_EQ(OC_STACK_OK, PDMDestoryOicUuidLinkList(NULL));
225 TEST(PDMDestoryStaleLinkList, NULLParam)
227 EXPECT_EQ(OC_STACK_OK, PDMDestoryOicUuidLinkList(NULL));