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