1 /*
2 * Copyright (C) 2025 Huawei Device Co., Ltd.
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
6 *
7 * http://www.apache.org/licenses/LICENSE-2.0
8 *
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
14 */
15
16 #include <cinttypes>
17 #include <unistd.h>
18 #include <gtest/gtest.h>
19 #include "alg_loader.h"
20 #include "common_defs.h"
21 #include "compatible_sub_session.h"
22 #include "device_auth.h"
23 #include "device_auth_defines.h"
24 #include "device_auth_ext.h"
25 #include "hc_dev_info_mock.h"
26 #include "json_utils_mock.h"
27 #include "permission_adapter.h"
28 #include "json_utils.h"
29 #include "protocol_task_main_mock.h"
30 #include "securec.h"
31 #include "hc_file.h"
32 #include <dirent.h>
33 #include <fcntl.h>
34 #include <sys/types.h>
35 #include <sys/stat.h>
36 #include "hc_log.h"
37 #include "hc_types.h"
38 #include "../../../../services/identity_service/src/identity_operation.c"
39 #include "../../../../services/identity_service/src/identity_service_impl.c"
40 #include "../../../../services/identity_service/session/src/cred_session_util.c"
41 #include "cred_listener.h"
42
43 using namespace std;
44 using namespace testing::ext;
45
46 namespace {
47 #define TEST_RESULT_SUCCESS 0
48 #define TEST_APP_ID "TestAppId"
49 #define TEST_APP_ID1 "TestAppId1"
50 #define TEST_DEVICE_ID "TestDeviceId"
51 #define TEST_USER_ID "TestUserId"
52 #define TEST_CRED_ID "TestCredId"
53 #define TEST_CRED_TYPE 1
54 #define TEST_CRED_TYPE_1 2
55 #define TEST_CRED_TYPE_2 3
56 #define TEST_CRED_TYPE_3 4
57 #define TEST_CRED_INFO_ID "TestCredInfoId"
58 #define TEST_PIN_CODE "123456"
59 #define TEST_PIN_CODE_1 ""
60 #define QUERY_RESULT_NUM 0
61 #define QUERY_RESULT_NUM_2 2
62 #define DATA_LEN 10
63 #define DEFAULT_OS_ACCOUNT_ID 100
64 #define DEFAULT_VAL 0
65 #define DEFAULT_CHANNEL_TYPE 0
66
67 #define TEST_CRED_DATA_PATH "/data/service/el1/public/deviceauthMock/hccredential.dat"
68 static const char *TEST_DATA = "testData";
69 static const char *ADD_PARAMS =
70 "{\"credType\":1,\"keyFormat\":4,\"algorithmType\":3,\"subject\":1,\"issuer\":1,"
71 "\"proofType\":1,\"method\":1,\"authorizedScope\":1,\"userId\":\"TestUserId\","
72 "\"deviceId\":\"TestDeviceId\",\"credOwner\":\"TestAppId\","
73 "\"authorizedAppList\":[\"TestName1\",\"TestName2\",\"TestName3\"],"
74 "\"peerUserSpaceId\":100,\"extendInfo\":\"\"}";
75 static const char *ADD_PARAMS1 =
76 "{\"credType\":0,\"keyFormat\":4,\"algorithmType\":3,\"subject\":1,\"issuer\":1,"
77 "\"proofType\":1,\"method\":1,\"authorizedScope\":1,\"userId\":\"TestUserId\","
78 "\"deviceId\":\"TestDeviceId\",\"credOwner\":\"TestAppId\","
79 "\"authorizedAppList\":[\"TestName1\",\"TestName2\",\"TestName3\"],"
80 "\"peerUserSpaceId\":100,\"extendInfo\":\"\"}";
81 static const char *ADD_PARAMS2 =
82 "{\"credType\":1,\"keyFormat\":0,\"algorithmType\":3,\"subject\":1,\"issuer\":1,"
83 "\"proofType\":1,\"method\":1,\"authorizedScope\":1,\"userId\":\"TestUserId\","
84 "\"deviceId\":\"TestDeviceId\",\"credOwner\":\"TestAppId\","
85 "\"authorizedAppList\":[\"TestName1\",\"TestName2\",\"TestName3\"],"
86 "\"peerUserSpaceId\":100,\"extendInfo\":\"\"}";
87 static const char *ADD_PARAMS3 =
88 "{\"credType\":1,\"keyFormat\":4,\"algorithmType\":0,\"subject\":1,\"issuer\":1,"
89 "\"proofType\":1,\"method\":1,\"authorizedScope\":1,\"userId\":\"TestUserId\","
90 "\"deviceId\":\"TestDeviceId\",\"credOwner\":\"TestAppId\","
91 "\"authorizedAppList\":[\"TestName1\",\"TestName2\",\"TestName3\"],"
92 "\"peerUserSpaceId\":100,\"extendInfo\":\"\"}";
93 static const char *ADD_PARAMS4 =
94 "{\"credType\":1,\"keyFormat\":4,\"algorithmType\":3,\"subject\":0,\"issuer\":1,"
95 "\"proofType\":1,\"method\":1,\"authorizedScope\":1,\"userId\":\"TestUserId\","
96 "\"deviceId\":\"TestDeviceId\",\"credOwner\":\"TestAppId\","
97 "\"authorizedAppList\":[\"TestName1\",\"TestName2\",\"TestName3\"],"
98 "\"peerUserSpaceId\":100,\"extendInfo\":\"\"}";
99 static const char *ADD_PARAMS5 =
100 "{\"credType\":1,\"keyFormat\":4,\"algorithmType\":3,\"subject\":1,\"issuer\":0,"
101 "\"proofType\":1,\"method\":1,\"authorizedScope\":1,\"userId\":\"TestUserId\","
102 "\"deviceId\":\"TestDeviceId\",\"credOwner\":\"TestAppId\","
103 "\"authorizedAppList\":[\"TestName1\",\"TestName2\",\"TestName3\"],"
104 "\"peerUserSpaceId\":100,\"extendInfo\":\"\"}";
105 static const char *ADD_PARAMS6 =
106 "{\"credType\":1,\"keyFormat\":4,\"algorithmType\":3,\"subject\":1,\"issuer\":1,"
107 "\"proofType\":0,\"method\":1,\"authorizedScope\":1,\"userId\":\"TestUserId\","
108 "\"deviceId\":\"TestDeviceId\",\"credOwner\":\"TestAppId\","
109 "\"authorizedAppList\":[\"TestName1\",\"TestName2\",\"TestName3\"],"
110 "\"peerUserSpaceId\":100,\"extendInfo\":\"\"}";
111 static const char *ADD_PARAMS7 =
112 "{\"credType\":1,\"keyFormat\":4,\"algorithmType\":3,\"subject\":1,\"issuer\":1,"
113 "\"proofType\":1,\"method\":0,\"authorizedScope\":1,\"userId\":\"TestUserId\","
114 "\"keyValue\":\"TestKeyValue\",\"deviceId\":\"TestDeviceId\",\"credOwner\":\"TestAppId\","
115 "\"authorizedAppList\":[\"TestName1\",\"TestName2\",\"TestName3\"],"
116 "\"peerUserSpaceId\":100,\"extendInfo\":\"\"}";
117 static const char *ADD_PARAMS8 =
118 "{\"credType\":1,\"keyFormat\":4,\"algorithmType\":3,\"subject\":1,\"issuer\":1,"
119 "\"proofType\":1,\"method\":1,\"authorizedScope\":0,\"userId\":\"TestUserId\","
120 "\"deviceId\":\"TestDeviceId\",\"credOwner\":\"TestAppId\","
121 "\"authorizedAppList\":[\"TestName1\",\"TestName2\",\"TestName3\"],"
122 "\"peerUserSpaceId\":100,\"extendInfo\":\"\"}";
123 static const char *ADD_PARAMS9 =
124 "{\"credType\":1,\"keyFormat\":4,\"algorithmType\":3,\"subject\":1,\"issuer\":1,"
125 "\"proofType\":1,\"method\":1,\"authorizedScope\":1,\"userId\":\"TestUserId\","
126 "\"credOwner\":\"TestAppId\","
127 "\"authorizedAppList\":[\"TestName1\",\"TestName2\",\"TestName3\"],"
128 "\"peerUserSpaceId\":100,\"extendInfo\":\"\"}";
129 static const char *ADD_PARAMS10 =
130 "{\"credType\":1,\"keyFormat\":4,\"algorithmType\":3,\"subject\":1,\"issuer\":1,"
131 "\"proofType\":1,\"method\":1,\"authorizedScope\":1,\"userId\":\"TestUserId\","
132 "\"deviceId\":\"TestDeviceId\","
133 "\"authorizedAppList\":[\"TestName1\",\"TestName2\",\"TestName3\"],"
134 "\"peerUserSpaceId\":100,\"extendInfo\":\"\"}";
135 static const char *ADD_PARAMS11 =
136 "{\"credType\":1,\"keyFormat\":4,\"algorithmType\":3,\"subject\":1,\"issuer\":1,"
137 "\"proofType\":1,\"method\":1,\"authorizedScope\":1,"
138 "\"deviceId\":\"TestDeviceId\",\"credOwner\":\"TestAppId\","
139 "\"authorizedAppList\":[\"TestName1\",\"TestName2\",\"TestName3\"],"
140 "\"peerUserSpaceId\":100,\"extendInfo\":\"\"}";
141 static const char *ADD_PARAMS12 =
142 "{\"credType\":1,\"keyFormat\":4,\"algorithmType\":3,\"subject\":1,\"issuer\":1,"
143 "\"proofType\":1,\"method\":2,\"authorizedScope\":1,\"userId\":\"TestUserId\","
144 "\"deviceId\":\"TestDeviceId\",\"credOwner\":\"TestAppId\","
145 "\"authorizedAppList\":[\"TestName1\",\"TestName2\",\"TestName3\"],"
146 "\"peerUserSpaceId\":100,\"extendInfo\":\"\"}";
147 static const char *ADD_PARAMS13 =
148 "{\"credType\":2,\"keyFormat\":4,\"algorithmType\":3,\"subject\":1,\"issuer\":1,"
149 "\"proofType\":1,\"method\":2,\"authorizedScope\":1,\"userId\":\"TestUserId\","
150 "\"keyValue\":\"9A9A9A9A\",\"deviceId\":\"TestDeviceId\",\"credOwner\":\"TestAppId\","
151 "\"authorizedAppList\":[\"TestName1\",\"TestName2\",\"TestName3\"],"
152 "\"peerUserSpaceId\":100,\"extendInfo\":\"\"}";
153 static const char *ADD_PARAMS14 =
154 "{\"credType\":1,\"keyFormat\":4,\"algorithmType\":3,\"subject\":1,\"issuer\":1,"
155 "\"proofType\":1,\"method\":1,\"authorizedScope\":1,\"userId\":\"TestUserId\","
156 "\"deviceId\":\"TestDeviceId\",\"credOwner\":\"TestAppId1\","
157 "\"authorizedAppList\":[\"TestName1\",\"TestName2\",\"TestName3\"],"
158 "\"peerUserSpaceId\":100,\"extendInfo\":\"\"}";
159 static const char *ADD_PARAMS15 =
160 "{\"credType\":1,\"keyFormat\":4,\"algorithmType\":3,\"subject\":1,\"issuer\":1,"
161 "\"proofType\":1,\"method\":1,\"authorizedScope\":1,\"userId\":\"TestUserId\","
162 "\"keyValue\":\"TestKeyValue\",\"deviceId\":\"TestDeviceId\",\"credOwner\":\"TestAppId\","
163 "\"authorizedAppList\":[\"TestName1\",\"TestName2\",\"TestName3\"],"
164 "\"peerUserSpaceId\":100,\"extendInfo\":\"\"}";
165 static const char *ADD_PARAMS16 =
166 "{\"credId\":\"14993DDA9D\",\"credType\":1,\"keyFormat\":4,\"algorithmType\":3,\"subject\":1,\"issuer\":1,"
167 "\"proofType\":1,\"method\":1,\"authorizedScope\":1,\"userId\":\"TestUserId\","
168 "\"deviceId\":\"TestDeviceId\",\"credOwner\":\"TestAppId\","
169 "\"peerUserSpaceId\":\"100\",\"extendInfo\":\"\"}";
170 static const char *ADD_PARAMS17 =
171 "{\"credType\":2,\"keyFormat\":4,\"algorithmType\":3,\"subject\":1,"
172 "\"proofType\":1,\"method\":1,\"authorizedScope\":1,"
173 "\"deviceId\":\"TestDeviceId\",\"credOwner\":\"TestAppId\"}";
174 static const char *ADD_PARAMS18 =
175 "{\"credType\":3,\"keyFormat\":4,\"algorithmType\":3,\"subject\":1,\"issuer\":1,"
176 "\"proofType\":1,\"method\":1,\"authorizedScope\":1,\"userId\":\"TestUserId0\","
177 "\"deviceId\":\"TestDeviceId0\",\"credOwner\":\"TestAppId\"}";
178 static const char *REQUEST_PARAMS =
179 "{\"authorizedScope\":1, \"authorizedAppList\":[\"TestName1\",\"TestName2\",\"TestName3\","
180 "\"TestName4\"],\"extendInfo\":\"\"}";
181 static const char *AGREE_PARAMS =
182 "{\"credType\":2, \"deviceId\":\"TestDeviceId\",\"credOwner\":\"TestAppId\",\"subject\":1,"
183 "\"keyFormat\":2,\"proofType\":1,\"authorizedScope\":1,\"algorithmType\":3,\"peerUserSpaceId\":\"100\","
184 "\"keyValue\":\"3059301306072a8648ce3d020106082a8648ce3d030107034200043bb1f8107c6306bddcdb70cd9fee0e581"
185 "5bbd305184871cd2880657eb2cc88aeece1a7f076d9fff7e1114e3bc9dfa45b061b2755b46fc282ef59763b4c0288bd\"}";
186 static const char *BATCH_UPDATE_PARAMS =
187 "{\"baseInfo\":{\"credType\":3,\"keyFormat\":2,\"algorithmType\":3,\"subject\":2,\"authorizedScope\":2,"
188 "\"issuer\":1,\"proofType\":2,\"credOwner\":\"TestAppId\"},"
189 "\"updateLists\":[{\"userId\":\"TestUserId\",\"deviceId\":\"TestDeviceId\"}]}";
190 static const char *BATCH_UPDATE_PARAMS1 =
191 "{\"baseInfo\":{\"credType\":1,\"keyFormat\":2,\"algorithmType\":3,\"subject\":2,\"authorizedScope\":2,"
192 "\"issuer\":1,\"proofType\":2,\"credOwner\":\"TestAppId\"},"
193 "\"updateLists\":[{\"userId\":\"TestUserId\",\"deviceId\":\"TestDeviceId\"}]}";
194
195 static const char *CRED_DATA =
196 "{\"keyFormat\":4,\"algorithmType\":3,\"subject\":1,\"issuer\":1,"
197 "\"proofType\":1,\"method\":1,\"authorizedScope\":1,\"userId\":\"TestUserId\","
198 "\"peerUserSpaceId\":100,\"extendInfo\":\"\"}";
199 static const char *CRED_DATA_1 =
200 "{\"credType\":1,\"keyFormat\":4,\"algorithmType\":3,\"subject\":1,\"issuer\":1,"
201 "\"proofType\":1,\"method\":1,\"authorizedScope\":1,\"userId\":\"TestUserId\","
202 "\"deviceId\":\"TestDeviceId\",\"credOwner\":\"TestAppId\","
203 "\"peerUserSpaceId\":100,\"extendInfo\":\"\"}";
204
205 static const char *QUERY_PARAMS = "{\"deviceId\":\"TestDeviceId\"}";
206 static const char *QUERY_PARAMS1 = "{\"deviceId\":\"TestDeviceId1\"}";
207 static const char *DEL_PARAMS = "{\"credOwner\":\"TestAppId\"}";
208 static const char *DEL_PARAMS1 = "{\"credOwner\":\"TestAppId\",\"userIdHash\":\"12D2\",\"deviceIdHash\":\"12D2\"}";
209 enum CredListenerStatus {
210 CRED_LISTENER_INIT = 0,
211 CRED_LISTENER_ON_ADD = 1,
212 CRED_LISTENER_ON_UPDATE = 2,
213 CRED_LISTENER_ON_DELETE = 3,
214 };
215
216 static CredListenerStatus volatile g_credListenerStatus;
217
TestOnCredAdd(const char * credId,const char * credInfo)218 static void TestOnCredAdd(const char *credId, const char *credInfo)
219 {
220 (void)credId;
221 (void)credInfo;
222 g_credListenerStatus = CRED_LISTENER_ON_ADD;
223 }
224
TestOnCredUpdate(const char * credId,const char * credInfo)225 static void TestOnCredUpdate(const char *credId, const char *credInfo)
226 {
227 (void)credId;
228 (void)credInfo;
229 g_credListenerStatus = CRED_LISTENER_ON_UPDATE;
230 }
231
TestOnCredDelete(const char * credId,const char * credInfo)232 static void TestOnCredDelete(const char *credId, const char *credInfo)
233 {
234 (void)credId;
235 (void)credInfo;
236 g_credListenerStatus = CRED_LISTENER_ON_DELETE;
237 }
238
239 static CredChangeListener g_credChangeListener = {
240 .onCredAdd = TestOnCredAdd,
241 .onCredUpdate = TestOnCredUpdate,
242 .onCredDelete = TestOnCredDelete,
243 };
244
DeleteDatabase()245 static void DeleteDatabase()
246 {
247 HcFileRemove(TEST_CRED_DATA_PATH);
248 }
249
250 class GetCredMgrInstanceTest : public testing::Test {
251 public:
252 static void SetUpTestCase();
253 static void TearDownTestCase();
254 void SetUp();
255 void TearDown();
256 };
257
SetUpTestCase()258 void GetCredMgrInstanceTest::SetUpTestCase() {}
TearDownTestCase()259 void GetCredMgrInstanceTest::TearDownTestCase() {}
260
SetUp()261 void GetCredMgrInstanceTest::SetUp()
262 {
263 int ret = InitDeviceAuthService();
264 EXPECT_EQ(ret, IS_SUCCESS);
265 }
266
TearDown()267 void GetCredMgrInstanceTest::TearDown()
268 {
269 DestroyDeviceAuthService();
270 }
271
272 HWTEST_F(GetCredMgrInstanceTest, GetCredMgrInstanceTest001, TestSize.Level0)
273 {
274 const CredManager *cm = GetCredMgrInstance();
275 EXPECT_NE(cm, nullptr);
276 }
277
278 HWTEST_F(GetCredMgrInstanceTest, GetCredMgrInstanceTest002, TestSize.Level0)
279 {
280 const CredManager *cm = GetCredMgrInstance();
281 EXPECT_NE(cm, nullptr);
282 char *returnData = nullptr;
283 cm->destroyInfo(nullptr);
284 cm->destroyInfo(&returnData);
285 returnData = static_cast<char *>(HcMalloc(DATA_LEN, 0));
286 int32_t ret = memcpy_s(returnData, DATA_LEN, TEST_DATA, HcStrlen(TEST_DATA));
287 cm->destroyInfo(&returnData);
288 EXPECT_EQ(ret, IS_SUCCESS);
289 }
290
291 class CredMgrAddCredentialTest : public testing::Test {
292 public:
293 static void SetUpTestCase();
294 static void TearDownTestCase();
295 void SetUp();
296 void TearDown();
297 };
298
SetUpTestCase()299 void CredMgrAddCredentialTest::SetUpTestCase() {}
TearDownTestCase()300 void CredMgrAddCredentialTest::TearDownTestCase() {}
301
SetUp()302 void CredMgrAddCredentialTest::SetUp()
303 {
304 DeleteDatabase();
305 int ret = InitDeviceAuthService();
306 EXPECT_EQ(ret, IS_SUCCESS);
307 }
308
TearDown()309 void CredMgrAddCredentialTest::TearDown()
310 {
311 DestroyDeviceAuthService();
312 }
313
314 HWTEST_F(CredMgrAddCredentialTest, CredMgrAddCredentialTest001, TestSize.Level0)
315 {
316 const CredManager *cm = GetCredMgrInstance();
317 ASSERT_NE(cm, nullptr);
318 char *returnData = nullptr;
319 int32_t ret = cm->addCredential(DEFAULT_OS_ACCOUNT, ADD_PARAMS, &returnData);
320 cm->destroyInfo(&returnData);
321 EXPECT_EQ(ret, IS_SUCCESS);
322 }
323
324 HWTEST_F(CredMgrAddCredentialTest, CredMgrAddCredentialTest002, TestSize.Level0)
325 {
326 const CredManager *cm = GetCredMgrInstance();
327 ASSERT_NE(cm, nullptr);
328 char *returnData = nullptr;
329 int32_t ret = cm->addCredential(DEFAULT_OS_ACCOUNT, nullptr, &returnData);
330 EXPECT_EQ(ret, IS_ERR_INVALID_PARAMS);
331 }
332
333 HWTEST_F(CredMgrAddCredentialTest, CredMgrAddCredentialTest003, TestSize.Level0)
334 {
335 const CredManager *cm = GetCredMgrInstance();
336 ASSERT_NE(cm, nullptr);
337 int32_t ret = cm->addCredential(DEFAULT_OS_ACCOUNT, ADD_PARAMS, nullptr);
338 EXPECT_EQ(ret, IS_ERR_INVALID_PARAMS);
339 }
340
341 HWTEST_F(CredMgrAddCredentialTest, CredMgrAddCredentialTest004, TestSize.Level0)
342 {
343 const CredManager *cm = GetCredMgrInstance();
344 ASSERT_NE(cm, nullptr);
345 char *returnData = nullptr;
346 int32_t ret = cm->addCredential(DEFAULT_OS_ACCOUNT, ADD_PARAMS1, &returnData);
347 EXPECT_EQ(ret, IS_ERR_INVALID_PARAMS);
348 }
349
350 HWTEST_F(CredMgrAddCredentialTest, CredMgrAddCredentialTest005, TestSize.Level0)
351 {
352 const CredManager *cm = GetCredMgrInstance();
353 ASSERT_NE(cm, nullptr);
354 char *returnData = nullptr;
355 int32_t ret = cm->addCredential(DEFAULT_OS_ACCOUNT, ADD_PARAMS2, &returnData);
356 EXPECT_EQ(ret, IS_ERR_INVALID_PARAMS);
357 }
358
359 HWTEST_F(CredMgrAddCredentialTest, CredMgrAddCredentialTest006, TestSize.Level0)
360 {
361 const CredManager *cm = GetCredMgrInstance();
362 ASSERT_NE(cm, nullptr);
363 char *returnData = nullptr;
364 int32_t ret = cm->addCredential(DEFAULT_OS_ACCOUNT, ADD_PARAMS3, &returnData);
365 EXPECT_EQ(ret, IS_ERR_INVALID_PARAMS);
366 }
367
368 HWTEST_F(CredMgrAddCredentialTest, CredMgrAddCredentialTest007, TestSize.Level0)
369 {
370 const CredManager *cm = GetCredMgrInstance();
371 ASSERT_NE(cm, nullptr);
372 char *returnData = nullptr;
373 int32_t ret = cm->addCredential(DEFAULT_OS_ACCOUNT, ADD_PARAMS4, &returnData);
374 EXPECT_EQ(ret, IS_ERR_INVALID_PARAMS);
375 }
376
377 HWTEST_F(CredMgrAddCredentialTest, CredMgrAddCredentialTest008, TestSize.Level0)
378 {
379 const CredManager *cm = GetCredMgrInstance();
380 ASSERT_NE(cm, nullptr);
381 char *returnData = nullptr;
382 int32_t ret = cm->addCredential(DEFAULT_OS_ACCOUNT, ADD_PARAMS5, &returnData);
383 EXPECT_EQ(ret, IS_ERR_INVALID_PARAMS);
384 }
385
386 HWTEST_F(CredMgrAddCredentialTest, CredMgrAddCredentialTest009, TestSize.Level0)
387 {
388 const CredManager *cm = GetCredMgrInstance();
389 ASSERT_NE(cm, nullptr);
390 char *returnData = nullptr;
391 int32_t ret = cm->addCredential(DEFAULT_OS_ACCOUNT, ADD_PARAMS6, &returnData);
392 EXPECT_EQ(ret, IS_ERR_INVALID_PARAMS);
393 }
394
395 HWTEST_F(CredMgrAddCredentialTest, CredMgrAddCredentialTest010, TestSize.Level0)
396 {
397 const CredManager *cm = GetCredMgrInstance();
398 ASSERT_NE(cm, nullptr);
399 char *returnData = nullptr;
400 int32_t ret = cm->addCredential(DEFAULT_OS_ACCOUNT, ADD_PARAMS7, &returnData);
401 EXPECT_EQ(ret, IS_ERR_INVALID_PARAMS);
402 }
403
404 HWTEST_F(CredMgrAddCredentialTest, CredMgrAddCredentialTest011, TestSize.Level0)
405 {
406 const CredManager *cm = GetCredMgrInstance();
407 ASSERT_NE(cm, nullptr);
408 char *returnData = nullptr;
409 int32_t ret = cm->addCredential(DEFAULT_OS_ACCOUNT, ADD_PARAMS8, &returnData);
410 EXPECT_EQ(ret, IS_ERR_INVALID_PARAMS);
411 }
412
413 HWTEST_F(CredMgrAddCredentialTest, CredMgrAddCredentialTest012, TestSize.Level0)
414 {
415 const CredManager *cm = GetCredMgrInstance();
416 ASSERT_NE(cm, nullptr);
417 char *returnData = nullptr;
418 int32_t ret = cm->addCredential(DEFAULT_OS_ACCOUNT, ADD_PARAMS9, &returnData);
419 EXPECT_EQ(ret, IS_ERR_JSON_GET);
420 }
421
422 HWTEST_F(CredMgrAddCredentialTest, CredMgrAddCredentialTest013, TestSize.Level0)
423 {
424 const CredManager *cm = GetCredMgrInstance();
425 ASSERT_NE(cm, nullptr);
426 char *returnData = nullptr;
427 int32_t ret = cm->addCredential(DEFAULT_OS_ACCOUNT, ADD_PARAMS10, &returnData);
428 EXPECT_EQ(ret, IS_ERR_JSON_GET);
429 }
430
431 HWTEST_F(CredMgrAddCredentialTest, CredMgrAddCredentialTest014, TestSize.Level0)
432 {
433 const CredManager *cm = GetCredMgrInstance();
434 ASSERT_NE(cm, nullptr);
435 char *returnData = nullptr;
436 int32_t ret = cm->addCredential(DEFAULT_OS_ACCOUNT, ADD_PARAMS11, &returnData);
437 EXPECT_EQ(ret, IS_ERR_INVALID_PARAMS);
438 }
439
440 HWTEST_F(CredMgrAddCredentialTest, CredMgrAddCredentialTest015, TestSize.Level0)
441 {
442 const CredManager *cm = GetCredMgrInstance();
443 ASSERT_NE(cm, nullptr);
444 char *returnData = nullptr;
445 int32_t ret = cm->addCredential(DEFAULT_OS_ACCOUNT, ADD_PARAMS12, &returnData);
446 EXPECT_EQ(ret, IS_ERR_INVALID_PARAMS);
447 }
448
449 HWTEST_F(CredMgrAddCredentialTest, CredMgrAddCredentialTest016, TestSize.Level0)
450 {
451 const CredManager *cm = GetCredMgrInstance();
452 ASSERT_NE(cm, nullptr);
453 char *returnData = nullptr;
454 int32_t ret = cm->addCredential(DEFAULT_OS_ACCOUNT, ADD_PARAMS13, &returnData);
455 EXPECT_EQ(ret, IS_ERR_INVALID_PARAMS);
456 }
457
458 HWTEST_F(CredMgrAddCredentialTest, CredMgrAddCredentialTest017, TestSize.Level0)
459 {
460 const CredManager *cm = GetCredMgrInstance();
461 ASSERT_NE(cm, nullptr);
462 char *returnData = nullptr;
463 int32_t ret = cm->addCredential(DEFAULT_OS_ACCOUNT, ADD_PARAMS15, &returnData);
464 EXPECT_EQ(ret, IS_ERR_KEYVALUE_METHOD_CONFLICT);
465 }
466
467 HWTEST_F(CredMgrAddCredentialTest, CredMgrAddCredentialTest018, TestSize.Level0)
468 {
469 const CredManager *cm = GetCredMgrInstance();
470 ASSERT_NE(cm, nullptr);
471 char *credId = nullptr;
472 int32_t ret = cm->addCredential(DEFAULT_OS_ACCOUNT, ADD_PARAMS16, &credId);
473 EXPECT_EQ(ret, IS_SUCCESS);
474 ret = cm->deleteCredential(DEFAULT_OS_ACCOUNT, credId);
475 HcFree(credId);
476 EXPECT_EQ(ret, IS_SUCCESS);
477 }
478
479 class CredMgrExportCredentialTest : public testing::Test {
480 public:
481 static void SetUpTestCase();
482 static void TearDownTestCase();
483 void SetUp();
484 void TearDown();
485 };
486
487
SetUpTestCase()488 void CredMgrExportCredentialTest::SetUpTestCase() {}
TearDownTestCase()489 void CredMgrExportCredentialTest::TearDownTestCase() {}
490
SetUp()491 void CredMgrExportCredentialTest::SetUp()
492 {
493 DeleteDatabase();
494 int ret = InitDeviceAuthService();
495 EXPECT_EQ(ret, IS_SUCCESS);
496 }
497
TearDown()498 void CredMgrExportCredentialTest::TearDown()
499 {
500 DestroyDeviceAuthService();
501 }
502
503 HWTEST_F(CredMgrExportCredentialTest, CredMgrExportCredentialTest001, TestSize.Level0)
504 {
505 const CredManager *cm = GetCredMgrInstance();
506 ASSERT_NE(cm, nullptr);
507 char *credId = nullptr;
508 int32_t ret = cm->addCredential(DEFAULT_OS_ACCOUNT, ADD_PARAMS, &credId);
509 EXPECT_EQ(ret, IS_SUCCESS);
510 char *returnData = nullptr;
511 ret = cm->exportCredential(DEFAULT_OS_ACCOUNT, credId, &returnData);
512 HcFree(credId);
513 cm->destroyInfo(&returnData);
514 EXPECT_EQ(ret, IS_SUCCESS);
515 }
516
517 HWTEST_F(CredMgrExportCredentialTest, CredMgrExportCredentialTest002, TestSize.Level0)
518 {
519 const CredManager *cm = GetCredMgrInstance();
520 ASSERT_NE(cm, nullptr);
521 char *credId = nullptr;
522 int32_t ret = cm->addCredential(DEFAULT_OS_ACCOUNT, ADD_PARAMS2, &credId);
523 EXPECT_EQ(ret, IS_ERR_INVALID_PARAMS);
524 char *returnData = nullptr;
525 ret = cm->exportCredential(DEFAULT_OS_ACCOUNT, credId, &returnData);
526 EXPECT_EQ(ret, IS_ERR_INVALID_PARAMS);
527 }
528
529 HWTEST_F(CredMgrExportCredentialTest, CredMgrExportCredentialTest003, TestSize.Level0)
530 {
531 const CredManager *cm = GetCredMgrInstance();
532 ASSERT_NE(cm, nullptr);
533 char *credId = nullptr;
534 int32_t ret = cm->addCredential(DEFAULT_OS_ACCOUNT, ADD_PARAMS, &credId);
535 EXPECT_EQ(ret, IS_SUCCESS);
536 ret = cm->exportCredential(DEFAULT_OS_ACCOUNT, credId, nullptr);
537 HcFree(credId);
538 EXPECT_EQ(ret, IS_ERR_INVALID_PARAMS);
539 }
540
541 HWTEST_F(CredMgrExportCredentialTest, CredMgrExportCredentialTest004, TestSize.Level0)
542 {
543 const CredManager *cm = GetCredMgrInstance();
544 ASSERT_NE(cm, nullptr);
545 char *credId = nullptr;
546 int32_t ret = cm->addCredential(DEFAULT_OS_ACCOUNT, ADD_PARAMS, &credId);
547 HcFree(credId);
548 EXPECT_EQ(ret, IS_SUCCESS);
549 char *returnData = nullptr;
550 ret = cm->exportCredential(DEFAULT_OS_ACCOUNT, nullptr, &returnData);
551 EXPECT_EQ(ret, IS_ERR_INVALID_PARAMS);
552 }
553
554 class CredMgrQueryCredentialByParamsTest : public testing::Test {
555 public:
556 static void SetUpTestCase();
557 static void TearDownTestCase();
558 void SetUp();
559 void TearDown();
560 };
561
SetUpTestCase()562 void CredMgrQueryCredentialByParamsTest::SetUpTestCase() {}
TearDownTestCase()563 void CredMgrQueryCredentialByParamsTest::TearDownTestCase() {}
564
SetUp()565 void CredMgrQueryCredentialByParamsTest::SetUp()
566 {
567 DeleteDatabase();
568 int ret = InitDeviceAuthService();
569 EXPECT_EQ(ret, IS_SUCCESS);
570 }
571
TearDown()572 void CredMgrQueryCredentialByParamsTest::TearDown()
573 {
574 DestroyDeviceAuthService();
575 }
576
577 HWTEST_F(CredMgrQueryCredentialByParamsTest, CredMgrQueryCredentialByParamsTest001, TestSize.Level0)
578 {
579 const CredManager *cm = GetCredMgrInstance();
580 ASSERT_NE(cm, nullptr);
581 char *returnData = nullptr;
582 int32_t ret = cm->addCredential(DEFAULT_OS_ACCOUNT, ADD_PARAMS, &returnData);
583 HcFree(returnData);
584 returnData = nullptr;
585 EXPECT_EQ(ret, IS_SUCCESS);
586 ret = cm->addCredential(DEFAULT_OS_ACCOUNT, ADD_PARAMS14, &returnData);
587 HcFree(returnData);
588 EXPECT_EQ(ret, IS_SUCCESS);
589 char *credIdList = nullptr;
590 ret = cm->queryCredentialByParams(DEFAULT_OS_ACCOUNT, QUERY_PARAMS, &credIdList);
591 EXPECT_EQ(ret, IS_SUCCESS);
592 CJson *jsonArr = CreateJsonFromString(credIdList);
593 int32_t size = GetItemNum(jsonArr);
594 HcFree(credIdList);
595 FreeJson(jsonArr);
596 EXPECT_EQ(size, QUERY_RESULT_NUM_2);
597 }
598
599 HWTEST_F(CredMgrQueryCredentialByParamsTest, CredMgrQueryCredentialByParamsTest002, TestSize.Level0)
600 {
601 const CredManager *cm = GetCredMgrInstance();
602 ASSERT_NE(cm, nullptr);
603 char *credIdList = nullptr;
604 int32_t ret = cm->queryCredentialByParams(DEFAULT_OS_ACCOUNT, nullptr, &credIdList);
605 EXPECT_EQ(ret, IS_ERR_INVALID_PARAMS);
606 }
607
608 HWTEST_F(CredMgrQueryCredentialByParamsTest, CredMgrQueryCredentialByParamsTest003, TestSize.Level0)
609 {
610 const CredManager *cm = GetCredMgrInstance();
611 ASSERT_NE(cm, nullptr);
612 int32_t ret = cm->queryCredentialByParams(DEFAULT_OS_ACCOUNT, QUERY_PARAMS, nullptr);
613 EXPECT_EQ(ret, IS_ERR_INVALID_PARAMS);
614 }
615
616 HWTEST_F(CredMgrQueryCredentialByParamsTest, CredMgrQueryCredentialByParamsTest004, TestSize.Level0)
617 {
618 const CredManager *cm = GetCredMgrInstance();
619 ASSERT_NE(cm, nullptr);
620 char *returnData = nullptr;
621 int32_t ret = cm->addCredential(DEFAULT_OS_ACCOUNT, ADD_PARAMS, &returnData);
622 HcFree(returnData);
623 EXPECT_EQ(ret, IS_SUCCESS);
624 char *credIdList = nullptr;
625 ret = cm->queryCredentialByParams(DEFAULT_OS_ACCOUNT, QUERY_PARAMS1, &credIdList);
626 EXPECT_EQ(ret, IS_SUCCESS);
627 CJson *jsonArr = CreateJsonFromString(credIdList);
628 int32_t size = GetItemNum(jsonArr);
629 HcFree(credIdList);
630 FreeJson(jsonArr);
631 EXPECT_EQ(size, QUERY_RESULT_NUM);
632 }
633
634 class CredMgrQueryCredInfoByCredIdTest : public testing::Test {
635 public:
636 static void SetUpTestCase();
637 static void TearDownTestCase();
638 void SetUp();
639 void TearDown();
640 };
641
SetUpTestCase()642 void CredMgrQueryCredInfoByCredIdTest::SetUpTestCase() {}
TearDownTestCase()643 void CredMgrQueryCredInfoByCredIdTest::TearDownTestCase() {}
644
SetUp()645 void CredMgrQueryCredInfoByCredIdTest::SetUp()
646 {
647 DeleteDatabase();
648 int ret = InitDeviceAuthService();
649 EXPECT_EQ(ret, IS_SUCCESS);
650 }
651
TearDown()652 void CredMgrQueryCredInfoByCredIdTest::TearDown()
653 {
654 DestroyDeviceAuthService();
655 }
656
657 HWTEST_F(CredMgrQueryCredInfoByCredIdTest, CredMgrQueryCredInfoByCredIdTest001, TestSize.Level0)
658 {
659 const CredManager *cm = GetCredMgrInstance();
660 ASSERT_NE(cm, nullptr);
661 char *credId = nullptr;
662 int32_t ret = cm->addCredential(DEFAULT_OS_ACCOUNT, ADD_PARAMS, &credId);
663 EXPECT_EQ(ret, IS_SUCCESS);
664 char *returnCredInfo = nullptr;
665 ret = cm->queryCredInfoByCredId(DEFAULT_OS_ACCOUNT, credId, &returnCredInfo);
666 HcFree(credId);
667 EXPECT_EQ(ret, IS_SUCCESS);
668 CJson *credInfoJson = CreateJsonFromString(returnCredInfo);
669 HcFree(returnCredInfo);
670 const char *deviceId = GetStringFromJson(credInfoJson, FIELD_DEVICE_ID);
671 EXPECT_EQ(strcmp(deviceId, TEST_DEVICE_ID), TEST_RESULT_SUCCESS);
672 FreeJson(credInfoJson);
673 }
674
675 HWTEST_F(CredMgrQueryCredInfoByCredIdTest, CredMgrQueryCredInfoByCredIdTest002, TestSize.Level0)
676 {
677 const CredManager *cm = GetCredMgrInstance();
678 ASSERT_NE(cm, nullptr);
679 char *returnCredInfo = nullptr;
680 int32_t ret = cm->queryCredInfoByCredId(DEFAULT_OS_ACCOUNT, nullptr, &returnCredInfo);
681 EXPECT_EQ(ret, IS_ERR_INVALID_PARAMS);
682 }
683
684 HWTEST_F(CredMgrQueryCredInfoByCredIdTest, CredMgrQueryCredInfoByCredIdTest003, TestSize.Level0)
685 {
686 const CredManager *cm = GetCredMgrInstance();
687 ASSERT_NE(cm, nullptr);
688 char *credId = nullptr;
689 int32_t ret = cm->addCredential(DEFAULT_OS_ACCOUNT, ADD_PARAMS14, &credId);
690 EXPECT_EQ(ret, IS_SUCCESS);
691 ret = cm->queryCredInfoByCredId(DEFAULT_OS_ACCOUNT, credId, nullptr);
692 HcFree(credId);
693 EXPECT_EQ(ret, IS_ERR_INVALID_PARAMS);
694 }
695
696 class CredMgrDeleteCredentialTest : public testing::Test {
697 public:
698 static void SetUpTestCase();
699 static void TearDownTestCase();
700 void SetUp();
701 void TearDown();
702 };
703
SetUpTestCase()704 void CredMgrDeleteCredentialTest::SetUpTestCase() {}
TearDownTestCase()705 void CredMgrDeleteCredentialTest::TearDownTestCase() {}
706
SetUp()707 void CredMgrDeleteCredentialTest::SetUp()
708 {
709 DeleteDatabase();
710 int ret = InitDeviceAuthService();
711 EXPECT_EQ(ret, IS_SUCCESS);
712 }
713
TearDown()714 void CredMgrDeleteCredentialTest::TearDown()
715 {
716 DestroyDeviceAuthService();
717 }
718
719 HWTEST_F(CredMgrDeleteCredentialTest, CredMgrDeleteCredentialTest001, TestSize.Level0)
720 {
721 const CredManager *cm = GetCredMgrInstance();
722 ASSERT_NE(cm, nullptr);
723 char *credId = nullptr;
724 int32_t ret = cm->addCredential(DEFAULT_OS_ACCOUNT, ADD_PARAMS, &credId);
725 EXPECT_EQ(ret, IS_SUCCESS);
726 ret = cm->deleteCredential(DEFAULT_OS_ACCOUNT, credId);
727 HcFree(credId);
728 EXPECT_EQ(ret, IS_SUCCESS);
729 }
730
731 HWTEST_F(CredMgrDeleteCredentialTest, CredMgrDeleteCredentialTest003, TestSize.Level0)
732 {
733 const CredManager *cm = GetCredMgrInstance();
734 ASSERT_NE(cm, nullptr);
735 int32_t ret = cm->deleteCredential(DEFAULT_OS_ACCOUNT, nullptr);
736 EXPECT_EQ(ret, IS_ERR_INVALID_PARAMS);
737 }
738
739 class CredMgrUpdateCredInfoTest : public testing::Test {
740 public:
741 static void SetUpTestCase();
742 static void TearDownTestCase();
743 void SetUp();
744 void TearDown();
745 };
746
SetUpTestCase()747 void CredMgrUpdateCredInfoTest::SetUpTestCase() {}
TearDownTestCase()748 void CredMgrUpdateCredInfoTest::TearDownTestCase() {}
749
SetUp()750 void CredMgrUpdateCredInfoTest::SetUp()
751 {
752 DeleteDatabase();
753 int ret = InitDeviceAuthService();
754 EXPECT_EQ(ret, IS_SUCCESS);
755 }
756
TearDown()757 void CredMgrUpdateCredInfoTest::TearDown()
758 {
759 DestroyDeviceAuthService();
760 }
761
762 HWTEST_F(CredMgrUpdateCredInfoTest, CredMgrUpdateCredInfoTest001, TestSize.Level0)
763 {
764 const CredManager *cm = GetCredMgrInstance();
765 ASSERT_NE(cm, nullptr);
766 char *credId = nullptr;
767 int32_t ret = cm->addCredential(DEFAULT_OS_ACCOUNT, ADD_PARAMS, &credId);
768 EXPECT_EQ(ret, IS_SUCCESS);
769 ret = cm->updateCredInfo(DEFAULT_OS_ACCOUNT, credId, REQUEST_PARAMS);
770 HcFree(credId);
771 EXPECT_EQ(ret, IS_SUCCESS);
772 }
773
774 HWTEST_F(CredMgrUpdateCredInfoTest, CredMgrUpdateCredInfoTest002, TestSize.Level0)
775 {
776 const CredManager *cm = GetCredMgrInstance();
777 ASSERT_NE(cm, nullptr);
778 char *credId = nullptr;
779 int32_t ret = cm->addCredential(DEFAULT_OS_ACCOUNT, ADD_PARAMS, &credId);
780 EXPECT_EQ(ret, IS_SUCCESS);
781 ret = cm->updateCredInfo(DEFAULT_OS_ACCOUNT, credId, "");
782 HcFree(credId);
783 EXPECT_EQ(ret, IS_ERR_JSON_CREATE);
784 }
785
786 HWTEST_F(CredMgrUpdateCredInfoTest, CredMgrUpdateCredInfoTest004, TestSize.Level0)
787 {
788 const CredManager *cm = GetCredMgrInstance();
789 ASSERT_NE(cm, nullptr);
790 char *credId = nullptr;
791 int32_t ret = cm->addCredential(DEFAULT_OS_ACCOUNT, ADD_PARAMS, &credId);
792 EXPECT_EQ(ret, IS_SUCCESS);
793 ret = cm->updateCredInfo(DEFAULT_OS_ACCOUNT, nullptr, REQUEST_PARAMS);
794 HcFree(credId);
795 EXPECT_EQ(ret, IS_ERR_INVALID_PARAMS);
796 }
797
798 class CredMgrRegCredListenerTest : public testing::Test {
799 public:
800 static void SetUpTestCase();
801 static void TearDownTestCase();
802 void SetUp();
803 void TearDown();
804 };
805
SetUpTestCase()806 void CredMgrRegCredListenerTest::SetUpTestCase() {}
TearDownTestCase()807 void CredMgrRegCredListenerTest::TearDownTestCase() {}
808
SetUp()809 void CredMgrRegCredListenerTest::SetUp()
810 {
811 DeleteDatabase();
812 int ret = InitDeviceAuthService();
813 EXPECT_EQ(ret, IS_SUCCESS);
814 }
815
TearDown()816 void CredMgrRegCredListenerTest::TearDown()
817 {
818 DestroyDeviceAuthService();
819 }
820
821 HWTEST_F(CredMgrRegCredListenerTest, CredMgrRegCredListenerTest001, TestSize.Level0)
822 {
823 const CredManager *cm = GetCredMgrInstance();
824 ASSERT_NE(cm, nullptr);
825 CredChangeListener listener;
826 int32_t ret = cm->registerChangeListener(TEST_APP_ID, &listener);
827 EXPECT_EQ(ret, IS_SUCCESS);
828 }
829
830 HWTEST_F(CredMgrRegCredListenerTest, CredMgrRegCredListenerTest002, TestSize.Level0)
831 {
832 const CredManager *cm = GetCredMgrInstance();
833 ASSERT_NE(cm, nullptr);
834 CredChangeListener listener;
835 int32_t ret = cm->registerChangeListener(TEST_APP_ID, &listener);
836 EXPECT_EQ(ret, IS_SUCCESS);
837 ret = cm->registerChangeListener(TEST_APP_ID, &listener);
838 EXPECT_EQ(ret, IS_SUCCESS);
839 }
840
841 HWTEST_F(CredMgrRegCredListenerTest, CredMgrRegCredListenerTest003, TestSize.Level0)
842 {
843 const CredManager *cm = GetCredMgrInstance();
844 ASSERT_NE(cm, nullptr);
845 CredChangeListener listener;
846 int32_t ret = cm->registerChangeListener(nullptr, &listener);
847 EXPECT_EQ(ret, IS_ERR_INVALID_PARAMS);
848 }
849
850 HWTEST_F(CredMgrRegCredListenerTest, CredMgrRegCredListenerTest004, TestSize.Level0)
851 {
852 const CredManager *cm = GetCredMgrInstance();
853 ASSERT_NE(cm, nullptr);
854 int32_t ret = cm->registerChangeListener(TEST_APP_ID, nullptr);
855 EXPECT_EQ(ret, IS_ERR_INVALID_PARAMS);
856 }
857
858 HWTEST_F(CredMgrRegCredListenerTest, CredMgrRegCredListenerTest005, TestSize.Level0)
859 {
860 g_credListenerStatus = CRED_LISTENER_INIT;
861 const CredManager *cm = GetCredMgrInstance();
862 ASSERT_NE(cm, nullptr);
863 int32_t ret = cm->registerChangeListener(TEST_APP_ID, &g_credChangeListener);
864 EXPECT_EQ(ret, IS_SUCCESS);
865 char *credId = nullptr;
866 ret = cm->addCredential(DEFAULT_OS_ACCOUNT, ADD_PARAMS, &credId);
867 HcFree(credId);
868 EXPECT_EQ(ret, IS_SUCCESS);
869 EXPECT_EQ(g_credListenerStatus, CRED_LISTENER_ON_ADD);
870 }
871
872 HWTEST_F(CredMgrRegCredListenerTest, CredMgrRegCredListenerTest006, TestSize.Level0)
873 {
874 g_credListenerStatus = CRED_LISTENER_INIT;
875 const CredManager *cm = GetCredMgrInstance();
876 ASSERT_NE(cm, nullptr);
877 int32_t ret = cm->registerChangeListener(TEST_APP_ID, &g_credChangeListener);
878 EXPECT_EQ(ret, IS_SUCCESS);
879 char *credId = nullptr;
880 ret = cm->addCredential(DEFAULT_OS_ACCOUNT, ADD_PARAMS, &credId);
881 EXPECT_EQ(ret, IS_SUCCESS);
882 ret = cm->updateCredInfo(DEFAULT_OS_ACCOUNT, credId, REQUEST_PARAMS);
883 HcFree(credId);
884 EXPECT_EQ(ret, IS_SUCCESS);
885 EXPECT_EQ(g_credListenerStatus, CRED_LISTENER_ON_UPDATE);
886 }
887
888 HWTEST_F(CredMgrRegCredListenerTest, CredMgrRegCredListenerTest007, TestSize.Level0)
889 {
890 g_credListenerStatus = CRED_LISTENER_INIT;
891 const CredManager *cm = GetCredMgrInstance();
892 ASSERT_NE(cm, nullptr);
893 int32_t ret = cm->registerChangeListener(TEST_APP_ID, &g_credChangeListener);
894 EXPECT_EQ(ret, IS_SUCCESS);
895 char *credId = nullptr;
896 ret = cm->addCredential(DEFAULT_OS_ACCOUNT, ADD_PARAMS, &credId);
897 EXPECT_EQ(ret, IS_SUCCESS);
898 ret = cm->deleteCredential(DEFAULT_OS_ACCOUNT, credId);
899 HcFree(credId);
900 EXPECT_EQ(ret, IS_SUCCESS);
901 EXPECT_EQ(g_credListenerStatus, CRED_LISTENER_ON_DELETE);
902 }
903
904 class CredMgrUnRegCredListenerTest : public testing::Test {
905 public:
906 static void SetUpTestCase();
907 static void TearDownTestCase();
908 void SetUp();
909 void TearDown();
910 };
911
SetUpTestCase()912 void CredMgrUnRegCredListenerTest::SetUpTestCase() {}
TearDownTestCase()913 void CredMgrUnRegCredListenerTest::TearDownTestCase() {}
914
SetUp()915 void CredMgrUnRegCredListenerTest::SetUp()
916 {
917 int ret = InitDeviceAuthService();
918 EXPECT_EQ(ret, IS_SUCCESS);
919 }
920
TearDown()921 void CredMgrUnRegCredListenerTest::TearDown()
922 {
923 DestroyDeviceAuthService();
924 }
925
926 HWTEST_F(CredMgrUnRegCredListenerTest, CredMgrUnRegCredListenerTest001, TestSize.Level0)
927 {
928 const CredManager *cm = GetCredMgrInstance();
929 ASSERT_NE(cm, nullptr);
930 CredChangeListener listener;
931 int32_t ret = cm->registerChangeListener(TEST_APP_ID, &listener);
932 EXPECT_EQ(ret, IS_SUCCESS);
933 ret = cm->unregisterChangeListener(TEST_APP_ID);
934 EXPECT_EQ(ret, IS_SUCCESS);
935 }
936
937 HWTEST_F(CredMgrUnRegCredListenerTest, CredMgrUnRegCredListenerTest002, TestSize.Level0)
938 {
939 const CredManager *cm = GetCredMgrInstance();
940 ASSERT_NE(cm, nullptr);
941 int32_t ret = cm->unregisterChangeListener(TEST_APP_ID);
942 EXPECT_EQ(ret, IS_SUCCESS);
943 }
944
945 HWTEST_F(CredMgrUnRegCredListenerTest, CredMgrUnRegCredListenerTest003, TestSize.Level0)
946 {
947 const CredManager *cm = GetCredMgrInstance();
948 ASSERT_NE(cm, nullptr);
949 int32_t ret = cm->unregisterChangeListener(nullptr);
950 EXPECT_EQ(ret, IS_ERR_INVALID_PARAMS);
951 }
952
953 class CredMgrAgreeCredentialTest : public testing::Test {
954 public:
955 static void SetUpTestCase();
956 static void TearDownTestCase();
957 void SetUp();
958 void TearDown();
959 };
960
SetUpTestCase()961 void CredMgrAgreeCredentialTest::SetUpTestCase() {}
TearDownTestCase()962 void CredMgrAgreeCredentialTest::TearDownTestCase() {}
963
SetUp()964 void CredMgrAgreeCredentialTest::SetUp()
965 {
966 DeleteDatabase();
967 int ret = InitDeviceAuthService();
968 EXPECT_EQ(ret, IS_SUCCESS);
969 }
970
TearDown()971 void CredMgrAgreeCredentialTest::TearDown()
972 {
973 DestroyDeviceAuthService();
974 }
975
976 HWTEST_F(CredMgrAgreeCredentialTest, CredMgrAgreeCredentialTest001, TestSize.Level0)
977 {
978 const CredManager *cm = GetCredMgrInstance();
979 ASSERT_NE(cm, nullptr);
980 char *selfCredId = nullptr;
981 int32_t ret = cm->addCredential(DEFAULT_OS_ACCOUNT, ADD_PARAMS17, &selfCredId);
982 EXPECT_EQ(ret, IS_SUCCESS);
983 char *returnData = nullptr;
984 ret = cm->agreeCredential(DEFAULT_OS_ACCOUNT, selfCredId, AGREE_PARAMS, &returnData);
985 HcFree(selfCredId);
986 HcFree(returnData);
987 EXPECT_EQ(ret, IS_SUCCESS);
988 }
989
990 HWTEST_F(CredMgrAgreeCredentialTest, CredMgrAgreeCredentialTest002, TestSize.Level0)
991 {
992 const CredManager *cm = GetCredMgrInstance();
993 ASSERT_NE(cm, nullptr);
994 char *returnData = nullptr;
995 int32_t ret = cm->agreeCredential(DEFAULT_OS_ACCOUNT, nullptr, AGREE_PARAMS, &returnData);
996 EXPECT_EQ(ret, IS_ERR_INVALID_PARAMS);
997 }
998
999 HWTEST_F(CredMgrAgreeCredentialTest, CredMgrAgreeCredentialTest003, TestSize.Level0)
1000 {
1001 const CredManager *cm = GetCredMgrInstance();
1002 ASSERT_NE(cm, nullptr);
1003 char *returnData = nullptr;
1004 int32_t ret = cm->agreeCredential(DEFAULT_OS_ACCOUNT, TEST_CRED_ID, nullptr, &returnData);
1005 EXPECT_EQ(ret, IS_ERR_INVALID_PARAMS);
1006 }
1007
1008 HWTEST_F(CredMgrAgreeCredentialTest, CredMgrAgreeCredentialTest004, TestSize.Level0)
1009 {
1010 const CredManager *cm = GetCredMgrInstance();
1011 ASSERT_NE(cm, nullptr);
1012 int32_t ret = cm->agreeCredential(DEFAULT_OS_ACCOUNT, TEST_CRED_ID, AGREE_PARAMS, nullptr);
1013 EXPECT_EQ(ret, IS_ERR_INVALID_PARAMS);
1014 }
1015
1016 class CredMgrBatchUpdateCredsTest : public testing::Test {
1017 public:
1018 static void SetUpTestCase();
1019 static void TearDownTestCase();
1020 void SetUp();
1021 void TearDown();
1022 };
1023
SetUpTestCase()1024 void CredMgrBatchUpdateCredsTest::SetUpTestCase() {}
TearDownTestCase()1025 void CredMgrBatchUpdateCredsTest::TearDownTestCase() {}
1026
SetUp()1027 void CredMgrBatchUpdateCredsTest::SetUp()
1028 {
1029 DeleteDatabase();
1030 int ret = InitDeviceAuthService();
1031 EXPECT_EQ(ret, IS_SUCCESS);
1032 }
1033
TearDown()1034 void CredMgrBatchUpdateCredsTest::TearDown()
1035 {
1036 DestroyDeviceAuthService();
1037 }
1038
1039 HWTEST_F(CredMgrBatchUpdateCredsTest, CredMgrBatchUpdateCredsTest001, TestSize.Level0)
1040 {
1041 const CredManager *cm = GetCredMgrInstance();
1042 ASSERT_NE(cm, nullptr);
1043 char *returnData = nullptr;
1044 int32_t ret = cm->batchUpdateCredentials(DEFAULT_OS_ACCOUNT, BATCH_UPDATE_PARAMS, &returnData);
1045 HcFree(returnData);
1046 EXPECT_EQ(ret, IS_SUCCESS);
1047 }
1048
1049 HWTEST_F(CredMgrBatchUpdateCredsTest, CredMgrBatchUpdateCredsTest002, TestSize.Level0)
1050 {
1051 const CredManager *cm = GetCredMgrInstance();
1052 ASSERT_NE(cm, nullptr);
1053 char *returnData = nullptr;
1054 int32_t ret = cm->batchUpdateCredentials(DEFAULT_OS_ACCOUNT, nullptr, &returnData);
1055 EXPECT_EQ(ret, IS_ERR_INVALID_PARAMS);
1056 }
1057
1058 HWTEST_F(CredMgrBatchUpdateCredsTest, CredMgrBatchUpdateCredsTest003, TestSize.Level0)
1059 {
1060 const CredManager *cm = GetCredMgrInstance();
1061 ASSERT_NE(cm, nullptr);
1062 char *returnData = nullptr;
1063 int32_t ret = cm->batchUpdateCredentials(DEFAULT_OS_ACCOUNT, BATCH_UPDATE_PARAMS1, &returnData);
1064 EXPECT_EQ(ret, IS_ERR_NOT_SUPPORT);
1065 }
1066
1067 HWTEST_F(CredMgrBatchUpdateCredsTest, CredMgrBatchUpdateCredsTest004, TestSize.Level0)
1068 {
1069 const CredManager *cm = GetCredMgrInstance();
1070 ASSERT_NE(cm, nullptr);
1071 int32_t ret = cm->batchUpdateCredentials(DEFAULT_OS_ACCOUNT, BATCH_UPDATE_PARAMS, nullptr);
1072 EXPECT_EQ(ret, IS_ERR_INVALID_PARAMS);
1073 }
1074
1075 HWTEST_F(CredMgrBatchUpdateCredsTest, CredMgrBatchUpdateCredsTest005, TestSize.Level0)
1076 {
1077 const CredManager *cm = GetCredMgrInstance();
1078 ASSERT_NE(cm, nullptr);
1079 char *credId = nullptr;
1080 int32_t ret = cm->addCredential(DEFAULT_OS_ACCOUNT, ADD_PARAMS18, &credId);
1081 HcFree(credId);
1082 EXPECT_EQ(ret, IS_SUCCESS);
1083 char *returnData = nullptr;
1084 ret = cm->batchUpdateCredentials(DEFAULT_OS_ACCOUNT, BATCH_UPDATE_PARAMS, &returnData);
1085 HcFree(returnData);
1086 EXPECT_EQ(ret, IS_SUCCESS);
1087 }
1088
1089 class CredMgrDelCredByParamsTest : public testing::Test {
1090 public:
1091 static void SetUpTestCase();
1092 static void TearDownTestCase();
1093 void SetUp();
1094 void TearDown();
1095 };
1096
SetUpTestCase()1097 void CredMgrDelCredByParamsTest::SetUpTestCase() {}
TearDownTestCase()1098 void CredMgrDelCredByParamsTest::TearDownTestCase() {}
1099
SetUp()1100 void CredMgrDelCredByParamsTest::SetUp()
1101 {
1102 DeleteDatabase();
1103 int ret = InitDeviceAuthService();
1104 EXPECT_EQ(ret, IS_SUCCESS);
1105 }
1106
TearDown()1107 void CredMgrDelCredByParamsTest::TearDown()
1108 {
1109 DestroyDeviceAuthService();
1110 }
1111
1112 HWTEST_F(CredMgrDelCredByParamsTest, CredMgrDelCredByParamsTest001, TestSize.Level0)
1113 {
1114 const CredManager *cm = GetCredMgrInstance();
1115 ASSERT_NE(cm, nullptr);
1116 char *credId = nullptr;
1117 int32_t ret = cm->addCredential(DEFAULT_OS_ACCOUNT, ADD_PARAMS, &credId);
1118 HcFree(credId);
1119 EXPECT_EQ(ret, IS_SUCCESS);
1120 char *returnData = nullptr;
1121 ret = cm->deleteCredByParams(DEFAULT_OS_ACCOUNT, DEL_PARAMS, &returnData);
1122 HcFree(returnData);
1123 EXPECT_EQ(ret, IS_SUCCESS);
1124 }
1125
1126 HWTEST_F(CredMgrDelCredByParamsTest, CredMgrDelCredByParamsTest002, TestSize.Level0)
1127 {
1128 const CredManager *cm = GetCredMgrInstance();
1129 ASSERT_NE(cm, nullptr);
1130 char *returnData = nullptr;
1131 int32_t ret = cm->deleteCredByParams(DEFAULT_OS_ACCOUNT, nullptr, &returnData);
1132 EXPECT_EQ(ret, IS_ERR_INVALID_PARAMS);
1133 }
1134
1135 HWTEST_F(CredMgrDelCredByParamsTest, CredMgrDelCredByParamsTest003, TestSize.Level0)
1136 {
1137 const CredManager *cm = GetCredMgrInstance();
1138 ASSERT_NE(cm, nullptr);
1139 int32_t ret = cm->deleteCredByParams(DEFAULT_OS_ACCOUNT, DEL_PARAMS, nullptr);
1140 EXPECT_EQ(ret, IS_ERR_INVALID_PARAMS);
1141 }
1142
1143 HWTEST_F(CredMgrDelCredByParamsTest, CredMgrDelCredByParamsTest004, TestSize.Level0)
1144 {
1145 const CredManager *cm = GetCredMgrInstance();
1146 ASSERT_NE(cm, nullptr);
1147 char *credId = nullptr;
1148 int32_t ret = cm->addCredential(DEFAULT_OS_ACCOUNT, ADD_PARAMS, &credId);
1149 HcFree(credId);
1150 EXPECT_EQ(ret, IS_SUCCESS);
1151 char *returnData = nullptr;
1152 ret = cm->deleteCredByParams(DEFAULT_OS_ACCOUNT, DEL_PARAMS1, &returnData);
1153 HcFree(returnData);
1154 EXPECT_EQ(ret, IS_SUCCESS);
1155 }
1156
1157 class CredListenerTest : public testing::Test {
1158 public:
1159 static void SetUpTestCase();
1160 static void TearDownTestCase();
1161 void SetUp();
1162 void TearDown();
1163 };
1164
SetUpTestCase()1165 void CredListenerTest::SetUpTestCase() {}
TearDownTestCase()1166 void CredListenerTest::TearDownTestCase() {}
1167
SetUp()1168 void CredListenerTest::SetUp()
1169 {
1170 int32_t ret = InitCredListener();
1171 EXPECT_EQ(ret, IS_SUCCESS);
1172 }
1173
TearDown()1174 void CredListenerTest::TearDown()
1175 {
1176 DestroyCredListener();
1177 }
1178
1179 HWTEST_F(CredListenerTest, CredListenerTest001, TestSize.Level0)
1180 {
1181 OnCredAdd(nullptr, nullptr);
1182 OnCredAdd(TEST_CRED_ID, TEST_CRED_INFO_ID);
1183 OnCredDelete(nullptr, nullptr);
1184 OnCredDelete(TEST_CRED_ID, TEST_CRED_INFO_ID);
1185 OnCredUpdate(nullptr, nullptr);
1186 OnCredUpdate(TEST_CRED_ID, TEST_CRED_INFO_ID);
1187 int32_t ret = AddCredListener(nullptr, &g_credChangeListener);
1188 EXPECT_NE(ret, IS_SUCCESS);
1189 ret = AddCredListener(TEST_APP_ID, nullptr);
1190 EXPECT_NE(ret, IS_SUCCESS);
1191 }
1192
1193 HWTEST_F(CredListenerTest, CredListenerTest002, TestSize.Level0)
1194 {
1195 int32_t ret = RemoveCredListener(nullptr);
1196 EXPECT_NE(ret, IS_SUCCESS);
1197 }
1198
1199 class IdentityOperationTest : public testing::Test {
1200 public:
1201 static void SetUpTestCase();
1202 static void TearDownTestCase();
1203 void SetUp();
1204 void TearDown();
1205 };
1206
SetUpTestCase()1207 void IdentityOperationTest::SetUpTestCase() {}
TearDownTestCase()1208 void IdentityOperationTest::TearDownTestCase() {}
1209
SetUp()1210 void IdentityOperationTest::SetUp()
1211 {
1212 }
1213
TearDown()1214 void IdentityOperationTest::TearDown()
1215 {
1216 }
1217
1218 HWTEST_F(IdentityOperationTest, IdentityOperationTest001, TestSize.Level0)
1219 {
1220 int32_t ret = GetCredentialById(DEFAULT_OS_ACCOUNT_ID, nullptr, nullptr);
1221 EXPECT_NE(ret, IS_SUCCESS);
1222 }
1223
1224 HWTEST_F(IdentityOperationTest, IdentityOperationTest002, TestSize.Level0)
1225 {
1226 char *credIdStr = nullptr;
1227 char *deviceId = nullptr;
1228 char *credOwner = nullptr;
1229 Uint8Buff *credIdByte = nullptr;
1230 int32_t ret = GenerateCredIdInner(nullptr, deviceId, credIdByte, &credIdStr);
1231 EXPECT_NE(ret, IS_SUCCESS);
1232 ret = GenerateCredIdInner(credOwner, nullptr, credIdByte, &credIdStr);
1233 EXPECT_NE(ret, IS_SUCCESS);
1234 }
1235
1236 HWTEST_F(IdentityOperationTest, IdentityOperationTest003, TestSize.Level0)
1237 {
1238 Credential *credetial = CreateCredential();
1239 int32_t ret = SetVectorFromList(&credetial->authorizedAppList, nullptr);
1240 DestroyCredential(credetial);
1241 EXPECT_EQ(ret, IS_SUCCESS);
1242 }
1243
1244 HWTEST_F(IdentityOperationTest, IdentityOperationTest004, TestSize.Level0)
1245 {
1246 int32_t ret = SetMethodFromJson(nullptr, nullptr);
1247 EXPECT_NE(ret, IS_SUCCESS);
1248 }
1249
1250 HWTEST_F(IdentityOperationTest, IdentityOperationTest005, TestSize.Level0)
1251 {
1252 int32_t ret = SetCredType(nullptr, nullptr);
1253 EXPECT_NE(ret, IS_SUCCESS);
1254 }
1255
1256 HWTEST_F(IdentityOperationTest, IdentityOperationTest006, TestSize.Level0)
1257 {
1258 int32_t ret = SetKeyFormat(nullptr, nullptr, DEFAULT_VAL);
1259 EXPECT_NE(ret, IS_SUCCESS);
1260 Credential *credetial = CreateCredential();
1261 CJson *json = CreateJson();
1262 ret = AddIntToJson(json, FIELD_KEY_FORMAT, SYMMETRIC_KEY);
1263 EXPECT_EQ(ret, IS_SUCCESS);
1264 ret = SetKeyFormat(credetial, json, DEFAULT_VAL);
1265 EXPECT_NE(ret, IS_SUCCESS);
1266
1267 ret = AddIntToJson(json, FIELD_KEY_FORMAT, ASYMMETRIC_PUB_KEY);
1268 EXPECT_EQ(ret, IS_SUCCESS);
1269 ret = SetKeyFormat(credetial, json, METHOD_GENERATE);
1270 EXPECT_NE(ret, IS_SUCCESS);
1271
1272 ret = AddIntToJson(json, FIELD_KEY_FORMAT, ASYMMETRIC_KEY);
1273 EXPECT_EQ(ret, IS_SUCCESS);
1274 ret = SetKeyFormat(credetial, json, METHOD_IMPORT);
1275 EXPECT_NE(ret, IS_SUCCESS);
1276 DestroyCredential(credetial);
1277 FreeJson(json);
1278 }
1279
1280 HWTEST_F(IdentityOperationTest, IdentityOperationTest007, TestSize.Level0)
1281 {
1282 int32_t ret = SetAuthorizedScope(nullptr, nullptr);
1283 EXPECT_NE(ret, IS_SUCCESS);
1284 }
1285
1286 HWTEST_F(IdentityOperationTest, IdentityOperationTest008, TestSize.Level0)
1287 {
1288 int32_t ret = GetCredentialById(DEFAULT_OS_ACCOUNT_ID, nullptr, nullptr);
1289 EXPECT_NE(ret, IS_SUCCESS);
1290 }
1291
1292 HWTEST_F(IdentityOperationTest, IdentityOperationTest009, TestSize.Level0)
1293 {
1294 int32_t ret = CombineBaseCredId(nullptr, nullptr, nullptr);
1295 EXPECT_NE(ret, IS_SUCCESS);
1296 }
1297
1298 HWTEST_F(IdentityOperationTest, IdentityOperationTest010, TestSize.Level0)
1299 {
1300 int32_t ret = Sha256BaseCredId(nullptr, nullptr, nullptr);
1301 EXPECT_NE(ret, IS_SUCCESS);
1302 }
1303
1304 class IdentityServiceImplTest : public testing::Test {
1305 public:
1306 static void SetUpTestCase();
1307 static void TearDownTestCase();
1308 void SetUp();
1309 void TearDown();
1310 };
1311
SetUpTestCase()1312 void IdentityServiceImplTest::SetUpTestCase() {}
TearDownTestCase()1313 void IdentityServiceImplTest::TearDownTestCase() {}
1314
SetUp()1315 void IdentityServiceImplTest::SetUp()
1316 {
1317 DeleteDatabase();
1318 int ret = InitDeviceAuthService();
1319 EXPECT_EQ(ret, IS_SUCCESS);
1320 }
1321
TearDown()1322 void IdentityServiceImplTest::TearDown()
1323 {
1324 DestroyDeviceAuthService();
1325 }
1326
1327 HWTEST_F(IdentityServiceImplTest, IdentityServiceImplTest001, TestSize.Level0)
1328 {
1329 int32_t ret = AddCredentialImpl(DEFAULT_OS_ACCOUNT_ID, nullptr, nullptr);
1330 EXPECT_NE(ret, IS_SUCCESS);
1331 }
1332
1333 HWTEST_F(IdentityServiceImplTest, IdentityServiceImplTest002, TestSize.Level0)
1334 {
1335 int32_t ret = ExportCredentialImpl(DEFAULT_OS_ACCOUNT_ID, nullptr, nullptr);
1336 EXPECT_NE(ret, IS_SUCCESS);
1337 }
1338
1339 HWTEST_F(IdentityServiceImplTest, IdentityServiceImplTest003, TestSize.Level0)
1340 {
1341 int32_t ret = QueryCredentialByParamsImpl(DEFAULT_OS_ACCOUNT_ID, nullptr, nullptr);
1342 EXPECT_NE(ret, IS_SUCCESS);
1343 }
1344
1345 HWTEST_F(IdentityServiceImplTest, IdentityServiceImplTest004, TestSize.Level0)
1346 {
1347 int32_t ret = QueryCredInfoByCredIdImpl(DEFAULT_OS_ACCOUNT_ID, nullptr, nullptr);
1348 EXPECT_NE(ret, IS_SUCCESS);
1349 }
1350
1351 HWTEST_F(IdentityServiceImplTest, IdentityServiceImplTest005, TestSize.Level0)
1352 {
1353 int32_t ret = DeleteCredentialImpl(DEFAULT_OS_ACCOUNT_ID, nullptr);
1354 EXPECT_NE(ret, IS_SUCCESS);
1355 }
1356
1357 HWTEST_F(IdentityServiceImplTest, IdentityServiceImplTest006, TestSize.Level0)
1358 {
1359 int32_t ret = DeleteCredByParamsImpl(DEFAULT_OS_ACCOUNT_ID, nullptr, nullptr);
1360 EXPECT_NE(ret, IS_SUCCESS);
1361 }
1362
1363 HWTEST_F(IdentityServiceImplTest, IdentityServiceImplTest007, TestSize.Level0)
1364 {
1365 int32_t ret = UpdateCredInfoImpl(DEFAULT_OS_ACCOUNT_ID, nullptr, nullptr);
1366 EXPECT_NE(ret, IS_SUCCESS);
1367 }
1368
1369 HWTEST_F(IdentityServiceImplTest, IdentityServiceImplTest008, TestSize.Level0)
1370 {
1371 QueryCredentialParams queryParam;
1372 int32_t ret = AddUpdateCred(DEFAULT_OS_ACCOUNT_ID, nullptr, &queryParam);
1373 EXPECT_NE(ret, IS_SUCCESS);
1374 }
1375
1376 HWTEST_F(IdentityServiceImplTest, IdentityServiceImplTest009, TestSize.Level0)
1377 {
1378 QueryCredentialParams queryParam;
1379 int32_t ret = ProcessAbnormalCreds(DEFAULT_OS_ACCOUNT_ID, nullptr, &queryParam);
1380 EXPECT_NE(ret, IS_SUCCESS);
1381 }
1382
1383 HWTEST_F(IdentityServiceImplTest, IdentityServiceImplTest010, TestSize.Level0)
1384 {
1385 int32_t ret = BatchUpdateCredsImpl(DEFAULT_OS_ACCOUNT_ID, nullptr, nullptr);
1386 EXPECT_NE(ret, IS_SUCCESS);
1387 }
1388
1389 HWTEST_F(IdentityServiceImplTest, IdentityServiceImplTest011, TestSize.Level0)
1390 {
1391 int32_t ret = AgreeCredentialImpl(DEFAULT_OS_ACCOUNT_ID, nullptr, nullptr, nullptr);
1392 EXPECT_NE(ret, IS_SUCCESS);
1393 }
1394
1395 class SessionV1Test : public testing::Test {
1396 public:
1397 static void SetUpTestCase();
1398 static void TearDownTestCase();
1399 void SetUp();
1400 void TearDown();
1401 };
1402
SetUpTestCase()1403 void SessionV1Test::SetUpTestCase() {}
TearDownTestCase()1404 void SessionV1Test::TearDownTestCase() {}
1405
SetUp()1406 void SessionV1Test::SetUp()
1407 {
1408 }
1409
TearDown()1410 void SessionV1Test::TearDown()
1411 {
1412 }
1413
1414 HWTEST_F(SessionV1Test, SessionV1Test001, TestSize.Level0)
1415 {
1416 int32_t ret = CheckPermission(DEFAULT_VAL);
1417 EXPECT_NE(ret, IS_SUCCESS);
1418 }
1419
1420 HWTEST_F(SessionV1Test, SessionV1Test002, TestSize.Level0)
1421 {
1422 SubSessionTypeValue subSessionType = TYPE_CLIENT_BIND_SUB_SESSION;
1423 int32_t ret = CreateCompatibleSubSession(subSessionType, nullptr, nullptr, nullptr);
1424 EXPECT_EQ(ret, HC_ERR_INVALID_PARAMS);
1425
1426 CJson *json = CreateJson();
1427 ASSERT_NE(json, nullptr);
1428 DeviceAuthCallback *callback;
1429 CompatibleBaseSubSession *subSession;
1430
1431 ret = CreateCompatibleSubSession(subSessionType, json, nullptr, nullptr);
1432 EXPECT_EQ(ret, HC_ERR_INVALID_PARAMS);
1433 ret = CreateCompatibleSubSession(subSessionType, nullptr, callback, nullptr);
1434 EXPECT_EQ(ret, HC_ERR_INVALID_PARAMS);
1435 ret = CreateCompatibleSubSession(subSessionType, nullptr, nullptr, &subSession);
1436 EXPECT_EQ(ret, HC_ERR_INVALID_PARAMS);
1437
1438 ret = CreateCompatibleSubSession(subSessionType, json, callback, nullptr);
1439 EXPECT_EQ(ret, HC_ERR_INVALID_PARAMS);
1440 ret = CreateCompatibleSubSession(subSessionType, json, nullptr, &subSession);
1441 EXPECT_EQ(ret, HC_ERR_INVALID_PARAMS);
1442 ret = CreateCompatibleSubSession(subSessionType, nullptr, callback, &subSession);
1443 EXPECT_EQ(ret, HC_ERR_INVALID_PARAMS);
1444
1445 ret = CreateCompatibleSubSession(subSessionType, json, callback, &subSession);
1446 FreeJson(json);
1447 EXPECT_NE(ret, HC_SUCCESS);
1448 }
1449
1450 HWTEST_F(SessionV1Test, SessionV1Test003, TestSize.Level0)
1451 {
1452 int32_t ret = ProcessCompatibleSubSession(nullptr, nullptr, nullptr, nullptr);
1453 DestroyCompatibleSubSession(nullptr);
1454 EXPECT_EQ(ret, HC_ERR_INVALID_PARAMS);
1455 CompatibleBaseSubSession subSession;
1456 subSession.type = DEFAULT_VAL;
1457 CJson *in = CreateJson();
1458 ASSERT_NE(in, nullptr);
1459 CJson *out = CreateJson();
1460 ASSERT_NE(out, nullptr);
1461 int32_t *status = DEFAULT_VAL;
1462
1463 ret = ProcessCompatibleSubSession(&subSession, nullptr, nullptr, nullptr);
1464 EXPECT_EQ(ret, HC_ERR_INVALID_PARAMS);
1465 ret = ProcessCompatibleSubSession(&subSession, in, nullptr, nullptr);
1466 EXPECT_EQ(ret, HC_ERR_INVALID_PARAMS);
1467 ret = ProcessCompatibleSubSession(&subSession, in, &out, nullptr);
1468 EXPECT_EQ(ret, HC_ERR_INVALID_PARAMS);
1469 ret = ProcessCompatibleSubSession(&subSession, in, &out, status);
1470 DestroyCompatibleSubSession(&subSession);
1471 EXPECT_NE(ret, HC_SUCCESS);
1472
1473 FreeJson(in);
1474 FreeJson(out);
1475 }
1476
1477 class CredSessionUtilTest : public testing::Test {
1478 public:
1479 static void SetUpTestCase();
1480 static void TearDownTestCase();
1481 void SetUp();
1482 void TearDown();
1483 };
1484
SetUpTestCase()1485 void CredSessionUtilTest::SetUpTestCase() {}
TearDownTestCase()1486 void CredSessionUtilTest::TearDownTestCase() {}
1487
SetUp()1488 void CredSessionUtilTest::SetUp() {}
1489
TearDown()1490 void CredSessionUtilTest::TearDown() {}
1491
1492 HWTEST_F(CredSessionUtilTest, CredSessionUtilTest001, TestSize.Level0)
1493 {
1494 int32_t ret = AddChannelInfoToContext(DEFAULT_CHANNEL_TYPE, DEFAULT_CHANNEL_ID, nullptr);
1495 EXPECT_NE(ret, IS_SUCCESS);
1496 CJson *in = CreateJson();
1497 ret = AddChannelInfoToContext(DEFAULT_CHANNEL_TYPE, DEFAULT_CHANNEL_ID, in);
1498 EXPECT_EQ(ret, IS_SUCCESS);
1499 FreeJson(in);
1500 }
1501
1502 HWTEST_F(CredSessionUtilTest, CredSessionUtilTest002, TestSize.Level0)
1503 {
1504 int32_t ret = AddCredIdToContextIfNeeded(nullptr);
1505 EXPECT_NE(ret, IS_SUCCESS);
1506 CJson *in = CreateJson();
1507 CJson *credDataJson = CreateJsonFromString(CRED_DATA);
1508 (void)AddObjToJson(in, FIELD_CREDENTIAL_OBJ, credDataJson);
1509 FreeJson(credDataJson);
1510 ret = AddCredIdToContextIfNeeded(in);
1511 EXPECT_NE(ret, IS_SUCCESS);
1512
1513 credDataJson = CreateJsonFromString(CRED_DATA_1);
1514 (void)AddObjToJson(in, FIELD_CREDENTIAL_OBJ, credDataJson);
1515 FreeJson(credDataJson);
1516 ret = AddCredIdToContextIfNeeded(in);
1517 EXPECT_EQ(ret, IS_SUCCESS);
1518 FreeJson(in);
1519 }
1520
1521 HWTEST_F(CredSessionUtilTest, CredSessionUtilTest003, TestSize.Level0)
1522 {
1523 int32_t ret = CheckConfirmationExist(nullptr);
1524 EXPECT_NE(ret, IS_SUCCESS);
1525 CJson *in = CreateJson();
1526 (void)AddIntToJson(in, FIELD_CONFIRMATION, REQUEST_REJECTED);
1527 ret = CheckConfirmationExist(in);
1528 EXPECT_EQ(ret, IS_SUCCESS);
1529 (void)AddIntToJson(in, FIELD_CONFIRMATION, REQUEST_ACCEPTED);
1530 ret = CheckConfirmationExist(in);
1531 EXPECT_EQ(ret, IS_SUCCESS);
1532 FreeJson(in);
1533 }
1534
1535 HWTEST_F(CredSessionUtilTest, CredSessionUtilTest004, TestSize.Level0)
1536 {
1537 const char *ret = GetAppIdByContext(nullptr);
1538 EXPECT_EQ(ret, nullptr);
1539 CJson *in = CreateJson();
1540 CJson *credDataJson = CreateJsonFromString(CRED_DATA);
1541 (void)AddObjToJson(in, FIELD_CREDENTIAL_OBJ, credDataJson);
1542 FreeJson(credDataJson);
1543 ret = GetAppIdByContext(in);
1544 EXPECT_EQ(ret, nullptr);
1545
1546 credDataJson = CreateJsonFromString(CRED_DATA_1);
1547 (void)AddObjToJson(in, FIELD_CREDENTIAL_OBJ, credDataJson);
1548 FreeJson(credDataJson);
1549 ret = GetAppIdByContext(in);
1550 EXPECT_NE(ret, nullptr);
1551
1552 (void)AddStringToJson(in, FIELD_PIN_CODE, TEST_PIN_CODE);
1553 ret = GetAppIdByContext(in);
1554 EXPECT_EQ(ret, nullptr);
1555 (void)AddStringToJson(in, FIELD_SERVICE_PKG_NAME, TEST_APP_ID);
1556 ret = GetAppIdByContext(in);
1557 EXPECT_NE(ret, nullptr);
1558 FreeJson(in);
1559 }
1560
1561 HWTEST_F(CredSessionUtilTest, CredSessionUtilTest005, TestSize.Level0)
1562 {
1563 int32_t ret = AddUserIdHashHexStringToContext(nullptr, nullptr);
1564 EXPECT_NE(ret, IS_SUCCESS);
1565 CJson *in = CreateJson();
1566 (void)AddIntToJson(in, FIELD_CRED_TYPE, TEST_CRED_TYPE_1);
1567 ret = AddUserIdHashHexStringToContext(nullptr, in);
1568 EXPECT_EQ(ret, IS_SUCCESS);
1569 (void)AddIntToJson(in, FIELD_CRED_TYPE, TEST_CRED_TYPE);
1570 ret = AddUserIdHashHexStringToContext(nullptr, in);
1571 EXPECT_NE(ret, IS_SUCCESS);
1572
1573 (void)AddStringToJson(in, FIELD_USER_ID, TEST_USER_ID);
1574 ret = AddUserIdHashHexStringToContext(nullptr, in);
1575 EXPECT_NE(ret, IS_SUCCESS);
1576 FreeJson(in);
1577 }
1578
1579 HWTEST_F(CredSessionUtilTest, CredSessionUtilTest006, TestSize.Level0)
1580 {
1581 int32_t ret = QueryAndAddSelfCredToContext(DEFAULT_OS_ACCOUNT_ID, nullptr);
1582 EXPECT_NE(ret, IS_SUCCESS);
1583 CJson *in = CreateJson();
1584 (void)AddStringToJson(in, FIELD_CRED_ID, TEST_CRED_ID);
1585 ret = QueryAndAddSelfCredToContext(DEFAULT_OS_ACCOUNT_ID, in);
1586 EXPECT_NE(ret, IS_SUCCESS);
1587 FreeJson(in);
1588 }
1589
1590 HWTEST_F(CredSessionUtilTest, CredSessionUtilTest007, TestSize.Level0)
1591 {
1592 bool ret = CheckIsCredBind(nullptr);
1593 EXPECT_NE(ret, true);
1594 CJson *in = CreateJson();
1595 (void)AddStringToJson(in, FIELD_PIN_CODE, TEST_PIN_CODE_1);
1596 ret = CheckIsCredBind(in);
1597 EXPECT_NE(ret, true);
1598
1599 (void)AddStringToJson(in, FIELD_PIN_CODE, TEST_PIN_CODE);
1600 ret = CheckIsCredBind(in);
1601 EXPECT_EQ(ret, true);
1602 FreeJson(in);
1603 }
1604
1605 HWTEST_F(CredSessionUtilTest, CredSessionUtilTest008, TestSize.Level0)
1606 {
1607 int32_t ret = AddAuthIdToCredContext(nullptr);
1608 EXPECT_NE(ret, IS_SUCCESS);
1609 CJson *in = CreateJson();
1610 ret = AddAuthIdToCredContext(in);
1611 EXPECT_EQ(ret, IS_SUCCESS);
1612 FreeJson(in);
1613 }
1614
1615 HWTEST_F(CredSessionUtilTest, CredSessionUtilTest009, TestSize.Level0)
1616 {
1617 int32_t ret = BuildClientCredBindContext(DEFAULT_OS_ACCOUNT_ID, DEFAULT_REQUEST_ID, nullptr, nullptr);
1618 EXPECT_NE(ret, IS_SUCCESS);
1619 CJson *in = CreateJson();
1620 (void)AddStringToJson(in, FIELD_SERVICE_PKG_NAME, TEST_APP_ID);
1621 const char *returnAppId = nullptr;
1622 ret = BuildClientCredBindContext(DEFAULT_OS_ACCOUNT_ID, DEFAULT_REQUEST_ID, in, &returnAppId);
1623 EXPECT_NE(ret, IS_SUCCESS);
1624 FreeJson(in);
1625 }
1626
1627 HWTEST_F(CredSessionUtilTest, CredSessionUtilTest010, TestSize.Level0)
1628 {
1629 int32_t ret = SetContextOpCode(nullptr);
1630 EXPECT_NE(ret, IS_SUCCESS);
1631 CJson *in = CreateJson();
1632 (void)AddIntToJson(in, FIELD_CRED_TYPE, TEST_CRED_TYPE);
1633 ret = SetContextOpCode(in);
1634 EXPECT_EQ(ret, IS_SUCCESS);
1635 (void)AddIntToJson(in, FIELD_CRED_TYPE, TEST_CRED_TYPE_1);
1636 ret = SetContextOpCode(in);
1637 EXPECT_EQ(ret, IS_SUCCESS);
1638 (void)AddIntToJson(in, FIELD_CRED_TYPE, TEST_CRED_TYPE_2);
1639 ret = SetContextOpCode(in);
1640 EXPECT_EQ(ret, IS_SUCCESS);
1641 (void)AddIntToJson(in, FIELD_CRED_TYPE, TEST_CRED_TYPE_3);
1642 ret = SetContextOpCode(in);
1643 EXPECT_NE(ret, IS_SUCCESS);
1644 FreeJson(in);
1645 }
1646
1647 HWTEST_F(CredSessionUtilTest, CredSessionUtilTest011, TestSize.Level0)
1648 {
1649 int32_t ret = BuildClientCredAuthContext(DEFAULT_OS_ACCOUNT_ID, DEFAULT_REQUEST_ID, nullptr, nullptr);
1650 EXPECT_NE(ret, IS_SUCCESS);
1651 }
1652
1653 HWTEST_F(CredSessionUtilTest, CredSessionUtilTest012, TestSize.Level0)
1654 {
1655 int32_t ret = BuildClientCredContext(DEFAULT_OS_ACCOUNT_ID, DEFAULT_REQUEST_ID,
1656 nullptr, nullptr);
1657 EXPECT_NE(ret, IS_SUCCESS);
1658 CJson *in = CreateJson();
1659 (void)AddStringToJson(in, FIELD_PIN_CODE, TEST_PIN_CODE);
1660 const char *returnAppId = nullptr;
1661 ret = BuildClientCredContext(DEFAULT_OS_ACCOUNT_ID, DEFAULT_REQUEST_ID, in, &returnAppId);
1662 EXPECT_NE(ret, IS_SUCCESS);
1663 ret = BuildServerCredBindContext(DEFAULT_REQUEST_ID, in, nullptr, &returnAppId);
1664 EXPECT_NE(ret, IS_SUCCESS);
1665 ret = BuildServerCredAuthContext(DEFAULT_REQUEST_ID, in, nullptr, &returnAppId);
1666 EXPECT_NE(ret, IS_SUCCESS);
1667 ret = BuildServerCredContext(DEFAULT_REQUEST_ID, nullptr, nullptr, &returnAppId);
1668 EXPECT_NE(ret, IS_SUCCESS);
1669 FreeJson(in);
1670 }
1671 } // namespace