• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (C) 2023 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 "account_related_group_auth_dir_test.h"
17 #include <cinttypes>
18 #include <unistd.h>
19 #include <gtest/gtest.h>
20 #include "base/security/device_auth/services/legacy/group_auth/src/group_auth_manager/account_related_group_auth/account_related_group_auth.c"
21 using namespace std;
22 using namespace testing::ext;
23 
24 namespace {
25 // Beginning for account_related_group_auth.c test.
26 #define TEST_OS_ACCOUNT_ID 0
27 #define TEST_USER_ID "UserId"
28 #define TEST_AUTH_FORM (-1)
29 #define TEST_EXT_DATA "testExtData"
30 #define TEST_DEVICE_ID "testDeviceId"
31 #define TEST_GROUP_ID "testGroupId"
32 #define TEST_REQUEST_ID 123
33 
34 class AccountRelatedGroupAuthTest : public testing::Test {
35 public:
36     static void SetUpTestCase();
37     static void TearDownTestCase();
38     void SetUp();
39     void TearDown();
40 };
41 
SetUpTestCase()42 void AccountRelatedGroupAuthTest::SetUpTestCase() {}
43 
TearDownTestCase()44 void AccountRelatedGroupAuthTest::TearDownTestCase() {}
45 
SetUp()46 void AccountRelatedGroupAuthTest::SetUp()
47 {
48     int ret = InitDeviceAuthService();
49     EXPECT_EQ(ret, HC_SUCCESS);
50 }
51 
TearDown()52 void AccountRelatedGroupAuthTest::TearDown()
53 {
54     DestroyDeviceAuthService();
55 }
56 
57 HWTEST_F(AccountRelatedGroupAuthTest, AccountRelatedGroupAuthTest001, TestSize.Level0)
58 {
59     AccountRelatedGroupAuth *groupAuth = (AccountRelatedGroupAuth *)GetAccountRelatedGroupAuth();
60     ASSERT_NE(groupAuth, nullptr);
61     CJson *param = CreateJson();
62     ASSERT_NE(param, nullptr);
63     QueryGroupParams queryParams;
64     GroupEntryVec vec = CreateGroupEntryVec();
65     (void)groupAuth->getAccountCandidateGroup(0, param, &queryParams, &vec); // For unit test.
66 
67     int32_t ret = AddStringToJson(param, FIELD_USER_ID, "unit_test"); // For unit test.
68     EXPECT_EQ(ret, HC_SUCCESS);
69     (void)groupAuth->getAccountCandidateGroup(0, param, &queryParams, &vec); // For unit test.
70     EXPECT_EQ(ret, HC_SUCCESS);
71     FreeJson(param);
72 
73     ClearGroupEntryVec(&vec);
74     // Identical group branch can not be dealed.
75 }
76 
OnTransmitTrue(int64_t requestId,const uint8_t * data,uint32_t dataLen)77 static bool OnTransmitTrue(int64_t requestId, const uint8_t *data, uint32_t dataLen)
78 {
79     (void)requestId;
80     (void)data;
81     (void)dataLen;
82     return true;
83 }
84 
OnTransmitFalse(int64_t requestId,const uint8_t * data,uint32_t dataLen)85 static bool OnTransmitFalse(int64_t requestId, const uint8_t *data, uint32_t dataLen)
86 {
87     (void)requestId;
88     (void)data;
89     (void)dataLen;
90     return false;
91 }
92 
OnSessionKeyReturned(int64_t requestId,const uint8_t * sessionKey,uint32_t sessionKeyLen)93 static void OnSessionKeyReturned(int64_t requestId, const uint8_t *sessionKey, uint32_t sessionKeyLen)
94 {
95     (void)requestId;
96     (void)sessionKey;
97     (void)sessionKeyLen;
98 }
99 
OnFinish(int64_t requestId,int operationCode,const char * returnData)100 static void OnFinish(int64_t requestId, int operationCode, const char *returnData)
101 {
102     (void)requestId;
103     (void)operationCode;
104     (void)returnData;
105 }
106 
OnError(int64_t requestId,int operationCode,int errorCode,const char * errorReturn)107 static void OnError(int64_t requestId, int operationCode, int errorCode, const char *errorReturn)
108 {
109     (void)requestId;
110     (void)operationCode;
111     (void)errorCode;
112     (void)errorReturn;
113 }
114 
OnRequest(int64_t requestId,int operationCode,const char * reqParams)115 static char *OnRequest(int64_t requestId, int operationCode, const char *reqParams)
116 {
117     (void)requestId;
118     (void)operationCode;
119     (void)reqParams;
120     return nullptr;
121 }
122 
123 static DeviceAuthCallback g_deviceAuthCallBack = {
124     .onTransmit = OnTransmitTrue,
125     .onSessionKeyReturned = OnSessionKeyReturned,
126     .onFinish = OnFinish,
127     .onError = OnError,
128     .onRequest = OnRequest
129 };
130 
131 HWTEST_F(AccountRelatedGroupAuthTest, AccountRelatedGroupAuthTest002, TestSize.Level0)
132 {
133     CJson *authParam = CreateJson();
134     ASSERT_NE(authParam, nullptr);
135     CJson *out = CreateJson();
136     if (out == nullptr) {
137         FreeJson(authParam);
138     }
139     ASSERT_NE(out, nullptr);
140     int32_t ret = HC_ERROR;
141     (void)GetAccountRelatedGroupAuth()->onFinish(0, authParam, out, nullptr); // For unit test.
142 
143     CJson *sendToPeer = CreateJson();
144     if (out == nullptr) {
145         FreeJson(authParam);
146         FreeJson(out);
147     }
148     ASSERT_NE(out, nullptr);
149     (void)AddObjToJson(out, FIELD_SEND_TO_PEER, sendToPeer);
150     (void)GetAccountRelatedGroupAuth()->onFinish(0, authParam, out, nullptr); // For unit test.
151 
152     (void)AddStringToJson(sendToPeer, "test_key", "test_value"); // For unit test.
153     (void)AddObjToJson(out, FIELD_SEND_TO_PEER, sendToPeer);
154     (void)GetAccountRelatedGroupAuth()->onFinish(0, authParam, out, nullptr); // For unit test.
155 
156     (void)GetAccountRelatedGroupAuth()->onFinish(0, authParam, out, &g_deviceAuthCallBack); // For unit test.
157     ret = AddObjToJson(out, FIELD_SEND_TO_PEER, sendToPeer);
158     FreeJson(sendToPeer);
159     FreeJson(out);
160     FreeJson(authParam);
161     EXPECT_EQ(ret, HC_SUCCESS);
162 }
163 
164 HWTEST_F(AccountRelatedGroupAuthTest, AccountRelatedGroupAuthTest0021, TestSize.Level0)
165 {
166     int32_t ret = HC_ERROR;
167     CJson *authParam = CreateJson();
168     ASSERT_NE(authParam, nullptr);
169     CJson *out = CreateJson();
170     if (out == nullptr) {
171         FreeJson(authParam);
172     }
173     ASSERT_NE(out, nullptr);
174     CJson *sendToPeer = CreateJson();
175     if (sendToPeer == nullptr) {
176         FreeJson(authParam);
177         FreeJson(out);
178     }
179     ASSERT_NE(sendToPeer, nullptr);
180     (void)GetAccountRelatedGroupAuth()->onFinish(0, authParam, out, nullptr); // For unit test.
181 
182     (void)AddObjToJson(out, FIELD_SEND_TO_PEER, sendToPeer);
183     (void)GetAccountRelatedGroupAuth()->onFinish(0, authParam, out, nullptr); // For unit test.
184 
185     (void)AddStringToJson(sendToPeer, "test_key", "test_value"); // For unit test.
186     (void)AddObjToJson(out, FIELD_SEND_TO_PEER, sendToPeer);
187     (void)GetAccountRelatedGroupAuth()->onFinish(0, authParam, out, nullptr); // For unit test.
188 
189     (void)GetAccountRelatedGroupAuth()->onFinish(0, authParam, out, &g_deviceAuthCallBack); // For unit test.
190 
191     g_deviceAuthCallBack.onTransmit = OnTransmitFalse;
192     (void)GetAccountRelatedGroupAuth()->onFinish(0, authParam, out, &g_deviceAuthCallBack); // For unit test.
193     ret = AddObjToJson(out, FIELD_SEND_TO_PEER, sendToPeer);
194     EXPECT_EQ(ret, HC_SUCCESS);
195     FreeJson(sendToPeer);
196     FreeJson(out);
197     FreeJson(authParam);
198 }
199 
200 // OnAccountFinish -> ReturnSessionKey success branch.
201 HWTEST_F(AccountRelatedGroupAuthTest, AccountRelatedGroupAuthTest0022, TestSize.Level0)
202 {
203     int32_t ret = HC_ERROR;
204     CJson *authParam = CreateJson();
205     ASSERT_NE(authParam, nullptr);
206     CJson *out = CreateJson();
207     if (out == nullptr) {
208         FreeJson(authParam);
209     }
210     ASSERT_NE(out, nullptr);
211     CJson *sendToPeer = CreateJson();
212     if (sendToPeer == nullptr) {
213         FreeJson(authParam);
214         FreeJson(out);
215     }
216     ASSERT_NE(sendToPeer, nullptr);
217 
218     (void)AddObjToJson(out, FIELD_SEND_TO_PEER, sendToPeer);
219     (void)AddStringToJson(sendToPeer, "test_key", "test_value"); // For unit test.
220     (void)AddObjToJson(out, FIELD_SEND_TO_PEER, sendToPeer);
221 
222     (void)AddIntToJson(authParam, FIELD_KEY_LENGTH, 2); // For unit test.
223     uint8_t sessionKeyTest[2] = { 0x31, 0x32 }; // For unit test.
224     (void)AddByteToJson(out, FIELD_SESSION_KEY, sessionKeyTest, sizeof(sessionKeyTest));
225     (void)GetAccountRelatedGroupAuth()->onFinish(0, authParam, out, &g_deviceAuthCallBack); // For unit test.
226     ret = AddObjToJson(out, FIELD_SEND_TO_PEER, sendToPeer);
227     EXPECT_EQ(ret, HC_SUCCESS);
228     FreeJson(sendToPeer);
229     FreeJson(out);
230     FreeJson(authParam);
231 }
232 
233 // OnAccountFinish -> AddTrustedDeviceForAccount success failed.
234 HWTEST_F(AccountRelatedGroupAuthTest, AccountRelatedGroupAuthTest0023, TestSize.Level0)
235 {
236     int32_t ret = HC_ERROR;
237     CJson *authParam = CreateJson();
238     CJson *out = CreateJson();
239     CJson *sendToPeer = CreateJson();
240 
241     (void)AddObjToJson(out, FIELD_SEND_TO_PEER, sendToPeer);
242     (void)AddStringToJson(sendToPeer, "test_key", "test_value"); // For unit test.
243     (void)AddObjToJson(out, FIELD_SEND_TO_PEER, sendToPeer);
244 
245     (void)AddIntToJson(authParam, FIELD_KEY_LENGTH, 2); // For unit test.
246     uint8_t sessionKeyTest[2] = { 0x31, 0x32 }; // For unit test.
247     (void)AddByteToJson(out, FIELD_SESSION_KEY, sessionKeyTest, sizeof(sessionKeyTest));
248 
249     (void)AddIntToJson(authParam, FIELD_OS_ACCOUNT_ID, 0);
250     (void)GetAccountRelatedGroupAuth()->onFinish(0, authParam, out, &g_deviceAuthCallBack); // For unit test.
251 
252     (void)AddStringToJson(authParam, FIELD_PEER_CONN_DEVICE_ID, "CONN_DEVICE_ID"); // For unit test.
253     (void)GetAccountRelatedGroupAuth()->onFinish(0, authParam, out, &g_deviceAuthCallBack); // For unit test.
254 
255     (void)AddStringToJson(authParam, FIELD_GROUP_ID, "GROUP_ID"); // For unit test.
256     (void)GetAccountRelatedGroupAuth()->onFinish(0, authParam, out, &g_deviceAuthCallBack); // For unit test.
257 
258     CJson *sendToSelf = CreateJson();
259 
260     (void)AddObjToJson(out, FIELD_SEND_TO_SELF, sendToSelf);
261     (void)GetAccountRelatedGroupAuth()->onFinish(0, authParam, out, &g_deviceAuthCallBack); // For unit test.
262 
263     (void)AddIntToJson(sendToSelf, FIELD_CREDENTIAL_TYPE, 2);
264     (void)AddObjToJson(out, FIELD_SEND_TO_SELF, sendToSelf);
265     (void)GetAccountRelatedGroupAuth()->onFinish(0, authParam, out, &g_deviceAuthCallBack); // For unit test.
266 
267     (void)AddStringToJson(sendToSelf, FIELD_DEV_ID, "DEV_ID"); // For unit test.
268     (void)AddObjToJson(out, FIELD_SEND_TO_SELF, sendToSelf);
269     (void)GetAccountRelatedGroupAuth()->onFinish(0, authParam, out, &g_deviceAuthCallBack); // For unit test.
270 
271     (void)AddStringToJson(sendToSelf, FIELD_USER_ID, "USER_ID"); // For unit test.
272     (void)AddObjToJson(out, FIELD_SEND_TO_SELF, sendToSelf);
273     (void)GetAccountRelatedGroupAuth()->onFinish(0, authParam, out, &g_deviceAuthCallBack); // For unit test.
274     ret = AddObjToJson(out, FIELD_SEND_TO_SELF, sendToSelf);
275     EXPECT_EQ(ret, HC_SUCCESS);
276     FreeJson(sendToSelf);
277     FreeJson(out);
278     FreeJson(sendToPeer);
279     FreeJson(authParam);
280 }
281 
282 HWTEST_F(AccountRelatedGroupAuthTest, AccountRelatedGroupAuthTest004, TestSize.Level0)
283 {
284     TrustedGroupEntry *entry = CreateGroupEntry();
285     ASSERT_NE(entry, nullptr);
286     TrustedDeviceEntry *localAuthInfo = CreateDeviceEntry();
287     if (localAuthInfo == nullptr) {
288         DestroyGroupEntry(entry);
289     }
290     ASSERT_NE(localAuthInfo, nullptr);
291     CJson *paramsData = CreateJson();
292     if (paramsData == nullptr) {
293         DestroyGroupEntry(entry);
294         DestroyDeviceEntry(localAuthInfo);
295     }
296     ASSERT_NE(paramsData, nullptr);
297 
298     int32_t res = GetAccountRelatedGroupAuth()->fillDeviceAuthInfo(0, entry,
299         localAuthInfo, paramsData); // For unit test.
300 
301     FreeJson(paramsData);
302     EXPECT_NE(res, HC_SUCCESS);
303     DestroyGroupEntry(entry);
304     DestroyDeviceEntry(localAuthInfo);
305 }
306 
307 HWTEST_F(AccountRelatedGroupAuthTest, AccountRelatedGroupAuthTest0041, TestSize.Level0)
308 {
309     TrustedGroupEntry *entry = CreateGroupEntry();
310     ASSERT_NE(entry, nullptr);
311     TrustedDeviceEntry *localAuthInfo = CreateDeviceEntry();
312     if (localAuthInfo == nullptr) {
313         DestroyGroupEntry(entry);
314     }
315     ASSERT_NE(localAuthInfo, nullptr);
316     CJson *paramsData = CreateJson();
317     if (paramsData == nullptr) {
318         DestroyGroupEntry(entry);
319         DestroyDeviceEntry(localAuthInfo);
320     }
321     ASSERT_NE(paramsData, nullptr);
322 
323     int32_t res = AddStringToJson(paramsData, FIELD_PEER_CONN_DEVICE_ID, "CONN_DEVICE_ID"); // For unit test.
324     EXPECT_EQ(res, HC_SUCCESS);
325 
326     (void)GetAccountRelatedGroupAuth()->fillDeviceAuthInfo(0, entry,
327         localAuthInfo, paramsData); // For unit test.
328 
329     FreeJson(paramsData);
330     DestroyGroupEntry(entry);
331     DestroyDeviceEntry(localAuthInfo);
332 }
333 
334 HWTEST_F(AccountRelatedGroupAuthTest, AccountRelatedGroupAuthTest0042, TestSize.Level0)
335 {
336     TrustedGroupEntry *entry = CreateGroupEntry();
337     ASSERT_NE(entry, nullptr);
338     TrustedDeviceEntry *localAuthInfo = CreateDeviceEntry();
339     if (localAuthInfo == nullptr) {
340         DestroyGroupEntry(entry);
341     }
342     ASSERT_NE(localAuthInfo, nullptr);
343 
344     CJson *paramsData = CreateJson();
345     if (paramsData == nullptr) {
346         DestroyGroupEntry(entry);
347         DestroyDeviceEntry(localAuthInfo);
348     }
349     ASSERT_NE(paramsData, nullptr);
350     (void)AddStringToJson(paramsData, FIELD_PEER_CONN_DEVICE_ID, "CONN_DEVICE_ID"); // For unit test.
351 
352     entry->userId = CreateString();
353     (void)StringSetPointer(&entry->userId, "selfUserId"); // For unit test.
354     int32_t ret = GetAccountRelatedGroupAuth()->fillDeviceAuthInfo(0, entry,
355         localAuthInfo, paramsData); // For unit test.
356     EXPECT_EQ(ret, HC_SUCCESS);
357 
358     FreeJson(paramsData);
359     DestroyGroupEntry(entry);
360     DestroyDeviceEntry(localAuthInfo);
361 }
362 
363 HWTEST_F(AccountRelatedGroupAuthTest, AccountRelatedGroupAuthTest0043, TestSize.Level0)
364 {
365     TrustedGroupEntry *entry = CreateGroupEntry();
366     ASSERT_NE(entry, nullptr);
367     TrustedDeviceEntry *localAuthInfo = CreateDeviceEntry();
368     if (localAuthInfo == nullptr) {
369         DestroyGroupEntry(entry);
370     }
371     ASSERT_NE(localAuthInfo, nullptr);
372     CJson *paramsData = CreateJson();
373     if (paramsData == nullptr) {
374         DestroyGroupEntry(entry);
375         DestroyDeviceEntry(localAuthInfo);
376     }
377     ASSERT_NE(paramsData, nullptr);
378     (void)AddStringToJson(paramsData, FIELD_PEER_CONN_DEVICE_ID, "CONN_DEVICE_ID"); // For unit test.
379     entry->userId = CreateString();
380     (void)StringSetPointer(&entry->userId, "selfUserId"); // For unit test.
381 
382     entry->id = CreateString();
383     (void)StringSetPointer(&entry->id, "groupId"); // For unit test.
384     int32_t ret = GetAccountRelatedGroupAuth()->fillDeviceAuthInfo(0, entry,
385         localAuthInfo, paramsData); // For unit test.
386     EXPECT_EQ(ret, HC_SUCCESS);
387 
388     FreeJson(paramsData);
389     DestroyGroupEntry(entry);
390     DestroyDeviceEntry(localAuthInfo);
391 }
392 
393 HWTEST_F(AccountRelatedGroupAuthTest, AccountRelatedGroupAuthTest00431, TestSize.Level0)
394 {
395     TrustedGroupEntry *entry = CreateGroupEntry();
396     ASSERT_NE(entry, nullptr);
397     TrustedDeviceEntry *localAuthInfo = CreateDeviceEntry();
398     if (localAuthInfo == nullptr) {
399         DestroyGroupEntry(entry);
400     }
401     ASSERT_NE(localAuthInfo, nullptr);
402 
403     CJson *paramsData = CreateJson();
404     if (paramsData == nullptr) {
405         DestroyGroupEntry(entry);
406         DestroyDeviceEntry(localAuthInfo);
407     }
408     ASSERT_NE(paramsData, nullptr);
409 
410     (void)AddStringToJson(paramsData, FIELD_PEER_CONN_DEVICE_ID, "CONN_DEVICE_ID"); // For unit test.
411     entry->userId = CreateString();
412     (void)StringSetPointer(&entry->userId, "selfUserId"); // For unit test.
413 
414     entry->id = CreateString();
415     (void)StringSetPointer(&entry->id, "groupId"); // For unit test.
416 
417     localAuthInfo->udid = CreateString();
418     (void)StringSetPointer(&localAuthInfo->udid, "selfDeviceId"); // For unit test.
419     int32_t ret = GetAccountRelatedGroupAuth()->fillDeviceAuthInfo(0, entry,
420         localAuthInfo, paramsData); // For unit test.
421     EXPECT_EQ(ret, HC_SUCCESS);
422 
423     FreeJson(paramsData);
424     DestroyGroupEntry(entry);
425     DestroyDeviceEntry(localAuthInfo);
426 }
427 
428 HWTEST_F(AccountRelatedGroupAuthTest, AccountRelatedGroupAuthTest0044, TestSize.Level0)
429 {
430     TrustedGroupEntry *entry = CreateGroupEntry();
431     ASSERT_NE(entry, nullptr);
432     TrustedDeviceEntry *localAuthInfo = CreateDeviceEntry();
433     if (localAuthInfo == nullptr) {
434         DestroyGroupEntry(entry);
435     }
436     ASSERT_NE(localAuthInfo, nullptr);
437     CJson *paramsData = CreateJson();
438     if (paramsData == nullptr) {
439         DestroyGroupEntry(entry);
440         DestroyDeviceEntry(localAuthInfo);
441     }
442     ASSERT_NE(paramsData, nullptr);
443     entry->userId = CreateString();
444     (void)StringSetPointer(&entry->userId, "selfUserId");
445     entry->id = CreateString();
446     (void)StringSetPointer(&entry->id, "groupId");
447 
448     localAuthInfo->udid = CreateString();
449     (void)StringSetPointer(&localAuthInfo->udid, "selfDeviceId");
450     localAuthInfo->udid = CreateString();
451     (void)StringSetPointer(&localAuthInfo->udid, "selfDevId");
452 
453     (void)AddStringToJson(paramsData, FIELD_PEER_CONN_DEVICE_ID, "CONN_DEVICE_ID");
454     int32_t ret = GetAccountRelatedGroupAuth()->fillDeviceAuthInfo(0, entry,
455         localAuthInfo, paramsData); // For unit test.
456     EXPECT_EQ(ret, HC_SUCCESS);
457 
458     FreeJson(paramsData);
459     DestroyGroupEntry(entry);
460     DestroyDeviceEntry(localAuthInfo);
461 }
462 
463 HWTEST_F(AccountRelatedGroupAuthTest, AccountRelatedGroupAuthTest007, TestSize.Level0)
464 {
465     CJson *confirmationJson = CreateJson();
466     ASSERT_NE(confirmationJson, nullptr);
467     CJson *dataFromClient = CreateJson();
468     if (dataFromClient == nullptr) {
469         FreeJson(confirmationJson);
470     }
471     ASSERT_NE(dataFromClient, nullptr);
472     int32_t ret = GetAccountRelatedGroupAuth()->combineServerConfirmParams(confirmationJson, dataFromClient);
473     EXPECT_NE(ret, HC_SUCCESS);
474     FreeJson(confirmationJson);
475     FreeJson(dataFromClient);
476 }
477 
478 HWTEST_F(AccountRelatedGroupAuthTest, AccountRelatedGroupAuthTest0071, TestSize.Level0)
479 {
480     CJson *confirmationJson = CreateJson();
481     ASSERT_NE(confirmationJson, nullptr);
482     CJson *dataFromClient = CreateJson();
483     if (dataFromClient == nullptr) {
484         FreeJson(confirmationJson);
485     }
486     ASSERT_NE(dataFromClient, nullptr);
487 
488     (void)AddStringToJson(confirmationJson, FIELD_PEER_CONN_DEVICE_ID, "CONN_DEVICE_ID"); // For unit test.
489     int32_t ret = GetAccountRelatedGroupAuth()->combineServerConfirmParams(confirmationJson, dataFromClient);
490     EXPECT_EQ(ret, HC_SUCCESS);
491     FreeJson(confirmationJson);
492     FreeJson(dataFromClient);
493 }
494 
495 HWTEST_F(AccountRelatedGroupAuthTest, AccountRelatedGroupAuthTest008, TestSize.Level0)
496 {
497     CJson *in = CreateJson();
498     int32_t ret = GetUserIdForAccount(in, in);
499     EXPECT_NE(ret, HC_SUCCESS);
500     FreeJson(in);
501 }
502 
503 HWTEST_F(AccountRelatedGroupAuthTest, AccountRelatedGroupAuthTest009, TestSize.Level0)
504 {
505     char *userIdDb = nullptr;
506     char *peerUserIdInDb = nullptr;
507     bool ret = IsUserIdEqual(userIdDb, peerUserIdInDb);
508     EXPECT_NE(ret, true);
509 }
510 
511 HWTEST_F(AccountRelatedGroupAuthTest, AccountRelatedGroupAuthTest010, TestSize.Level0)
512 {
513     TrustedGroupEntry *entry = CreateGroupEntry();
514     bool ret = IsPeerInAccountRelatedGroup(entry, nullptr, ALL_GROUP);
515     EXPECT_NE(ret, true);
516 
517     QueryGroupParams params = {
518         .groupId = nullptr,
519         .groupName = nullptr,
520         .ownerName = nullptr,
521         .userId = nullptr,
522         .groupType = ALL_GROUP,
523         .groupVisibility = ALL_GROUP_VISIBILITY
524     };
525     GaGetAccountGroup(TEST_OS_ACCOUNT_ID, IDENTICAL_ACCOUNT_GROUP, nullptr, &params, nullptr);
526     DestroyGroupEntry(entry);
527 }
528 
529 HWTEST_F(AccountRelatedGroupAuthTest, AccountRelatedGroupAuthTest011, TestSize.Level0)
530 {
531     int32_t ret = QueryAuthGroupForServer(TEST_OS_ACCOUNT_ID, nullptr, nullptr);
532     EXPECT_NE(ret, HC_SUCCESS);
533     CJson *in = CreateJson();
534     (void)AddStringToJson(in, FIELD_USER_ID, TEST_USER_ID);
535     ret = QueryAuthGroupForServer(TEST_OS_ACCOUNT_ID, nullptr, in);
536     EXPECT_NE(ret, HC_SUCCESS);
537     (void)AddIntToJson(in, FIELD_AUTH_FORM, TEST_AUTH_FORM);
538     ret = QueryAuthGroupForServer(TEST_OS_ACCOUNT_ID, nullptr, in);
539     EXPECT_NE(ret, HC_SUCCESS);
540     FreeJson(in);
541 }
542 
543 HWTEST_F(AccountRelatedGroupAuthTest, AccountRelatedGroupAuthTest012, TestSize.Level0)
544 {
545     CJson *in = CreateJson();
546     char *peerUserId = nullptr;
547     int32_t ret = GetPeerUserIdFromReceivedData(in, &peerUserId);
548     EXPECT_NE(ret, HC_SUCCESS);
549     (void)AddStringToJson(in, FIELD_PLUGIN_EXT_DATA, TEST_EXT_DATA);
550     ret = GetPeerUserIdFromReceivedData(in, &peerUserId);
551     EXPECT_NE(ret, HC_SUCCESS);
552     (void)AddStringToJson(in, FIELD_USER_ID, TEST_USER_ID);
553     ret = GetPeerUserIdFromReceivedData(in, &peerUserId);
554     EXPECT_NE(ret, HC_SUCCESS);
555     FreeJson(in);
556 }
557 
558 HWTEST_F(AccountRelatedGroupAuthTest, AccountRelatedGroupAuthTest013, TestSize.Level0)
559 {
560     CJson *in = CreateJson();
561     int32_t ret = QueryGroupForAccountPlugin(TEST_OS_ACCOUNT_ID, nullptr, in);
562     EXPECT_NE(ret, HC_SUCCESS);
563     (void)AddIntToJson(in, FIELD_AUTH_FORM, TEST_AUTH_FORM);
564     ret = QueryGroupForAccountPlugin(TEST_OS_ACCOUNT_ID, nullptr, in);
565     EXPECT_NE(ret, HC_SUCCESS);
566     FreeJson(in);
567 }
568 
569 HWTEST_F(AccountRelatedGroupAuthTest, AccountRelatedGroupAuthTest014, TestSize.Level0)
570 {
571     CJson *in = CreateJson();
572     TrustedGroupEntry *entry = CreateGroupEntry();
573     int32_t ret = AddSelfDevInfoForServer(TEST_OS_ACCOUNT_ID, entry, in);
574     EXPECT_NE(ret, HC_SUCCESS);
575     DestroyGroupEntry(entry);
576     AddServerParamsForAccountPlugin(in);
577     (void)AddIntToJson(in, FIELD_OS_ACCOUNT_ID, TEST_OS_ACCOUNT_ID);
578     AddServerParamsForAccountPlugin(in);
579     FreeJson(in);
580 }
581 
582 HWTEST_F(AccountRelatedGroupAuthTest, AccountRelatedGroupAuthTest015, TestSize.Level0)
583 {
584     CJson *in = CreateJson();
585     int32_t ret = AddSelfAccountInfoForServer(in);
586     EXPECT_NE(ret, HC_SUCCESS);
587     (void)AddIntToJson(in, FIELD_OS_ACCOUNT_ID, TEST_OS_ACCOUNT_ID);
588     ret = AddSelfAccountInfoForServer(in);
589     EXPECT_NE(ret, HC_SUCCESS);
590     FreeJson(in);
591 }
592 
593 HWTEST_F(AccountRelatedGroupAuthTest, AccountRelatedGroupAuthTest016, TestSize.Level0)
594 {
595     CJson *in = CreateJson();
596     int32_t ret = AddTrustedDeviceForAccount(in, in);
597     EXPECT_NE(ret, HC_SUCCESS);
598     (void)AddIntToJson(in, FIELD_OS_ACCOUNT_ID, TEST_OS_ACCOUNT_ID);
599     ret = AddTrustedDeviceForAccount(in, in);
600     EXPECT_NE(ret, HC_SUCCESS);
601     (void)AddStringToJson(in, FIELD_PEER_CONN_DEVICE_ID, TEST_DEVICE_ID);
602     ret = AddTrustedDeviceForAccount(in, in);
603     EXPECT_NE(ret, HC_SUCCESS);
604     (void)AddStringToJson(in, FIELD_GROUP_ID, TEST_GROUP_ID);
605     ret = AddTrustedDeviceForAccount(in, in);
606     EXPECT_NE(ret, HC_SUCCESS);
607     FreeJson(in);
608 }
609 
610 HWTEST_F(AccountRelatedGroupAuthTest, AccountRelatedGroupAuthTest017, TestSize.Level0)
611 {
612     CJson *in = CreateJson();
613     int32_t ret = AccountOnFinishToSelf(TEST_REQUEST_ID, in, in, nullptr);
614     EXPECT_NE(ret, HC_SUCCESS);
615     FreeJson(in);
616 }
617 
618 // Ending for account_related_group_auth.c test.
619 }