1 /*
2  * Copyright (C) 2021 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 <cstdint>
17 #include <cstdlib>
18 #include "gtest/gtest.h"
19 #include "gmock/gmock.h"
20 #include "securec.h"
21 #include "hichain.h"
22 #include "distribution.h"
23 #include "huks_adapter.h"
24 #include "log.h"
25 #include "auth_info_test.h"
26 #include "commonutil_test.h"
27 #include "jsonutil_test.h"
28 #include "cJSON.h"
29 #include "deviceauth_test.h"
30 
31 #define LOG(format, ...) (printf(format"\n", ##__VA_ARGS__))
32 
33 using namespace std;
34 using namespace testing::ext;
35 using ::testing::Return;
36 
37 namespace {
38 const int KEY_LEN = 16;
39 const int KEY_LEN_ERROR = 68;
40 const int AUTH_ID_LENGTH = 64;
41 const int ERROR_NUM_LENGTH = -1;
42 const int ERROR_ZERO_LENGTH = 0;
43 const int ERROR_LENGTH = 258;
44 
45 static struct session_identity g_server_identity = {
46     153666603,
47     {strlen("aaa.bbbb.ccc"), "aaa.bbbb.ccc"},
48     {strlen("CarDevice"), "CarDevice"},
49     0
50 };
51 
52 static struct session_identity g_server_identity001 = {
53     153666603,
54     {ERROR_LENGTH, "aaa.bbbb.ccc"},
55     {strlen("CarDevice"), "CarDevice"},
56     0
57 };
58 
59 static struct session_identity g_server_identity002 = {
60     153666603,
61     {strlen("aaa.bbbb.ccc"), "aaa.bbbb.ccc"},
62     {ERROR_LENGTH, "CarDevice"},
63     0
64 };
65 
66 static struct session_identity g_server_identity003 = {
67     153666603,
68     {ERROR_NUM_LENGTH, "aaa.bbbb.ccc"},
69     {ERROR_LENGTH, "CarDevice"},
70     0
71 };
72 
73 static struct hc_pin g_testPin = {strlen("123456"), "123456"};
74 static struct hc_pin g_testPin001 = {KEY_LEN_ERROR, "ab"};
75 static struct hc_pin g_testPin002 = {ERROR_ZERO_LENGTH, "cd"};
76 
77 static struct hc_auth_id g_testClientAuthId;
78 static struct hc_auth_id g_testServerAuthId;
79 
80 static int32_t g_result;
81 
82 uint8_t g_testPhoneId[65] = {"14bb6543b893a3250f5793fbbbd48be56641505dc6514be1bb37b032903ebc67"};
83 uint8_t g_testCarId[65] = {"14bb6543b893a3250f5793fbbbd48be56641505dc6514be1bb37b032903abcde"};
84 
InitHcAuthId()85 void InitHcAuthId()
86 {
87     memcpy_s(g_testClientAuthId.auth_id, AUTH_ID_LENGTH, g_testPhoneId, AUTH_ID_LENGTH);
88     g_testClientAuthId.length = AUTH_ID_LENGTH;
89 
90     memcpy_s(g_testServerAuthId.auth_id, AUTH_ID_LENGTH, g_testCarId, AUTH_ID_LENGTH);
91     g_testServerAuthId.length = AUTH_ID_LENGTH;
92 
93     return;
94 }
95 
96 static struct hc_auth_id g_testClientAuthId001 = {strlen("authClient1"), "authClient1"};
97 static struct hc_auth_id g_testClientAuthId002 = {strlen("authClient2"), "authClient2"};
98 static struct hc_auth_id g_testClientAuthId003 = {KEY_LEN_ERROR, ""};
99 
100 static struct hc_auth_id g_testServerAuthId001 = {0, "authServer1"};
101 static struct hc_auth_id g_testServerAuthId002 = {-1, "authServer2"};
102 static struct hc_auth_id g_testServerAuthId003 = {KEY_LEN_ERROR, ""};
103 
104 struct hc_auth_id *g_authIdClientList[3] = {
105     &g_testClientAuthId,
106     &g_testClientAuthId001,
107     &g_testClientAuthId002
108 };
109 struct hc_auth_id **g_authIdList = g_authIdClientList;
110 
111 enum HksErrorCode {
112     HKS_SUCCESS = 0,
113     HKS_FAILURE = -1,
114     HKS_ERROR_INVALID_KEY_FILE = -27,
115     HKS_ERROR_UPDATE_ROOT_KEY_MATERIAL_FAIL = -37,
116     HKS_ERROR_CRYPTO_ENGINE_ERROR = -31,
117 };
118 
Transmit(const struct session_identity * identity,const void * data,uint32_t length)119 static void Transmit(const struct session_identity *identity, const void *data, uint32_t length)
120 {
121     LOG("--------Transmit--------");
122     LOG("identity session_id[%d] package_name[%s]", identity->session_id, identity->package_name.name);
123     LOG("length[%u]", length);
124     LOG("--------Transmit--------");
125 }
126 
GetProtocolParams(const struct session_identity * identity,int32_t operationCode,struct hc_pin * pin,struct operation_parameter * para)127 static void GetProtocolParams(const struct session_identity *identity, int32_t operationCode,
128     struct hc_pin *pin, struct operation_parameter *para)
129 {
130     LOG("--------GetProtocolParams--------");
131     LOG("identity session_id[%d] package_name[%s]", identity->session_id, identity->package_name.name);
132     LOG("operationCode[%d]", operationCode);
133     pin->length = g_testPin.length;
134     memcpy_s(pin->pin, pin->length, g_testPin.pin, pin->length);
135     para->self_auth_id = g_testServerAuthId;
136     para->peer_auth_id = g_testClientAuthId;
137     para->key_length = KEY_LEN;
138     LOG("--------GetProtocolParams--------");
139 }
140 
SetSessionKey(const struct session_identity * identity,const struct hc_session_key * sessionKey)141 static void SetSessionKey(const struct session_identity *identity, const struct hc_session_key *sessionKey)
142 {
143     LOG("--------SetSessionKey--------");
144     LOG("identity session_id[%d] package_name[%s]", identity->session_id, identity->package_name.name);
145     LOG("sessionKey[%s]", sessionKey->session_key);
146     LOG("--------SetSessionKey--------");
147 }
148 
SetServiceResult(const struct session_identity * identity,int32_t result,int32_t errorCode)149 static void SetServiceResult(const struct session_identity *identity, int32_t result, int32_t errorCode)
150 {
151     LOG("--------SetServiceResult--------");
152     LOG("identity session_id[%d] package_name[%s]", identity->session_id, identity->package_name.name);
153     LOG("result[%d]", result);
154     LOG("--------SetServiceResult--------");
155     g_result = result;
156 }
157 
ConfirmReceiveRequest(const struct session_identity * identity,int32_t operationCode)158 static int32_t ConfirmReceiveRequest(const struct session_identity *identity, int32_t operationCode)
159 {
160     LOG("--------ConfirmReceiveRequest--------");
161     LOG("identity session_id[%d] package_name[%s]", identity->session_id, identity->package_name.name);
162     LOG("operationCode[%d]", operationCode);
163     LOG("--------ConfirmReceiveRequest--------");
164     return HC_OK;
165 }
166 
GetProtocolParams001(const struct session_identity * identity,int32_t operationCode,struct hc_pin * pin,struct operation_parameter * para)167 static void GetProtocolParams001(const struct session_identity *identity, int32_t operationCode,
168     struct hc_pin *pin, struct operation_parameter *para)
169 {
170     LOG("--------GetProtocolParams--------");
171     LOG("identity session_id[%d] package_name[%s]", identity->session_id, identity->package_name.name);
172     LOG("operationCode[%d]", operationCode);
173     pin->length = g_testPin.length;
174     memcpy_s(pin->pin, pin->length, g_testPin001.pin, pin->length);
175     pin->length = KEY_LEN_ERROR;
176     para->self_auth_id = g_testServerAuthId;
177     para->peer_auth_id = g_testClientAuthId;
178     para->key_length = KEY_LEN;
179     LOG("--------GetProtocolParams--------");
180 }
181 
GetProtocolParams002(const struct session_identity * identity,int32_t operationCode,struct hc_pin * pin,struct operation_parameter * para)182 static void GetProtocolParams002(const struct session_identity *identity, int32_t operationCode,
183     struct hc_pin *pin, struct operation_parameter *para)
184 {
185     LOG("--------GetProtocolParams--------");
186     LOG("identity session_id[%d] package_name[%s]", identity->session_id, identity->package_name.name);
187     LOG("operationCode[%d]", operationCode);
188     pin->length = g_testPin.length;
189     memcpy_s(pin->pin, pin->length, g_testPin002.pin, pin->length);
190     para->self_auth_id = g_testServerAuthId003;
191     para->peer_auth_id = g_testClientAuthId;
192     para->key_length = KEY_LEN_ERROR;
193     LOG("--------GetProtocolParams--------");
194 }
195 
GetProtocolParams003(const struct session_identity * identity,int32_t operationCode,struct hc_pin * pin,struct operation_parameter * para)196 static void GetProtocolParams003(const struct session_identity *identity, int32_t operationCode,
197     struct hc_pin *pin, struct operation_parameter *para)
198 {
199     LOG("--------GetProtocolParams--------");
200     LOG("identity session_id[%d] package_name[%s]", identity->session_id, identity->package_name.name);
201     LOG("operationCode[%d]", operationCode);
202     pin->length = g_testPin.length;
203     memcpy_s(pin->pin, pin->length, g_testPin.pin, pin->length);
204     para->self_auth_id = g_testServerAuthId;
205     para->peer_auth_id = g_testClientAuthId003;
206     para->key_length = KEY_LEN;
207     LOG("--------GetProtocolParams--------");
208 }
209 
GetProtocolParams004(const struct session_identity * identity,int32_t operationCode,struct hc_pin * pin,struct operation_parameter * para)210 static void GetProtocolParams004(const struct session_identity *identity, int32_t operationCode,
211     struct hc_pin *pin, struct operation_parameter *para)
212 {
213     LOG("--------GetProtocolParams--------");
214     LOG("identity session_id[%d] package_name[%s]", identity->session_id, identity->package_name.name);
215     LOG("operationCode[%d]", operationCode);
216     pin->length = g_testPin.length;
217     memcpy_s(pin->pin, pin->length, g_testPin.pin, pin->length);
218     pin->length = KEY_LEN_ERROR;
219     para->self_auth_id = g_testServerAuthId;
220     para->peer_auth_id = g_testClientAuthId;
221     para->key_length = KEY_LEN_ERROR;
222     LOG("--------GetProtocolParams--------");
223 }
224 
GetProtocolParams005(const struct session_identity * identity,int32_t operationCode,struct hc_pin * pin,struct operation_parameter * para)225 static void GetProtocolParams005(const struct session_identity *identity, int32_t operationCode,
226     struct hc_pin *pin, struct operation_parameter *para)
227 {
228     LOG("--------GetProtocolParams--------");
229     LOG("identity session_id[%d] package_name[%s]", identity->session_id, identity->package_name.name);
230     LOG("operationCode[%d]", operationCode);
231     pin->length = g_testPin.length;
232     memcpy_s(pin->pin, pin->length, g_testPin.pin, pin->length);
233     pin->length = KEY_LEN_ERROR;
234     para->self_auth_id = g_testServerAuthId002;
235     para->peer_auth_id = g_testClientAuthId;
236     para->key_length = KEY_LEN_ERROR;
237     LOG("--------GetProtocolParams--------");
238 }
239 
240 class GetInstanceTest : public testing::Test {
241 public:
242     static void SetUpTestCase(void);
243     static void TearDownTestCase(void);
244     void SetUp();
245     void TearDown();
246 };
247 
SetUpTestCase(void)248 void GetInstanceTest::SetUpTestCase(void) {}
TearDownTestCase(void)249 void GetInstanceTest::TearDownTestCase(void) {}
SetUp()250 void GetInstanceTest::SetUp()
251 {
252     InitHcAuthId();
253 }
TearDown()254 void GetInstanceTest::TearDown() {}
255 
256 static HWTEST_F(GetInstanceTest, GetInstanceTest001, TestSize.Level2)
257 {
258     LOG("--------DeviceAuthTest Test001--------");
259     LOG("--------get_instance--------");
260 
261     struct hc_call_back callBack = {
262         Transmit,
263         GetProtocolParams,
264         SetSessionKey,
265         SetServiceResult,
266         ConfirmReceiveRequest
267     };
268 
269     hc_handle server = get_instance(&g_server_identity, HC_ACCESSORY, &callBack);
270     ASSERT_TRUE(server != nullptr);
271     struct hichain *hichainTest = reinterpret_cast<struct hichain *>(server);
272     EXPECT_EQ(hichainTest->state, 0);
273     destroy(&server);
274     LOG("--------DeviceAuthTest Test001--------");
275 }
276 
277 static HWTEST_F(GetInstanceTest, GetInstanceTest002, TestSize.Level2)
278 {
279     LOG("--------DeviceAuthTest Test002--------");
280     LOG("--------get_instance--------");
281 
282     struct hc_call_back callBack = {
283         Transmit,
284         GetProtocolParams,
285         SetSessionKey,
286         SetServiceResult,
287         ConfirmReceiveRequest
288     };
289 
290     hc_handle server = get_instance(&g_server_identity, HC_CENTRE, &callBack);
291     struct hichain *hichainTest = reinterpret_cast<struct hichain *>(server);
292     ASSERT_TRUE(server != nullptr);
293     EXPECT_EQ(hichainTest->state, 0);
294     destroy(&server);
295     LOG("--------DeviceAuthTest Test002--------");
296 }
297 
298 static HWTEST_F(GetInstanceTest, GetInstanceTest003, TestSize.Level2)
299 {
300     LOG("--------DeviceAuthTest Test003--------");
301     LOG("--------get_instance--------");
302 
303     struct session_identity serverIdentity = {
304         0,
305         {18, "testServer"},
306         {strlen("testServer"), "testServer"},
307         0
308     };
309 
310     struct hc_call_back callBack = {
311         Transmit,
312         GetProtocolParams,
313         SetSessionKey,
314         SetServiceResult,
315         ConfirmReceiveRequest
316     };
317     hc_handle server = get_instance(&serverIdentity, HC_CENTRE, &callBack);
318     ASSERT_TRUE(server != nullptr);
319     destroy(&server);
320     LOG("--------DeviceAuthTest Test003--------");
321 }
322 
323 static HWTEST_F(GetInstanceTest, GetInstanceTest004, TestSize.Level2)
324 {
325     LOG("--------DeviceAuthTest Test004--------");
326     LOG("--------get_instance--------");
327 
328     struct hc_call_back callBack = {
329         nullptr,
330         GetProtocolParams,
331         SetSessionKey,
332         SetServiceResult,
333         ConfirmReceiveRequest
334     };
335     hc_handle server = get_instance(&g_server_identity, HC_CENTRE, &callBack);
336     ASSERT_TRUE(server == nullptr);
337     destroy(&server);
338     LOG("--------DeviceAuthTest Test004--------");
339 }
340 
341 static HWTEST_F(GetInstanceTest, GetInstanceTest005, TestSize.Level2)
342 {
343     LOG("--------DeviceAuthTest Test005--------");
344     LOG("--------get_instance--------");
345 
346     struct hc_call_back callBack = {
347         Transmit,
348         GetProtocolParams,
349         SetSessionKey,
350         SetServiceResult,
351         ConfirmReceiveRequest
352     };
353     hc_handle server = get_instance(nullptr, HC_CENTRE, &callBack);
354     ASSERT_TRUE(server == nullptr);
355     destroy(&server);
356     LOG("--------DeviceAuthTest Test005--------");
357 }
358 
359 static HWTEST_F(GetInstanceTest, GetInstanceTest007, TestSize.Level2)
360 {
361     LOG("--------DeviceAuthTest Test007--------");
362     LOG("--------get_instance--------");
363 
364     struct hc_call_back callBack = {
365         Transmit,
366         GetProtocolParams001,
367         SetSessionKey,
368         SetServiceResult,
369         ConfirmReceiveRequest
370     };
371     hc_handle server = get_instance(&g_server_identity, HC_CENTRE, &callBack);
372     ASSERT_TRUE(server != nullptr);
373     destroy(&server);
374     LOG("--------DeviceAuthTest Test007--------");
375 }
376 
377 static HWTEST_F(GetInstanceTest, GetInstanceTest008, TestSize.Level2)
378 {
379     LOG("--------DeviceAuthTest Test008--------");
380     LOG("--------get_instance--------");
381 
382     struct hc_call_back callBack = {
383         Transmit,
384         GetProtocolParams002,
385         SetSessionKey,
386         SetServiceResult,
387         ConfirmReceiveRequest
388     };
389     hc_handle server = get_instance(&g_server_identity, HC_CENTRE, &callBack);
390     ASSERT_TRUE(server != nullptr);
391     destroy(&server);
392     LOG("--------DeviceAuthTest Test008--------");
393 }
394 
395 static HWTEST_F(GetInstanceTest, GetInstanceTest009, TestSize.Level2)
396 {
397     LOG("--------DeviceAuthTest Test009--------");
398     LOG("--------get_instance--------");
399 
400     struct hc_call_back callBack = {
401         Transmit,
402         GetProtocolParams003,
403         SetSessionKey,
404         SetServiceResult,
405         ConfirmReceiveRequest
406     };
407     hc_handle server = get_instance(&g_server_identity, HC_CENTRE, &callBack);
408     ASSERT_TRUE(server != nullptr);
409     destroy(&server);
410     LOG("--------DeviceAuthTest Test009--------");
411 }
412 
413 static HWTEST_F(GetInstanceTest, GetInstanceTest010, TestSize.Level2)
414 {
415     LOG("--------DeviceAuthTest Test010--------");
416     LOG("--------get_instance--------");
417 
418     struct hc_call_back callBack = {
419         Transmit,
420         GetProtocolParams004,
421         SetSessionKey,
422         SetServiceResult,
423         ConfirmReceiveRequest
424     };
425     hc_handle server = get_instance(&g_server_identity, HC_CENTRE, &callBack);
426     ASSERT_TRUE(server != nullptr);
427     destroy(&server);
428     LOG("--------DeviceAuthTest Test010--------");
429 }
430 
431 static HWTEST_F(GetInstanceTest, GetInstanceTest011, TestSize.Level2)
432 {
433     LOG("--------DeviceAuthTest Test011--------");
434     LOG("--------get_instance--------");
435 
436     struct hc_call_back callBack = {
437         Transmit,
438         nullptr,
439         SetSessionKey,
440         SetServiceResult,
441         ConfirmReceiveRequest
442     };
443     hc_handle server = get_instance(&g_server_identity, HC_CENTRE, &callBack);
444     ASSERT_TRUE(server == nullptr);
445     destroy(&server);
446     LOG("--------DeviceAuthTest Test011--------");
447 }
448 
449 static HWTEST_F(GetInstanceTest, GetInstanceTest012, TestSize.Level2)
450 {
451     LOG("--------DeviceAuthTest Test012--------");
452     LOG("--------get_instance--------");
453 
454     struct hc_call_back callBack = {
455         Transmit,
456         GetProtocolParams,
457         nullptr,
458         SetServiceResult,
459         ConfirmReceiveRequest
460     };
461     hc_handle server = get_instance(&g_server_identity, HC_CENTRE, &callBack);
462     ASSERT_TRUE(server == nullptr);
463     destroy(&server);
464     LOG("--------DeviceAuthTest Test012--------");
465 }
466 
467 static HWTEST_F(GetInstanceTest, GetInstanceTest013, TestSize.Level2)
468 {
469     LOG("--------DeviceAuthTest Test013--------");
470     LOG("--------get_instance--------");
471 
472     struct hc_call_back callBack = {
473         Transmit,
474         GetProtocolParams,
475         SetSessionKey,
476         nullptr,
477         ConfirmReceiveRequest
478     };
479     hc_handle server = get_instance(&g_server_identity, HC_CENTRE, &callBack);
480     ASSERT_TRUE(server == nullptr);
481     destroy(&server);
482     LOG("--------DeviceAuthTest Test013--------");
483 }
484 
485 static HWTEST_F(GetInstanceTest, GetInstanceTest014, TestSize.Level2)
486 {
487     LOG("--------DeviceAuthTest Test014--------");
488     LOG("--------get_instance--------");
489 
490     struct hc_call_back callBack = {
491         Transmit,
492         GetProtocolParams,
493         SetSessionKey,
494         SetServiceResult,
495         nullptr
496     };
497     hc_handle server = get_instance(&g_server_identity, HC_CENTRE, &callBack);
498     ASSERT_TRUE(server == nullptr);
499     destroy(&server);
500     LOG("--------DeviceAuthTest Test014--------");
501 }
502 
503 static HWTEST_F(GetInstanceTest, GetInstanceTest015, TestSize.Level2)
504 {
505     LOG("--------DeviceAuthTest Test015--------");
506     LOG("--------get_instance--------");
507 
508     struct hc_call_back callBack = {
509         Transmit,
510         GetProtocolParams,
511         SetSessionKey,
512         SetServiceResult,
513         ConfirmReceiveRequest
514     };
515     hc_handle server = get_instance(&g_server_identity001, HC_CENTRE, &callBack);
516     ASSERT_TRUE(server == nullptr);
517     destroy(&server);
518     LOG("--------DeviceAuthTest Test015--------");
519 }
520 
521 static HWTEST_F(GetInstanceTest, GetInstanceTest016, TestSize.Level2)
522 {
523     LOG("--------DeviceAuthTest Test016--------");
524     LOG("--------get_instance--------");
525 
526     struct hc_call_back callBack = {
527         Transmit,
528         GetProtocolParams,
529         SetSessionKey,
530         SetServiceResult,
531         ConfirmReceiveRequest
532     };
533     hc_handle server = get_instance(&g_server_identity002, HC_CENTRE, &callBack);
534     ASSERT_TRUE(server == nullptr);
535     destroy(&server);
536     LOG("--------DeviceAuthTest Test016--------");
537 }
538 
539 static HWTEST_F(GetInstanceTest, GetInstanceTest017, TestSize.Level2)
540 {
541     LOG("--------DeviceAuthTest Test017--------");
542     LOG("--------get_instance--------");
543 
544     struct hc_call_back callBack = {
545         Transmit,
546         GetProtocolParams,
547         SetSessionKey,
548         SetServiceResult,
549         ConfirmReceiveRequest
550     };
551     hc_handle server = get_instance(&g_server_identity003, HC_CENTRE, &callBack);
552     ASSERT_TRUE(server == nullptr);
553     destroy(&server);
554     LOG("--------DeviceAuthTest Test017--------");
555 }
556 
557 /*--------------------------start_pake------------------------*/
558 class StartPakeTest : public testing::Test {
559 public:
560     static void SetUpTestCase(void);
561     static void TearDownTestCase(void);
562     void SetUp();
563     void TearDown();
564 };
565 
SetUpTestCase(void)566 void StartPakeTest::SetUpTestCase(void) {}
TearDownTestCase(void)567 void StartPakeTest::TearDownTestCase(void) {}
SetUp()568 void StartPakeTest::SetUp()
569 {
570     InitHcAuthId();
571 }
TearDown()572 void StartPakeTest::TearDown() {}
573 
574 static HWTEST_F(StartPakeTest, StartPakeTest001, TestSize.Level2)
575 {
576     LOG("--------StartPakeTest StartPakeTest001--------");
577     LOG("--------start_pake--------");
578     struct hc_call_back callBack = {
579         Transmit,
580         GetProtocolParams,
581         SetSessionKey,
582         SetServiceResult,
583         ConfirmReceiveRequest
584     };
585     hc_handle server = get_instance(&g_server_identity, HC_ACCESSORY, &callBack);
586     const struct operation_parameter params = {g_testServerAuthId, g_testClientAuthId, KEY_LEN};
587     int32_t ret = start_pake(server, &params);
588     EXPECT_EQ(ret, HC_OK);
589     destroy(&server);
590     LOG("--------StartPakeTest StartPakeTest001--------");
591 }
592 
593 static HWTEST_F(StartPakeTest, StartPakeTest002, TestSize.Level2)
594 {
595     LOG("--------StartPakeTest StartPakeTest002--------");
596     LOG("--------start_pake--------");
597     struct hc_call_back callBack = {
598         Transmit,
599         GetProtocolParams,
600         SetSessionKey,
601         SetServiceResult,
602         ConfirmReceiveRequest
603     };
604     hc_handle server = get_instance(&g_server_identity, HC_CENTRE, &callBack);
605     ASSERT_TRUE(server != nullptr);
606     const struct operation_parameter params = {g_testServerAuthId, g_testClientAuthId, KEY_LEN};
607     int32_t ret = start_pake(nullptr, &params);
608     EXPECT_NE(ret, HC_OK);
609     destroy(&server);
610     LOG("--------StartPakeTest StartPakeTest002--------");
611 }
612 
613 static HWTEST_F(StartPakeTest, StartPakeTest003, TestSize.Level2)
614 {
615     LOG("--------StartPakeTest StartPakeTest003--------");
616     LOG("--------start_pake--------");
617     struct hc_call_back callBack = {
618         Transmit,
619         GetProtocolParams,
620         SetSessionKey,
621         SetServiceResult,
622         ConfirmReceiveRequest
623     };
624     hc_handle server = get_instance(&g_server_identity, HC_CENTRE, &callBack);
625     ASSERT_TRUE(server != nullptr);
626     int32_t ret = start_pake(server, nullptr);
627     EXPECT_NE(ret, HC_OK);
628     destroy(&server);
629     LOG("--------StartPakeTest StartPakeTest003--------");
630 }
631 
632 static HWTEST_F(StartPakeTest, StartPakeTest004, TestSize.Level2)
633 {
634     LOG("--------StartPakeTest StartPakeTest004--------");
635     LOG("--------start_pake--------");
636     struct hc_call_back callBack = {
637         Transmit,
638         GetProtocolParams,
639         SetSessionKey,
640         SetServiceResult,
641         ConfirmReceiveRequest
642     };
643     hc_handle server = get_instance(&g_server_identity, HC_CENTRE, &callBack);
644     ASSERT_TRUE(server != nullptr);
645     struct pake_client *pakeClient = static_cast<struct pake_client *>(MALLOC(sizeof(struct pake_client)));
646     (void)memset_s(pakeClient, sizeof(struct pake_client), 0, sizeof(struct pake_client));
647 
648     struct operation_parameter *params =
649         static_cast<struct operation_parameter *>(MALLOC(sizeof(struct operation_parameter)));
650     (void)memset_s(params, sizeof(struct operation_parameter), 0, sizeof(struct operation_parameter));
651 
652     struct hichain *hichainTest = static_cast<struct hichain *>(server);
653     hichainTest->pake_client = pakeClient;
654 
655     int32_t ret = start_pake(server, params);
656     EXPECT_NE(ret, HC_OK);
657     destroy(&server);
658     FREE(params);
659     params = nullptr;
660     LOG("--------StartPakeTest StartPakeTest004--------");
661 }
662 
663 static HWTEST_F(StartPakeTest, StartPakeTest005, TestSize.Level2)
664 {
665     LOG("--------StartPakeTest StartPakeTest005--------");
666     LOG("--------start_pake--------");
667     struct hc_call_back callBack = {
668         Transmit,
669         GetProtocolParams001,
670         SetSessionKey,
671         SetServiceResult,
672         ConfirmReceiveRequest
673     };
674     hc_handle server = get_instance(&g_server_identity, HC_CENTRE, &callBack);
675     ASSERT_TRUE(server != nullptr);
676     const struct operation_parameter params = {g_testServerAuthId, g_testClientAuthId, KEY_LEN};
677     int32_t ret = start_pake(server, &params);
678     EXPECT_NE(ret, HC_OK);
679     destroy(&server);
680     LOG("--------StartPakeTest StartPakeTest005--------");
681 }
682 
683 static HWTEST_F(StartPakeTest, StartPakeTest006, TestSize.Level2)
684 {
685     LOG("--------StartPakeTest StartPakeTest006--------");
686     LOG("--------start_pake--------");
687     struct hc_call_back callBack = {
688         Transmit,
689         GetProtocolParams002,
690         SetSessionKey,
691         SetServiceResult,
692         ConfirmReceiveRequest
693     };
694     hc_handle server = get_instance(&g_server_identity, HC_CENTRE, &callBack);
695     ASSERT_TRUE(server != nullptr);
696     const struct operation_parameter params = {g_testServerAuthId003, g_testClientAuthId, KEY_LEN};
697     int32_t ret = start_pake(server, &params);
698     EXPECT_NE(ret, HC_OK);
699     destroy(&server);
700     LOG("--------StartPakeTest StartPakeTest006--------");
701 }
702 
703 static HWTEST_F(StartPakeTest, StartPakeTest007, TestSize.Level2)
704 {
705     LOG("--------StartPakeTest StartPakeTest007--------");
706     LOG("--------start_pake--------");
707     struct hc_call_back callBack = {
708         Transmit,
709         GetProtocolParams003,
710         SetSessionKey,
711         SetServiceResult,
712         ConfirmReceiveRequest
713     };
714     hc_handle server = get_instance(&g_server_identity, HC_CENTRE, &callBack);
715     ASSERT_TRUE(server != nullptr);
716     const struct operation_parameter params = {g_testServerAuthId003, g_testClientAuthId, KEY_LEN};
717     int32_t ret = start_pake(server, &params);
718     EXPECT_NE(ret, HC_OK);
719     destroy(&server);
720     LOG("--------StartPakeTest StartPakeTest007--------");
721 }
722 
723 static HWTEST_F(StartPakeTest, StartPakeTest008, TestSize.Level2)
724 {
725     LOG("--------StartPakeTest StartPakeTest008--------");
726     LOG("--------start_pake--------");
727     struct hc_call_back callBack = {
728         Transmit,
729         GetProtocolParams004,
730         SetSessionKey,
731         SetServiceResult,
732         ConfirmReceiveRequest
733     };
734     hc_handle server = get_instance(&g_server_identity, HC_CENTRE, &callBack);
735     ASSERT_TRUE(server != nullptr);
736     const struct operation_parameter params = {g_testServerAuthId, g_testClientAuthId, KEY_LEN};
737     int32_t ret = start_pake(server, &params);
738     EXPECT_NE(ret, HC_OK);
739     destroy(&server);
740     LOG("--------StartPakeTest StartPakeTest008--------");
741 }
742 
743 static HWTEST_F(StartPakeTest, StartPakeTest009, TestSize.Level2)
744 {
745     LOG("--------StartPakeTest StartPakeTest009--------");
746     LOG("--------build_object--------");
747     struct hc_call_back callBack = {
748         Transmit,
749         GetProtocolParams,
750         SetSessionKey,
751         SetServiceResult,
752         ConfirmReceiveRequest
753     };
754     hc_handle server = get_instance(&g_server_identity, HC_CENTRE, &callBack);
755     ASSERT_TRUE(server != nullptr);
756     struct hichain *hichainTest = static_cast<struct hichain *>(server);
757     const struct operation_parameter params = {g_testServerAuthId, g_testClientAuthId, KEY_LEN};
758     int32_t ret = build_object(hichainTest, PAKE_MODULAR, true, &params);
759     EXPECT_EQ(ret, HC_OK);
760     destroy(&server);
761     LOG("--------StartPakeTest StartPakeTest009--------");
762 }
763 
764 static HWTEST_F(StartPakeTest, StartPakeTest010, TestSize.Level2)
765 {
766     LOG("--------StartPakeTest StartPakeTest010--------");
767     LOG("--------build_object--------");
768     struct hc_call_back callBack = {
769         Transmit,
770         GetProtocolParams,
771         SetSessionKey,
772         SetServiceResult,
773         ConfirmReceiveRequest
774     };
775     hc_handle server = get_instance(&g_server_identity, HC_CENTRE, &callBack);
776     ASSERT_TRUE(server != nullptr);
777     struct hichain *hichainTest = static_cast<struct hichain *>(server);
778     const struct operation_parameter *params = nullptr;
779     int32_t ret = build_object(hichainTest, SEC_CLONE_MODULAR, false, params);
780     EXPECT_NE(ret, HC_OK);
781     destroy(&server);
782     LOG("--------StartPakeTest StartPakeTest010--------");
783 }
784 
785 static HWTEST_F(StartPakeTest, StartPakeTest011, TestSize.Level2)
786 {
787     LOG("--------StartPakeTest StartPakeTest011--------");
788     LOG("--------build_object--------");
789     struct hc_call_back callBack = {
790         Transmit,
791         GetProtocolParams,
792         SetSessionKey,
793         SetServiceResult,
794         ConfirmReceiveRequest
795     };
796     hc_handle server = get_instance(&g_server_identity, HC_CENTRE, &callBack);
797     ASSERT_TRUE(server != nullptr);
798     struct hichain *hichainTest = static_cast<struct hichain *>(server);
799     const struct operation_parameter *params = nullptr;
800     int32_t ret = build_object(hichainTest, REMOVE_MODULAR, true, params);
801     EXPECT_NE(ret, HC_OK);
802     destroy(&server);
803     LOG("--------StartPakeTest StartPakeTest011--------");
804 }
805 
806 static HWTEST_F(StartPakeTest, StartPakeTest012, TestSize.Level2)
807 {
808     LOG("--------StartPakeTest StartPakeTest012--------");
809     LOG("--------build_object--------");
810     struct hc_call_back callBack = {
811         Transmit,
812         GetProtocolParams,
813         SetSessionKey,
814         SetServiceResult,
815         ConfirmReceiveRequest
816     };
817     hc_handle server = get_instance(&g_server_identity, HC_CENTRE, &callBack);
818     ASSERT_TRUE(server != nullptr);
819     struct hichain *hichainTest = static_cast<struct hichain *>(server);
820     const struct operation_parameter params = {g_testServerAuthId, g_testClientAuthId, KEY_LEN};
821     int32_t ret = build_object(hichainTest, STS_MODULAR, true, &params);
822     EXPECT_EQ(ret, HC_OK);
823     destroy(&server);
824     LOG("--------StartPakeTest StartPakeTest012--------");
825 }
826 
827 static HWTEST_F(StartPakeTest, StartPakeTest013, TestSize.Level2)
828 {
829     LOG("--------StartPakeTest StartPakeTest013--------");
830     LOG("--------build_object--------");
831     struct hc_call_back callBack = {
832         Transmit,
833         GetProtocolParams,
834         SetSessionKey,
835         SetServiceResult,
836         ConfirmReceiveRequest
837     };
838     hc_handle server = get_instance(&g_server_identity, HC_CENTRE, &callBack);
839     ASSERT_TRUE(server != nullptr);
840     struct hichain *hichainTest = static_cast<struct hichain *>(server);
841     const struct operation_parameter params = {g_testServerAuthId, g_testClientAuthId, KEY_LEN};
842     int32_t ret = build_object(hichainTest, STS_MODULAR, true, &params);
843     EXPECT_EQ(ret, HC_OK);
844     destroy(&server);
845     LOG("--------StartPakeTest StartPakeTest013--------");
846 }
847 
848 static HWTEST_F(StartPakeTest, StartPakeTest014, TestSize.Level2)
849 {
850     LOG("--------StartPakeTest StartPakeTest014--------");
851     LOG("--------build_object--------");
852     struct hc_call_back callBack = {
853         Transmit,
854         GetProtocolParams,
855         SetSessionKey,
856         SetServiceResult,
857         ConfirmReceiveRequest
858     };
859     hc_handle server = get_instance(&g_server_identity, HC_CENTRE, &callBack);
860     ASSERT_TRUE(server != nullptr);
861     struct hichain *hichainTest = static_cast<struct hichain *>(server);
862     const struct operation_parameter params = {g_testServerAuthId, g_testClientAuthId, KEY_LEN};
863     int32_t ret = build_object(hichainTest, INVALID_MODULAR, true, &params);
864     EXPECT_EQ(ret, HC_OK);
865     destroy(&server);
866     LOG("--------StartPakeTest StartPakeTest014--------");
867 }
868 
869 static HWTEST_F(StartPakeTest, StartPakeTest015, TestSize.Level2)
870 {
871     LOG("--------StartPakeTest StartPakeTest015--------");
872     LOG("--------build_object--------");
873     struct hc_call_back callBack = {
874         Transmit,
875         GetProtocolParams,
876         SetSessionKey,
877         SetServiceResult,
878         ConfirmReceiveRequest
879     };
880     hc_handle server = get_instance(&g_server_identity, HC_CENTRE, &callBack);
881     ASSERT_TRUE(server != nullptr);
882     struct hichain *hichainTest = static_cast<struct hichain *>(server);
883     const struct operation_parameter params = {g_testServerAuthId, g_testClientAuthId, KEY_LEN};
884     int32_t ret = build_object(hichainTest, INVALID_MODULAR, false, &params);
885     EXPECT_EQ(ret, HC_OK);
886     destroy(&server);
887     LOG("--------StartPakeTest StartPakeTest015--------");
888 }
889 
890 /*--------------------------authenticate_peer------------------------*/
891 class AuthenticatePeerTest : public testing::Test {
892 public:
893     static void SetUpTestCase(void);
894     static void TearDownTestCase(void);
895     void SetUp();
896     void TearDown();
897 };
898 
SetUpTestCase(void)899 void AuthenticatePeerTest::SetUpTestCase(void) {}
TearDownTestCase(void)900 void AuthenticatePeerTest::TearDownTestCase(void) {}
SetUp()901 void AuthenticatePeerTest::SetUp()
902 {
903     InitHcAuthId();
904 }
TearDown()905 void AuthenticatePeerTest::TearDown() {}
906 
907 static HWTEST_F(AuthenticatePeerTest, AuthenticatePeerTest001, TestSize.Level2)
908 {
909     LOG("--------AuthenticatePeerTest AuthenticatePeerTest001--------");
910     LOG("--------authenticate_peer--------");
911     struct hc_call_back callBack = {
912         Transmit,
913         GetProtocolParams,
914         SetSessionKey,
915         SetServiceResult,
916         ConfirmReceiveRequest
917     };
918     hc_handle server = get_instance(&g_server_identity, HC_CENTRE, &callBack);
919     ASSERT_TRUE(server != nullptr);
920     struct operation_parameter params = {g_testServerAuthId, g_testClientAuthId, KEY_LEN};
921     int32_t ret = authenticate_peer(server, &params);
922     EXPECT_EQ(ret, HC_OK);
923     destroy(&server);
924     LOG("--------AuthenticatePeerTest AuthenticatePeerTest001--------");
925 }
926 
927 static HWTEST_F(AuthenticatePeerTest, AuthenticatePeerTest002, TestSize.Level2)
928 {
929     LOG("--------AuthenticatePeerTest AuthenticatePeerTest002--------");
930     LOG("--------authenticate_peer--------");
931     struct hc_call_back callBack = {
932         Transmit,
933         GetProtocolParams,
934         SetSessionKey,
935         SetServiceResult,
936         ConfirmReceiveRequest
937     };
938     hc_handle server = get_instance(&g_server_identity, HC_CENTRE, &callBack);
939     ASSERT_TRUE(server != nullptr);
940     struct operation_parameter params = {g_testServerAuthId, g_testClientAuthId, KEY_LEN};
941     int32_t ret = authenticate_peer(nullptr, &params);
942     EXPECT_NE(ret, HC_OK);
943     destroy(&server);
944     LOG("--------AuthenticatePeerTest AuthenticatePeerTest002--------");
945 }
946 
947 static HWTEST_F(AuthenticatePeerTest, AuthenticatePeerTest003, TestSize.Level2)
948 {
949     LOG("--------AuthenticatePeerTest AuthenticatePeerTest003--------");
950     LOG("--------authenticate_peer--------");
951     struct hc_call_back callBack = {
952         Transmit,
953         GetProtocolParams,
954         SetSessionKey,
955         SetServiceResult,
956         ConfirmReceiveRequest
957     };
958     hc_handle server = get_instance(&g_server_identity, HC_CENTRE, &callBack);
959     ASSERT_TRUE(server != nullptr);
960     int32_t ret = authenticate_peer(server, nullptr);
961     EXPECT_NE(ret, HC_OK);
962     destroy(&server);
963     LOG("--------AuthenticatePeerTest AuthenticatePeerTest003--------");
964 }
965 
966 static HWTEST_F(AuthenticatePeerTest, AuthenticatePeerTest004, TestSize.Level2)
967 {
968     LOG("--------AuthenticatePeerTest AuthenticatePeerTest004--------");
969     LOG("--------authenticate_peer--------");
970     struct hc_call_back callBack = {
971         Transmit,
972         GetProtocolParams,
973         SetSessionKey,
974         SetServiceResult,
975         ConfirmReceiveRequest
976     };
977     hc_handle server = get_instance(&g_server_identity, HC_CENTRE, &callBack);
978     ASSERT_TRUE(server != nullptr);
979 
980     struct sts_client *stsClient = static_cast<struct sts_client *>(MALLOC(sizeof(struct sts_client)));
981     (void)memset_s(stsClient, sizeof(struct sts_client), 0, sizeof(struct sts_client));
982 
983     struct operation_parameter *params =
984         static_cast<struct operation_parameter *>(MALLOC(sizeof(struct operation_parameter)));
985     (void)memset_s(params, sizeof(struct operation_parameter), 0, sizeof(struct operation_parameter));
986 
987     struct hichain *hichainTest = static_cast<struct hichain *>(server);
988     hichainTest->sts_client = stsClient;
989     int32_t ret = authenticate_peer(server, params);
990     EXPECT_NE(ret, HC_OK);
991     destroy(&server);
992     FREE(params);
993     params = nullptr;
994     LOG("--------AuthenticatePeerTest AuthenticatePeerTest004--------");
995 }
996 
997 static HWTEST_F(AuthenticatePeerTest, AuthenticatePeerTest005, TestSize.Level2)
998 {
999     LOG("--------AuthenticatePeerTest AuthenticatePeerTest005--------");
1000     LOG("--------authenticate_peer--------");
1001     struct hc_call_back callBack = {
1002         Transmit,
1003         GetProtocolParams001,
1004         SetSessionKey,
1005         SetServiceResult,
1006         ConfirmReceiveRequest
1007     };
1008     hc_handle server = get_instance(&g_server_identity, HC_CENTRE, &callBack);
1009     ASSERT_TRUE(server != nullptr);
1010     struct hichain *hichainTest = static_cast<struct hichain *>(server);
1011     ASSERT_TRUE(hichainTest->sts_client == nullptr);
1012 
1013     struct operation_parameter *params =
1014         static_cast<struct operation_parameter *>(MALLOC(sizeof(struct operation_parameter)));
1015     (void)memset_s(params, sizeof(struct operation_parameter), 0, sizeof(struct operation_parameter));
1016     int32_t ret = authenticate_peer(server, params);
1017     EXPECT_EQ(ret, HC_OK);
1018     destroy(&server);
1019     FREE(params);
1020     params = nullptr;
1021     LOG("--------AuthenticatePeerTest AuthenticatePeerTest005--------");
1022 }
1023 
1024 static HWTEST_F(AuthenticatePeerTest, AuthenticatePeerTest006, TestSize.Level2)
1025 {
1026     LOG("--------AuthenticatePeerTest AuthenticatePeerTest006--------");
1027     LOG("--------authenticate_peer--------");
1028     struct hc_call_back callBack = {
1029         Transmit,
1030         GetProtocolParams002,
1031         SetSessionKey,
1032         SetServiceResult,
1033         ConfirmReceiveRequest
1034     };
1035     hc_handle server = get_instance(&g_server_identity, HC_CENTRE, &callBack);
1036     ASSERT_TRUE(server != nullptr);
1037     struct hichain *hichainTest = static_cast<struct hichain *>(server);
1038     ASSERT_TRUE(hichainTest->sts_client == nullptr);
1039     struct operation_parameter params = {g_testServerAuthId003, g_testClientAuthId, KEY_LEN};
1040     int32_t ret = authenticate_peer(server, &params);
1041     EXPECT_EQ(ret, HC_OK);
1042     destroy(&server);
1043     LOG("--------AuthenticatePeerTest AuthenticatePeerTest006--------");
1044 }
1045 
1046 static HWTEST_F(AuthenticatePeerTest, AuthenticatePeerTest007, TestSize.Level2)
1047 {
1048     LOG("--------AuthenticatePeerTest AuthenticatePeerTest007--------");
1049     LOG("--------authenticate_peer--------");
1050     struct hc_call_back callBack = {
1051         Transmit,
1052         GetProtocolParams003,
1053         SetSessionKey,
1054         SetServiceResult,
1055         ConfirmReceiveRequest
1056     };
1057     hc_handle server = get_instance(&g_server_identity, HC_CENTRE, &callBack);
1058     ASSERT_TRUE(server != nullptr);
1059     struct hichain *hichainTest = static_cast<struct hichain *>(server);
1060     ASSERT_TRUE(hichainTest->sts_client == nullptr);
1061     struct operation_parameter params = {g_testServerAuthId, g_testClientAuthId003, KEY_LEN};
1062     int32_t ret = authenticate_peer(server, &params);
1063     EXPECT_EQ(ret, HC_OK);
1064     destroy(&server);
1065     LOG("--------AuthenticatePeerTest AuthenticatePeerTest007--------");
1066 }
1067 
1068 static HWTEST_F(AuthenticatePeerTest, AuthenticatePeerTest008, TestSize.Level2)
1069 {
1070     LOG("--------AuthenticatePeerTest AuthenticatePeerTest008--------");
1071     LOG("--------authenticate_peer--------");
1072     struct hc_call_back callBack = {
1073         Transmit,
1074         GetProtocolParams004,
1075         SetSessionKey,
1076         SetServiceResult,
1077         ConfirmReceiveRequest
1078     };
1079     hc_handle server = get_instance(&g_server_identity, HC_CENTRE, &callBack);
1080     ASSERT_TRUE(server != nullptr);
1081     struct hichain *hichainTest = static_cast<struct hichain *>(server);
1082     ASSERT_TRUE(hichainTest->sts_client == nullptr);
1083     struct operation_parameter params = {g_testServerAuthId003, g_testClientAuthId003, KEY_LEN};
1084     int32_t ret = authenticate_peer(server, &params);
1085     EXPECT_EQ(ret, HC_OK);
1086     destroy(&server);
1087     LOG("--------AuthenticatePeerTest AuthenticatePeerTest008--------");
1088 }
1089 
1090 /*--------------------------list_trust_peer------------------------*/
1091 class ListTrustPeersTest : public testing::Test {
1092 public:
1093     static void SetUpTestCase(void);
1094     static void TearDownTestCase(void);
1095     void SetUp();
1096     void TearDown();
1097 };
1098 
SetUpTestCase(void)1099 void ListTrustPeersTest::SetUpTestCase(void) {}
TearDownTestCase(void)1100 void ListTrustPeersTest::TearDownTestCase(void) {}
SetUp()1101 void ListTrustPeersTest::SetUp()
1102 {
1103     InitHcAuthId();
1104 }
TearDown()1105 void ListTrustPeersTest::TearDown() {}
1106 
1107 static HWTEST_F(ListTrustPeersTest, ListTrustPeersTest001, TestSize.Level2)
1108 {
1109     LOG("--------ListTrustPeersTest ListTrustPeersTest001--------");
1110     LOG("--------list_trust_peers--------");
1111     struct hc_call_back callBack = {
1112         Transmit,
1113         GetProtocolParams,
1114         SetSessionKey,
1115         SetServiceResult,
1116         ConfirmReceiveRequest
1117     };
1118     hc_handle server = get_instance(&g_server_identity, HC_CENTRE, &callBack);
1119     int ret = list_trust_peers(server, HC_USER_TYPE_ACCESSORY, &g_testClientAuthId, g_authIdList);
1120     EXPECT_EQ(ret, 0);
1121     destroy(&server);
1122     LOG("--------ListTrustPeersTest ListTrustPeersTest001--------");
1123 }
1124 
1125 static HWTEST_F(ListTrustPeersTest, ListTrustPeersTest002, TestSize.Level2)
1126 {
1127     LOG("--------ListTrustPeersTest ListTrustPeersTest002--------");
1128     LOG("--------list_trust_peers--------");
1129     int ret = list_trust_peers(nullptr, HC_USER_TYPE_ACCESSORY, &g_testClientAuthId, g_authIdList);
1130     EXPECT_EQ(ret, 0);
1131     LOG("--------ListTrustPeersTest ListTrustPeersTest002--------");
1132 }
1133 
1134 static HWTEST_F(ListTrustPeersTest, ListTrustPeersTest003, TestSize.Level2)
1135 {
1136     LOG("--------ListTrustPeersTest ListTrustPeersTest003--------");
1137     LOG("--------list_trust_peers--------");
1138     struct hc_call_back callBack = {
1139         Transmit,
1140         GetProtocolParams,
1141         SetSessionKey,
1142         SetServiceResult,
1143         ConfirmReceiveRequest
1144     };
1145     hc_handle server = get_instance(&g_server_identity, HC_CENTRE, &callBack);
1146     int ret = list_trust_peers(server, 2, &g_testClientAuthId, g_authIdList);
1147     EXPECT_EQ(ret, 0);
1148     destroy(&server);
1149     LOG("--------ListTrustPeersTest ListTrustPeersTest003--------");
1150 }
1151 
1152 static HWTEST_F(ListTrustPeersTest, ListTrustPeersTest004, TestSize.Level2)
1153 {
1154     LOG("--------ListTrustPeersTest ListTrustPeersTest004--------");
1155     LOG("--------list_trust_peers--------");
1156     struct hc_call_back callBack = {
1157         Transmit,
1158         GetProtocolParams,
1159         SetSessionKey,
1160         SetServiceResult,
1161         ConfirmReceiveRequest
1162     };
1163     hc_handle server = get_instance(&g_server_identity, HC_CENTRE, &callBack);
1164     int ret = list_trust_peers(server, 0, nullptr, g_authIdList);
1165     LOG("--------trust peers num is %d--------", ret);
1166     EXPECT_TRUE(server != nullptr);
1167     destroy(&server);
1168     LOG("--------ListTrustPeersTest ListTrustPeersTest004--------");
1169 }
1170 
1171 /*--------------------------destroy------------------------*/
1172 class DestroyTest : public testing::Test {
1173 public:
1174     static void SetUpTestCase(void);
1175     static void TearDownTestCase(void);
1176     void SetUp();
1177     void TearDown();
1178 };
1179 
SetUpTestCase(void)1180 void DestroyTest::SetUpTestCase(void) {}
TearDownTestCase(void)1181 void DestroyTest::TearDownTestCase(void) {}
SetUp()1182 void DestroyTest::SetUp()
1183 {
1184     InitHcAuthId();
1185 }
TearDown()1186 void DestroyTest::TearDown() {}
1187 
1188 static HWTEST_F(DestroyTest, DestroyTest001, TestSize.Level2)
1189 {
1190     LOG("--------DestroyTest DestroyTest001--------");
1191     LOG("--------destory--------");
1192     struct hc_call_back callBack = {
1193         Transmit,
1194         GetProtocolParams,
1195         SetSessionKey,
1196         SetServiceResult,
1197         ConfirmReceiveRequest
1198     };
1199     hc_handle val = get_instance(&g_server_identity, HC_CENTRE, &callBack);
1200     destroy(&val);
1201     EXPECT_TRUE(val == nullptr);
1202     LOG("--------DestroyTest DestroyTest001--------");
1203 }
1204 
1205 static HWTEST_F(DestroyTest, DestroyTest002, TestSize.Level2)
1206 {
1207     LOG("--------DestroyTest DestroyTest002--------");
1208     LOG("--------destory--------");
1209     struct hc_call_back callBack = {
1210         nullptr,
1211         GetProtocolParams,
1212         SetSessionKey,
1213         SetServiceResult,
1214         ConfirmReceiveRequest
1215     };
1216     hc_handle val = get_instance(&g_server_identity, HC_CENTRE, &callBack);
1217     ASSERT_TRUE(val == nullptr);
1218     destroy(&val);
1219     EXPECT_TRUE(val == nullptr);
1220     LOG("--------DestroyTest DestroyTest002--------");
1221 }
1222 
1223 static HWTEST_F(DestroyTest, DestroyTest003, TestSize.Level2)
1224 {
1225     LOG("--------DestroyTest DestroyTest003--------");
1226     LOG("--------destory--------");
1227     struct hichain *server = static_cast<struct hichain *>(MALLOC(sizeof(struct hichain)));
1228     (void)memset_s(server, sizeof(struct hichain), 0, sizeof(struct hichain));
1229 
1230     hc_handle serverTest = static_cast<hc_handle>(server);
1231     destroy(&serverTest);
1232     EXPECT_TRUE(serverTest == nullptr);
1233     LOG("--------DestroyTest DestroyTest003--------");
1234 }
1235 
1236 static HWTEST_F(DestroyTest, DestroyTest004, TestSize.Level2)
1237 {
1238     LOG("--------DestroyTest DestroyTest004--------");
1239     LOG("--------destory--------");
1240     struct hichain *server = static_cast<struct hichain *>(MALLOC(sizeof(struct hichain)));
1241     (void)memset_s(server, sizeof(struct hichain), 0, sizeof(struct hichain));
1242 
1243     struct pake_server *pakeServer = static_cast<struct pake_server *>(MALLOC(sizeof(struct pake_server)));
1244     (void)memset_s(pakeServer, sizeof(struct pake_server), 0, sizeof(struct pake_server));
1245 
1246     server->pake_server = pakeServer;
1247     hc_handle serverTest = static_cast<hc_handle>(server);
1248     destroy(&serverTest);
1249     EXPECT_TRUE(serverTest == nullptr);
1250     LOG("--------DestroyTest DestroyTest004--------");
1251 }
1252 
1253 static HWTEST_F(DestroyTest, DestroyTest005, TestSize.Level2)
1254 {
1255     LOG("--------DestroyTest DestroyTest005--------");
1256     LOG("--------destory--------");
1257     struct hichain *server = static_cast<struct hichain *>(MALLOC(sizeof(struct hichain)));
1258     (void)memset_s(server, sizeof(struct hichain), 0, sizeof(struct hichain));
1259 
1260     struct sts_server *stsServer = static_cast<struct sts_server *>(MALLOC(sizeof(struct sts_server)));
1261     (void)memset_s(stsServer, sizeof(struct sts_server), 0, sizeof(struct sts_server));
1262 
1263     server->sts_server = stsServer;
1264     hc_handle serverTest = static_cast<hc_handle>(server);
1265     destroy(&serverTest);
1266     EXPECT_TRUE(serverTest == nullptr);
1267     LOG("--------DestroyTest DestroyTest005--------");
1268 }
1269 
1270 static HWTEST_F(DestroyTest, DestroyTest006, TestSize.Level2)
1271 {
1272     LOG("--------DestroyTest DestroyTest006--------");
1273     LOG("--------destory--------");
1274     struct hichain *server = static_cast<struct hichain *>(MALLOC(sizeof(struct hichain)));
1275     (void)memset_s(server, sizeof(struct hichain), 0, sizeof(struct hichain));
1276 
1277     struct sts_client *stsClient = static_cast<struct sts_client *>(MALLOC(sizeof(struct sts_client)));
1278     (void)memset_s(stsClient, sizeof(struct sts_client), 0, sizeof(struct sts_client));
1279 
1280     server->sts_client = stsClient;
1281     hc_handle serverTest = static_cast<hc_handle>(server);
1282     destroy(&serverTest);
1283     EXPECT_TRUE(serverTest == nullptr);
1284     LOG("--------DestroyTest DestroyTest006--------");
1285 }
1286 
1287 static HWTEST_F(DestroyTest, DestroyTest007, TestSize.Level2)
1288 {
1289     LOG("--------DestroyTest DestroyTest007--------");
1290     LOG("--------destory--------");
1291     struct hichain *server = static_cast<struct hichain *>(MALLOC(sizeof(struct hichain)));
1292     (void)memset_s(server, sizeof(struct hichain), 0, sizeof(struct hichain));
1293 
1294     struct auth_info_cache *authInfo = static_cast<struct auth_info_cache *>(MALLOC(sizeof(struct auth_info_cache)));
1295     (void)memset_s(authInfo, sizeof(struct auth_info_cache), 0, sizeof(struct auth_info_cache));
1296 
1297     server->auth_info = authInfo;
1298     hc_handle serverTest = static_cast<hc_handle>(server);
1299     destroy(&serverTest);
1300     EXPECT_TRUE(serverTest == nullptr);
1301     LOG("--------DestroyTest DestroyTest007--------");
1302 }
1303 
1304 static HWTEST_F(DestroyTest, DestroyTest008, TestSize.Level2)
1305 {
1306     LOG("--------DestroyTest DestroyTest008--------");
1307     LOG("--------destory--------");
1308     struct hichain *server = static_cast<struct hichain *>(MALLOC(sizeof(struct hichain)));
1309     (void)memset_s(server, sizeof(struct hichain), 0, sizeof(struct hichain));
1310 
1311     struct sec_clone_server *secCloneServer =
1312         static_cast<struct sec_clone_server *>(MALLOC(sizeof(struct sec_clone_server)));
1313     (void)memset_s(secCloneServer, sizeof(struct sec_clone_server), 0, sizeof(struct sec_clone_server));
1314 
1315     server->sec_clone_server = secCloneServer;
1316     hc_handle serverTest = static_cast<hc_handle>(server);
1317     destroy(&serverTest);
1318     EXPECT_TRUE(serverTest == nullptr);
1319     LOG("--------DestroyTest DestroyTest008--------");
1320 }
1321 
1322 /*--------------------------delete_local_auth_info------------------------*/
1323 class DeleteLocalAuthInfoTest : public testing::Test {
1324 public:
1325     static void SetUpTestCase(void);
1326     static void TearDownTestCase(void);
1327     void SetUp();
1328     void TearDown();
1329 };
1330 
SetUpTestCase(void)1331 void DeleteLocalAuthInfoTest::SetUpTestCase(void) {}
TearDownTestCase(void)1332 void DeleteLocalAuthInfoTest::TearDownTestCase(void) {}
SetUp()1333 void DeleteLocalAuthInfoTest::SetUp()
1334 {
1335     InitHcAuthId();
1336 }
TearDown()1337 void DeleteLocalAuthInfoTest::TearDown() {}
1338 
1339 static HWTEST_F(DeleteLocalAuthInfoTest, DeleteLocalAuthInfoTest001, TestSize.Level2)
1340 {
1341     LOG("--------DeleteLocalAuthInfoTest DeleteLocalAuthInfoTest001--------");
1342     LOG("--------DeleteLocalAuthInfo--------");
1343     struct hc_call_back callBack = {
1344         Transmit,
1345         GetProtocolParams,
1346         SetSessionKey,
1347         SetServiceResult,
1348         ConfirmReceiveRequest
1349     };
1350     hc_handle server = get_instance(&g_server_identity, HC_CENTRE, &callBack);
1351     ASSERT_TRUE(server != nullptr);
1352 
1353     struct hc_user_info car_user_info = {
1354         g_testServerAuthId,
1355         1
1356     };
1357     int32_t trustedPeersNum = delete_local_auth_info(server, &car_user_info);
1358     EXPECT_EQ(trustedPeersNum, 0);
1359 
1360     destroy(&server);
1361     LOG("--------DeleteLocalAuthInfoTest DeleteLocalAuthInfoTest001--------");
1362 }
1363 
1364 static HWTEST_F(DeleteLocalAuthInfoTest, DeleteLocalAuthInfoTest002, TestSize.Level2)
1365 {
1366     LOG("--------DeleteLocalAuthInfoTest DeleteLocalAuthInfoTest002--------");
1367     LOG("--------DeleteLocalAuthInfo--------");
1368     struct hc_call_back callBack = {
1369         Transmit,
1370         GetProtocolParams,
1371         SetSessionKey,
1372         SetServiceResult,
1373         ConfirmReceiveRequest
1374     };
1375     hc_handle server = get_instance(&g_server_identity, HC_CENTRE, &callBack);
1376     ASSERT_TRUE(server != nullptr);
1377 
1378     int32_t trustedPeersNum = delete_local_auth_info(server, nullptr);
1379     EXPECT_NE(trustedPeersNum, 0);
1380 
1381     destroy(&server);
1382     LOG("--------DeleteLocalAuthInfoTest DeleteLocalAuthInfoTest002--------");
1383 }
1384 
1385 static HWTEST_F(DeleteLocalAuthInfoTest, DeleteLocalAuthInfoTest003, TestSize.Level2)
1386 {
1387     LOG("--------DeleteLocalAuthInfoTest DeleteLocalAuthInfoTest003--------");
1388     LOG("--------DeleteLocalAuthInfo--------");
1389     struct hc_call_back callBack = {
1390         Transmit,
1391         GetProtocolParams,
1392         SetSessionKey,
1393         SetServiceResult,
1394         ConfirmReceiveRequest
1395     };
1396 
1397     struct hc_user_info userInfo = {
1398         g_testServerAuthId,
1399         HC_USER_TYPE_ACCESSORY
1400     };
1401 
1402     hc_handle server = get_instance(&g_server_identity, HC_CENTRE, &callBack);
1403     ASSERT_TRUE(server != nullptr);
1404     struct hichain *hichainTest = static_cast<struct hichain *>(server);
1405     hichainTest->identity.service_type.length = 0;
1406     ASSERT_EQ(hichainTest->identity.service_type.length, 0);
1407     int32_t trustedPeersNum = delete_local_auth_info(server, &userInfo);
1408     EXPECT_NE(trustedPeersNum, 0);
1409     destroy(&server);
1410     LOG("--------DeleteLocalAuthInfoTest DeleteLocalAuthInfoTest003--------");
1411 }
1412 
1413 static HWTEST_F(DeleteLocalAuthInfoTest, DeleteLocalAuthInfoTest004, TestSize.Level2)
1414 {
1415     LOG("--------DeleteLocalAuthInfoTest DeleteLocalAuthInfoTest004--------");
1416     LOG("--------DeleteLocalAuthInfo--------");
1417     struct hc_call_back callBack = {
1418         Transmit,
1419         GetProtocolParams005,
1420         SetSessionKey,
1421         SetServiceResult,
1422         ConfirmReceiveRequest
1423     };
1424 
1425     struct hc_user_info userInfo = {
1426         g_testServerAuthId,
1427         1
1428     };
1429 
1430     hc_handle server = get_instance(&g_server_identity, HC_CENTRE, &callBack);
1431     ASSERT_TRUE(server != nullptr);
1432     int32_t trustedPeersNum = delete_local_auth_info(server, &userInfo);
1433     EXPECT_EQ(trustedPeersNum, 0);
1434     destroy(&server);
1435     LOG("--------DeleteLocalAuthInfoTest DeleteLocalAuthInfoTest004--------");
1436 }
1437 
1438 /*--------------------------IsTrustPeerTest------------------------*/
1439 
1440 static struct hc_user_info carUserInfo = {
1441     g_testServerAuthId,
1442     HC_USER_TYPE_ACCESSORY
1443 };
1444 
1445 class IsTrustPeerTest : public testing::Test {
1446 public:
1447     static void SetUpTestCase(void);
1448     static void TearDownTestCase(void);
1449     void SetUp();
1450     void TearDown();
1451 };
1452 
SetUpTestCase(void)1453 void IsTrustPeerTest::SetUpTestCase(void) {}
TearDownTestCase(void)1454 void IsTrustPeerTest::TearDownTestCase(void) {}
SetUp()1455 void IsTrustPeerTest::SetUp()
1456 {
1457     InitHcAuthId();
1458 }
1459 
TearDown()1460 void IsTrustPeerTest::TearDown() {}
1461 
1462 static HWTEST_F(IsTrustPeerTest, IsTrustPeerTest002, TestSize.Level2)
1463 {
1464     LOG("--------IsTrustPeerTest Test002--------");
1465     LOG("--------is_trust_peer--------");
1466     struct hc_call_back callBack = {
1467         Transmit,
1468         GetProtocolParams,
1469         SetSessionKey,
1470         SetServiceResult,
1471         ConfirmReceiveRequest
1472     };
1473 
1474     hc_handle server = get_instance(&g_server_identity, HC_CENTRE, &callBack);
1475     ASSERT_TRUE(server != nullptr);
1476     int32_t ret = is_trust_peer(server, nullptr);
1477     EXPECT_EQ(ret, HC_NOT_TRUST_PEER);
1478     destroy(&server);
1479     LOG("--------IsTrustPeerTest Test002--------");
1480 }
1481 
1482 static HWTEST_F(IsTrustPeerTest, IsTrustPeerTest003, TestSize.Level2)
1483 {
1484     LOG("--------IsTrustPeerTest Test003--------");
1485     LOG("--------is_trust_peer--------");
1486     struct hc_call_back callBack = {
1487         nullptr,
1488         GetProtocolParams,
1489         SetSessionKey,
1490         SetServiceResult,
1491         ConfirmReceiveRequest
1492     };
1493 
1494     hc_handle server = get_instance(&g_server_identity, HC_CENTRE, &callBack);
1495     ASSERT_TRUE(server == nullptr);
1496     int32_t ret = is_trust_peer(server, &carUserInfo);
1497     EXPECT_EQ(ret, HC_NOT_TRUST_PEER);
1498     destroy(&server);
1499     LOG("--------IsTrustPeerTest Test003--------");
1500 }
1501 
1502 static HWTEST_F(IsTrustPeerTest, IsTrustPeerTest004, TestSize.Level2)
1503 {
1504     LOG("--------IsTrustPeerTest Test004--------");
1505     LOG("--------is_trust_peer--------");
1506     struct hc_call_back callBack = {
1507         Transmit,
1508         GetProtocolParams,
1509         SetSessionKey,
1510         SetServiceResult,
1511         ConfirmReceiveRequest
1512     };
1513 
1514     struct hc_user_info userInfo = {
1515         g_testServerAuthId003,
1516         HC_USER_TYPE_ACCESSORY
1517     };
1518 
1519     hc_handle server = get_instance(&g_server_identity, HC_CENTRE, &callBack);
1520     ASSERT_TRUE(server != nullptr);
1521     int32_t ret = is_trust_peer(server, &userInfo);
1522     EXPECT_EQ(ret, HC_NOT_TRUST_PEER);
1523     destroy(&server);
1524     LOG("--------IsTrustPeerTest Test004--------");
1525 }
1526 
1527 static HWTEST_F(IsTrustPeerTest, IsTrustPeerTest005, TestSize.Level2)
1528 {
1529     LOG("--------IsTrustPeerTest Test005--------");
1530     LOG("--------is_trust_peer--------");
1531     struct hc_call_back callBack = {
1532         Transmit,
1533         GetProtocolParams,
1534         SetSessionKey,
1535         SetServiceResult,
1536         ConfirmReceiveRequest
1537     };
1538 
1539     struct hc_user_info userInfo = {
1540         g_testServerAuthId,
1541         2
1542     };
1543 
1544     hc_handle server = get_instance(&g_server_identity, HC_CENTRE, &callBack);
1545     ASSERT_TRUE(server != nullptr);
1546     int32_t ret = is_trust_peer(server, &userInfo);
1547     EXPECT_EQ(ret, HC_NOT_TRUST_PEER);
1548     destroy(&server);
1549     LOG("--------IsTrustPeerTest Test005--------");
1550 }
1551 
1552 static HWTEST_F(IsTrustPeerTest, IsTrustPeerTest006, TestSize.Level2)
1553 {
1554     LOG("--------IsTrustPeerTest Test006--------");
1555     LOG("--------is_trust_peer--------");
1556     struct hc_call_back callBack = {
1557         Transmit,
1558         GetProtocolParams,
1559         SetSessionKey,
1560         SetServiceResult,
1561         ConfirmReceiveRequest
1562     };
1563 
1564     struct hc_user_info userInfo = {
1565         g_testServerAuthId,
1566         HC_USER_TYPE_ACCESSORY
1567     };
1568 
1569     hc_handle server = get_instance(&g_server_identity, HC_CENTRE, &callBack);
1570     ASSERT_TRUE(server != nullptr);
1571     struct hichain *hichainTest = static_cast<struct hichain *>(server);
1572     (void)memset_s(&(hichainTest->identity), sizeof(hichainTest->identity), 0, sizeof(hichainTest->identity));
1573     ASSERT_EQ(hichainTest->identity.package_name.length, 0);
1574     int32_t ret = is_trust_peer(server, &userInfo);
1575     EXPECT_EQ(ret, HC_GEN_SERVICE_ID_FAILED);
1576     destroy(&server);
1577     LOG("--------IsTrustPeerTest Test006--------");
1578 }
1579 
1580 static HWTEST_F(IsTrustPeerTest, IsTrustPeerTest007, TestSize.Level2)
1581 {
1582     LOG("--------IsTrustPeerTest Test007--------");
1583     LOG("--------is_trust_peer--------");
1584     struct hc_call_back callBack = {
1585         Transmit,
1586         GetProtocolParams,
1587         SetSessionKey,
1588         SetServiceResult,
1589         ConfirmReceiveRequest
1590     };
1591 
1592     struct hc_user_info userInfo = {
1593         g_testServerAuthId,
1594         HC_USER_TYPE_ACCESSORY
1595     };
1596 
1597     hc_handle server = get_instance(&g_server_identity, HC_CENTRE, &callBack);
1598     ASSERT_TRUE(server != nullptr);
1599     struct hichain *hichainTest = static_cast<struct hichain *>(server);
1600     hichainTest->identity.service_type.length = 0;
1601     ASSERT_EQ(hichainTest->identity.service_type.length, 0);
1602     int32_t ret = is_trust_peer(server, &userInfo);
1603     EXPECT_EQ(ret, HC_GEN_SERVICE_ID_FAILED);
1604     destroy(&server);
1605     LOG("--------IsTrustPeerTest Test007--------");
1606 }
1607 
1608 static HWTEST_F(IsTrustPeerTest, IsTrustPeerTest008, TestSize.Level2)
1609 {
1610     LOG("--------IsTrustPeerTest Test008--------");
1611     LOG("--------is_trust_peer--------");
1612     struct hc_call_back callBack = {
1613         Transmit,
1614         GetProtocolParams,
1615         SetSessionKey,
1616         SetServiceResult,
1617         ConfirmReceiveRequest
1618     };
1619 
1620     struct hc_user_info userInfo = {
1621         g_testServerAuthId,
1622         HC_USER_TYPE_ACCESSORY
1623     };
1624 
1625     hc_handle server = get_instance(&g_server_identity, HC_CENTRE, &callBack);
1626     ASSERT_TRUE(server != nullptr);
1627     struct hichain *hichainTest = static_cast<struct hichain *>(server);
1628     (void)memset_s(hichainTest->identity.package_name.name, sizeof(hichainTest->identity.package_name.name),
1629         0, sizeof(hichainTest->identity.package_name.name));
1630     (void)memset_s(hichainTest->identity.service_type.type, sizeof(hichainTest->identity.service_type.type),
1631         0, sizeof(hichainTest->identity.service_type.type));
1632     int32_t ret = is_trust_peer(server, &userInfo);
1633     EXPECT_EQ(ret, HC_NOT_TRUST_PEER);
1634     destroy(&server);
1635     LOG("--------IsTrustPeerTest Test008--------");
1636 }
1637 
1638 static HWTEST_F(IsTrustPeerTest, IsTrustPeerTest009, TestSize.Level2)
1639 {
1640     LOG("--------IsTrustPeerTest Test009--------");
1641     LOG("--------is_trust_peer--------");
1642     struct hc_call_back callBack = {
1643         Transmit,
1644         GetProtocolParams,
1645         SetSessionKey,
1646         SetServiceResult,
1647         ConfirmReceiveRequest
1648     };
1649 
1650     struct hc_user_info userInfo = {
1651         g_testServerAuthId001,
1652         HC_USER_TYPE_ACCESSORY
1653     };
1654 
1655     hc_handle server = get_instance(&g_server_identity, HC_CENTRE, &callBack);
1656     ASSERT_TRUE(server != nullptr);
1657     int32_t ret = is_trust_peer(server, &userInfo);
1658     EXPECT_EQ(ret, HC_NOT_TRUST_PEER);
1659     destroy(&server);
1660     LOG("--------IsTrustPeerTest Test009--------");
1661 }
1662 
1663 static HWTEST_F(IsTrustPeerTest, IsTrustPeerTest010, TestSize.Level2)
1664 {
1665     LOG("--------IsTrustPeerTest Test010--------");
1666     LOG("--------is_trust_peer--------");
1667     struct hc_call_back callBack = {
1668         Transmit,
1669         GetProtocolParams,
1670         SetSessionKey,
1671         SetServiceResult,
1672         ConfirmReceiveRequest
1673     };
1674 
1675     struct hc_user_info userInfo = {
1676         g_testServerAuthId002,
1677         HC_USER_TYPE_ACCESSORY
1678     };
1679 
1680     hc_handle server = get_instance(&g_server_identity, HC_CENTRE, &callBack);
1681     ASSERT_TRUE(server != nullptr);
1682     struct hichain *hichainTest = static_cast<struct hichain *>(server);
1683     (void)memset_s(hichainTest->identity.package_name.name, sizeof(hichainTest->identity.package_name.name),
1684         0, sizeof(hichainTest->identity.package_name.name));
1685     (void)memset_s(hichainTest->identity.service_type.type, sizeof(hichainTest->identity.service_type.type),
1686         0, sizeof(hichainTest->identity.service_type.type));
1687     int32_t ret = is_trust_peer(server, &userInfo);
1688     EXPECT_EQ(ret, HC_NOT_TRUST_PEER);
1689     destroy(&server);
1690     LOG("--------IsTrustPeerTest Test010--------");
1691 }
1692 
1693 /*--------------------------registe_log------------------------*/
1694 
1695 class RegisteLogTest : public testing::Test {
1696 public:
1697     static void SetUpTestCase(void);
1698     static void TearDownTestCase(void);
1699     void SetUp();
1700     void TearDown();
1701 };
1702 
SetUpTestCase(void)1703 void RegisteLogTest::SetUpTestCase(void) {}
TearDownTestCase(void)1704 void RegisteLogTest::TearDownTestCase(void) {}
SetUp()1705 void RegisteLogTest::SetUp()
1706 {
1707     InitHcAuthId();
1708 }
1709 
TearDown()1710 void RegisteLogTest::TearDown() {}
1711 
1712 const int32_t MAX_LOG_BUFF_LENGTH = 1024;
1713 
TestLogd(const char * tag,const char * funcName,const char * format,...)1714 void TestLogd(const char *tag, const char *funcName, const char *format, ...)
1715 {
1716     va_list ap;
1717     char logBuff[MAX_LOG_BUFF_LENGTH];
1718     va_start(ap, format);
1719     if (vsnprintf_s(logBuff, MAX_LOG_BUFF_LENGTH, MAX_LOG_BUFF_LENGTH - 1, format, ap) == -1) {
1720         va_end(ap);
1721         return;
1722     }
1723 }
1724 
1725 static HWTEST_F(RegisteLogTest, RegisteLogTest001, TestSize.Level2)
1726 {
1727     struct log_func_group logFunc = {
1728         TestLogd,
1729         TestLogd,
1730         TestLogd,
1731         TestLogd
1732     };
1733     registe_log(&logFunc);
1734     ASSERT_TRUE(get_logd() != nullptr);
1735 }
1736 
1737 static HWTEST_F(RegisteLogTest, RegisteLogTest002, TestSize.Level2)
1738 {
1739     struct log_func_group logFunc = {
1740         nullptr,
1741         TestLogd,
1742         TestLogd,
1743         TestLogd
1744     };
1745     registe_log(&logFunc);
1746     ASSERT_TRUE(get_logd() != nullptr);
1747 }
1748 
1749 static HWTEST_F(RegisteLogTest, RegisteLogTest003, TestSize.Level2)
1750 {
1751     struct log_func_group logFunc = {
1752         TestLogd,
1753         nullptr,
1754         TestLogd,
1755         TestLogd
1756     };
1757     registe_log(&logFunc);
1758     ASSERT_TRUE(get_logi() != nullptr);
1759 }
1760 
1761 static HWTEST_F(RegisteLogTest, RegisteLogTest004, TestSize.Level2)
1762 {
1763     struct log_func_group logFunc = {
1764         TestLogd,
1765         TestLogd,
1766         nullptr,
1767         TestLogd
1768     };
1769     registe_log(&logFunc);
1770     ASSERT_TRUE(get_logw() != nullptr);
1771 }
1772 
1773 static HWTEST_F(RegisteLogTest, RegisteLogTest005, TestSize.Level2)
1774 {
1775     struct log_func_group logFunc = {
1776         TestLogd,
1777         TestLogd,
1778         TestLogd,
1779         nullptr
1780     };
1781     registe_log(&logFunc);
1782     ASSERT_TRUE(get_loge() != nullptr);
1783 }
1784 
1785 /*--------------------------get_json_test------------------------*/
1786 
1787 static cJSON *root = nullptr;
1788 static cJSON *payload = nullptr;
1789 static cJSON *root_array = nullptr;
1790 
1791 class JsonUtilTest : public testing::Test {
1792 public:
1793     static void SetUpTestCase(void);
1794     static void TearDownTestCase(void);
1795     void SetUp();
1796     void TearDown();
1797 };
1798 
SetUpTestCase(void)1799 void JsonUtilTest::SetUpTestCase(void) {}
TearDownTestCase(void)1800 void JsonUtilTest::TearDownTestCase(void) {}
SetUp()1801 void JsonUtilTest::SetUp()
1802 {
1803     root = cJSON_CreateObject();
1804     cJSON_AddNumberToObject(root, "message", 1);
1805     cJSON_AddStringToObject(root, "test", "C5914790E4");
1806     cJSON_AddTrueToObject(root, "bool");
1807 
1808     payload = cJSON_CreateObject();
1809     cJSON_AddStringToObject(payload, "challenge", "E01AE0AA018ECDA852ACA4CCA45FCC56");
1810     cJSON_AddStringToObject(payload, "kcfData", "4A4EB6622524CBBF7DC96412A82BF4CB6022F50226A201DB3B3C55B4F0707345");
1811     cJSON_AddItemToObject(root, "payload", payload);
1812 
1813     root_array = cJSON_CreateArray();
1814     cJSON_AddItemToArray(root_array, cJSON_CreateNumber(11)); /* 11 : any int for test */
1815     cJSON_AddItemToArray(root_array, cJSON_CreateString("banana"));
1816     cJSON_AddItemToArray(root_array, cJSON_CreateTrue());
1817 }
1818 
TearDown()1819 void JsonUtilTest::TearDown() {}
1820 
1821 
1822 static HWTEST_F(JsonUtilTest, get_json_int_test001, TestSize.Level2)
1823 {
1824     json_pobject obj = reinterpret_cast<void *>(root);
1825     char *temp = nullptr;
1826     int32_t ret = get_json_int(obj, temp);
1827     EXPECT_NE(ret, -1);
1828 }
1829 
1830 static HWTEST_F(JsonUtilTest, get_json_int_test002, TestSize.Level2)
1831 {
1832     json_pobject obj = nullptr;
1833     char *temp = nullptr;
1834     int32_t ret = get_json_int(obj, temp);
1835     EXPECT_EQ(ret, -1);
1836 }
1837 
1838 static HWTEST_F(JsonUtilTest, get_json_int_test003, TestSize.Level2)
1839 {
1840     json_pobject obj = reinterpret_cast<void *>(root);
1841     std::string field = "mesage";
1842     int32_t ret = get_json_int(obj, field.c_str());
1843     EXPECT_EQ(ret, -1);
1844     field = "message";
1845     ret = get_json_int(obj, field.c_str());
1846     EXPECT_EQ(ret, 1);
1847 }
1848 
1849 
1850 static HWTEST_F(JsonUtilTest, get_json_bool_test001, TestSize.Level2)
1851 {
1852     json_pobject obj = reinterpret_cast<void *>(root);
1853     char *temp = nullptr;
1854     int32_t ret = get_json_bool(obj, temp);
1855     EXPECT_NE(ret, -1);
1856 }
1857 
1858 static HWTEST_F(JsonUtilTest, get_json_bool_test002, TestSize.Level2)
1859 {
1860     json_pobject obj = nullptr;
1861     char *temp = nullptr;
1862     int32_t ret = get_json_bool(obj, temp);
1863     EXPECT_EQ(ret, -1);
1864 }
1865 
1866 static HWTEST_F(JsonUtilTest, get_json_bool_test003, TestSize.Level2)
1867 {
1868     json_pobject obj = reinterpret_cast<void *>(root);
1869     std::string field = "booll";
1870     int32_t ret = get_json_bool(obj, field.c_str());
1871     EXPECT_EQ(ret, -1);
1872     field = "bool";
1873     ret = get_json_bool(obj, field.c_str());
1874     EXPECT_EQ(ret, 1);
1875 }
1876 
1877 
1878 static HWTEST_F(JsonUtilTest, get_array_size_test001, TestSize.Level2)
1879 {
1880     json_pobject obj = reinterpret_cast<void *>(root);
1881     int32_t ret = get_array_size(obj);
1882     EXPECT_EQ(ret, -1);
1883 }
1884 
1885 static HWTEST_F(JsonUtilTest, get_array_size_test002, TestSize.Level2)
1886 {
1887     json_pobject obj = reinterpret_cast<void *>(root_array);
1888     int32_t ret = get_array_size(obj);
1889     EXPECT_NE(ret, -1);
1890 }
1891 
1892 
1893 static HWTEST_F(JsonUtilTest, get_array_idx_test001, TestSize.Level2)
1894 {
1895     json_pobject obj = reinterpret_cast<void *>(root);
1896     obj = get_array_idx(obj, 1);
1897     EXPECT_EQ(obj, nullptr);
1898 }
1899 
1900 static HWTEST_F(JsonUtilTest, get_array_idx_test002, TestSize.Level2)
1901 {
1902     json_pobject obj = reinterpret_cast<void *>(root_array);
1903     obj = get_array_idx(obj, 1);
1904     EXPECT_NE(obj, nullptr);
1905 }
1906 
1907 
1908 static HWTEST_F(JsonUtilTest, add_bool_to_object_test001, TestSize.Level2)
1909 {
1910     json_pobject obj = reinterpret_cast<void *>(root);
1911     std::string field = "test_bool_false";
1912     json_pobject pobject = add_bool_to_object(obj, field.c_str(), 0);
1913     EXPECT_TRUE(pobject != nullptr);
1914     field = "test_bool_true";
1915     pobject = add_bool_to_object(obj, field.c_str(), 1);
1916     EXPECT_TRUE(pobject != nullptr);
1917     int32_t ret = get_json_bool(obj, field.c_str());
1918     EXPECT_EQ(ret, 1);
1919 }
1920 
1921 
1922 static HWTEST_F(JsonUtilTest, string_convert_test001, TestSize.Level2)
1923 {
1924     json_pobject obj = reinterpret_cast<void *>(root);
1925     char *temp = nullptr;
1926     uint8_t *str = nullptr;
1927     uint32_t *length = nullptr;
1928     uint32_t maxLen = 10;
1929     int32_t ret = string_convert(obj, temp, str, length, maxLen);
1930     EXPECT_EQ(ret, HC_INPUT_ERROR);
1931 }
1932 
1933 static HWTEST_F(JsonUtilTest, string_convert_test002, TestSize.Level2)
1934 {
1935     json_pobject obj = reinterpret_cast<void *>(root);
1936     std::string temp = "test";
1937     uint8_t *str = nullptr;
1938     uint32_t *length = nullptr;
1939     uint32_t maxLen = 9;
1940     int32_t ret = string_convert(obj, temp.c_str(), str, length, maxLen);
1941     EXPECT_EQ(ret, HC_INPUT_ERROR);
1942 }
1943 
1944 static HWTEST_F(JsonUtilTest, string_convert_test003, TestSize.Level2)
1945 {
1946     json_pobject obj = reinterpret_cast<void *>(root);
1947     std::string temp = "test";
1948     uint8_t *str = nullptr;
1949     uint32_t *length = nullptr;
1950     uint32_t maxLen = 11;
1951     int32_t ret = string_convert(obj, temp.c_str(), str, length, maxLen);
1952     EXPECT_EQ(ret, HC_MEMCPY_ERROR);
1953 }
1954 }
1955