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, ¶ms, 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 }