• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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