117fd14ceSopenharmony_ci/* 217fd14ceSopenharmony_ci * Copyright (c) 2024 Huawei Device Co., Ltd. 317fd14ceSopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 417fd14ceSopenharmony_ci * you may not use this file except in compliance with the License. 517fd14ceSopenharmony_ci * You may obtain a copy of the License at 617fd14ceSopenharmony_ci * 717fd14ceSopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 817fd14ceSopenharmony_ci * 917fd14ceSopenharmony_ci * Unless required by applicable law or agreed to in writing, software 1017fd14ceSopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 1117fd14ceSopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1217fd14ceSopenharmony_ci * See the License for the specific language governing permissions and 1317fd14ceSopenharmony_ci * limitations under the License. 1417fd14ceSopenharmony_ci */ 1517fd14ceSopenharmony_ci 1617fd14ceSopenharmony_ci#include "devauthfunc_fuzzer.h" 1717fd14ceSopenharmony_ci 1817fd14ceSopenharmony_ci#include <cstddef> 1917fd14ceSopenharmony_ci#include <cstdint> 2017fd14ceSopenharmony_ci#include <string> 2117fd14ceSopenharmony_ci 2217fd14ceSopenharmony_ci#include <cinttypes> 2317fd14ceSopenharmony_ci#include <unistd.h> 2417fd14ceSopenharmony_ci#include "account_module_defines.h" 2517fd14ceSopenharmony_ci#include "alg_loader.h" 2617fd14ceSopenharmony_ci#include "common_defs.h" 2717fd14ceSopenharmony_ci#include "device_auth.h" 2817fd14ceSopenharmony_ci#include "device_auth_defines.h" 2917fd14ceSopenharmony_ci#include "device_auth_ext.h" 3017fd14ceSopenharmony_ci#include "hc_dev_info_mock.h" 3117fd14ceSopenharmony_ci#include "json_utils_mock.h" 3217fd14ceSopenharmony_ci#include "json_utils.h" 3317fd14ceSopenharmony_ci#include "protocol_task_main_mock.h" 3417fd14ceSopenharmony_ci#include "securec.h" 3517fd14ceSopenharmony_ci 3617fd14ceSopenharmony_cinamespace OHOS { 3717fd14ceSopenharmony_ci#define TEST_APP_ID "TestAppId" 3817fd14ceSopenharmony_ci#define TEST_APP_ID2 "TestAppId2" 3917fd14ceSopenharmony_ci#define TEST_REQ_ID 123 4017fd14ceSopenharmony_ci#define TEST_REQ_ID2 321 4117fd14ceSopenharmony_ci#define TEST_REQ_ID3 132 4217fd14ceSopenharmony_ci#define TEST_REQ_ID4 213 4317fd14ceSopenharmony_ci#define TEST_GROUP_NAME "TestGroup" 4417fd14ceSopenharmony_ci#define TEST_AUTH_ID "TestAuthId" 4517fd14ceSopenharmony_ci#define TEST_AUTH_ID2 "TestAuthId2" 4617fd14ceSopenharmony_ci#define TEST_AUTH_ID3 "TestAuthId3" 4717fd14ceSopenharmony_ci#define TEST_UDID "TestUdid" 4817fd14ceSopenharmony_ci#define TEST_UDID2 "TestUdid2" 4917fd14ceSopenharmony_ci#define TEST_QUERY_PARAMS "bac" 5017fd14ceSopenharmony_ci#define TEST_PIN_CODE "123456" 5117fd14ceSopenharmony_ci#define TEST_UDID_CLIENT "5420459D93FE773F9945FD64277FBA2CAB8FB996DDC1D0B97676FBB1242B3930" 5217fd14ceSopenharmony_ci#define TEST_UDID_SERVER "52E2706717D5C39D736E134CC1E3BE1BAA2AA52DB7C76A37C749558BD2E6492C" 5317fd14ceSopenharmony_ci#define TEST_GROUP_ID "E2EE6F830B176B2C96A9F99BFAE2A61F5D1490B9F4A090E9D8C2874C230C7C21" 5417fd14ceSopenharmony_ci#define TEST_GROUP_ID2 "F2AA208B1E010542B20A34B03B4B6289EA7C7F6DFE97DA2E370348B826682D3D" 5517fd14ceSopenharmony_ci#define TEST_GROUP_ID3 "4269DC28B639681698809A67EDAD08E39F207900038F91FEF95DD042FE2874E4" 5617fd14ceSopenharmony_ci#define TEST_GROUP_ID4 "6B7B805962B8EB8275D73128BFDAA7ECD755A2EC304E36543941874A277FA75F" 5717fd14ceSopenharmony_ci#define TEST_USER_ID_AUTH "4269DC28B639681698809A67EDAD08E39F207900038F91FEF95DD042FE2874E4" 5817fd14ceSopenharmony_ci#define TEST_USER_ID "4269DC28B639681698809A67EDAD08E39F207900038F91FEF95DD042FE2874E4" 5917fd14ceSopenharmony_ci#define TEST_AUTH_CODE "37364761534f454d33567a73424e794f33573330507069434b31676f7254706b" 6017fd14ceSopenharmony_ci#define TEST_AUTH_CODE2 "2f7562744654535564586e665467546b322b4b506b65626373466f48766a4335" 6117fd14ceSopenharmony_ci#define TEST_AUTH_CODE3 "1234567812345678123456781234567812345678123456781234567812345678" 6217fd14ceSopenharmony_ci#define TEST_AUTH_TOKEN3 "10F9F0576E61730193D2052B7F771887124A68F1607EFCF7796C1491F834CD92" 6317fd14ceSopenharmony_ci#define TEST_DEV_AUTH_SLEEP_TIME 50000 6417fd14ceSopenharmony_ci#define TEST_DEV_AUTH_SLEEP_TIME2 600000 6517fd14ceSopenharmony_ci#define TEST_TRANSMIT_DATA_LEN 2048 6617fd14ceSopenharmony_ci#define TEST_HKS_MAIN_DATA_PATH "/data/service/el1/public/huks_service/tmp/+0+0+0+0" 6717fd14ceSopenharmony_ci#define TEST_DEV_AUTH_TEMP_KEY_PAIR_LEN 32 6817fd14ceSopenharmony_cistatic const int32_t TEST_AUTH_OS_ACCOUNT_ID = 100; 6917fd14ceSopenharmony_cistatic const int TEST_DEV_AUTH_BUFFER_SIZE = 128; 7017fd14ceSopenharmony_cistatic const char *CREATE_PARAMS = "{\"groupName\":\"TestGroup\",\"deviceId\":\"TestAuthId\",\"groupType\":256,\"group" 7117fd14ceSopenharmony_ci "Visibility\":-1,\"userType\":0,\"expireTime\":-1}"; 7217fd14ceSopenharmony_cistatic const char *CREATE_PARAMS2 = "{\"groupType\":1282,\"userId\":\"4269DC28B639681698809A67EDAD08E39F20790" 7317fd14ceSopenharmony_ci "0038F91FEF95DD042FE2874E4\",\"peerUserId\":\"6B7B805962B8EB8275D73128BFDAA7ECD755A2EC304E36543941874A277FA75F\"}"; 7417fd14ceSopenharmony_cistatic const char *DISBAND_PARAMS = 7517fd14ceSopenharmony_ci "{\"groupId\":\"E2EE6F830B176B2C96A9F99BFAE2A61F5D1490B9F4A090E9D8C2874C230C7C21\"}"; 7617fd14ceSopenharmony_cistatic const char *DISBAND_PARAMS2 = 7717fd14ceSopenharmony_ci "{\"groupId\":\"4269DC28B639681698809A67EDAD08E39F207900038F91FEF95DD042FE2874E4\"}"; 7817fd14ceSopenharmony_cistatic const char *DISBAND_PARAMS3 = 7917fd14ceSopenharmony_ci "{\"groupId\":\"FF52352E8082CE2B34DEF7A55F40BA694F64D5200ADA86686B862772F3517A84\"}"; 8017fd14ceSopenharmony_cistatic const char *ADD_PARAMS = 8117fd14ceSopenharmony_ci "{\"groupId\":\"E2EE6F830B176B2C96A9F99BFAE2A61F5D1490B9F4A090E9D8C2874C230C7C21\"," 8217fd14ceSopenharmony_ci "\"groupType\":256,\"pinCode\":\"123456\"}"; 8317fd14ceSopenharmony_cistatic const char *AUTH_PARAMS = "{\"peerConnDeviceId\":\"52E2706717D5C39D736E134CC1E3BE1BAA2AA52DB7C76A37C" 8417fd14ceSopenharmony_ci "749558BD2E6492C\",\"servicePkgName\":\"TestAppId\",\"isClient\":true}"; 8517fd14ceSopenharmony_cistatic const char *ADD_MULTI_PARAMS = 8617fd14ceSopenharmony_ci "{\"groupType\":1,\"groupId\":\"4269DC28B639681698809A67EDAD08E39F207900038F91FEF95DD042FE2874E4\"," 8717fd14ceSopenharmony_ci "\"deviceList\":[{\"deviceId\":\"TestAuthId2\",\"udid\":\"TestUdid2\"," 8817fd14ceSopenharmony_ci "\"userId\":\"4269DC28B639681698809A67EDAD08E39F207900038F91FEF95DD042FE2874E4\"," 8917fd14ceSopenharmony_ci "\"credential\":{\"credentialType\":1," 9017fd14ceSopenharmony_ci "\"authCode\":\"37364761534f454d33567a73424e794f33573330507069434b31676f7254706b\"}}," 9117fd14ceSopenharmony_ci "{\"deviceId\":\"TestAuthId3\",\"udid\":\"TestUdid3\"," 9217fd14ceSopenharmony_ci "\"userId\":\"4269DC28B639681698809A67EDAD08E39F207900038F91FEF95DD042FE2874E4\"," 9317fd14ceSopenharmony_ci "\"credential\":{\"credentialType\":1," 9417fd14ceSopenharmony_ci "\"authCode\":\"2f7562744654535564586e665467546b322b4b506b65626373466f48766a4335\"}}]}"; 9517fd14ceSopenharmony_cistatic const char *DEL_MULTI_PARAMS = 9617fd14ceSopenharmony_ci "{\"groupType\":1,\"groupId\":\"4269DC28B639681698809A67EDAD08E39F207900038F91FEF95DD042FE2874E4\"," 9717fd14ceSopenharmony_ci "\"deviceList\":[{\"deviceId\":\"TestAuthId2\"},{\"deviceId\":\"TestAuthId3\"}]}"; 9817fd14ceSopenharmony_cistatic const char *DELETE_PARAMS = 9917fd14ceSopenharmony_ci "{\"groupId\":\"E2EE6F830B176B2C96A9F99BFAE2A61F5D1490B9F4A090E9D8C2874C230C7C21\",\"deleteId\":\"TestAuthId2\"}"; 10017fd14ceSopenharmony_cistatic const char *GET_REGISTER_INFO_PARAMS = 10117fd14ceSopenharmony_ci "{\"version\":\"1.0.0\",\"deviceId\":\"TestAuthId\"," 10217fd14ceSopenharmony_ci "\"userId\":\"4269DC28B639681698809A67EDAD08E39F207900038F91FEF95DD042FE2874E4\"}"; 10317fd14ceSopenharmony_cistatic const char *QUERY_PARAMS = "{\"groupOwner\":\"TestAppId\"}"; 10417fd14ceSopenharmony_cistatic const char *QUERY_PK_PARAMS = "{\"udid\":\"52E2706717D5C39D736E134CC1E3BE1BAA2AA52DB7C76A37C749558BD" 10517fd14ceSopenharmony_ci "2E6492C\",\"isSelfPk\":true}"; 10617fd14ceSopenharmony_cistatic const char *QUERY_PK_PARAMS2 = "{\"udid\":\"52E2706717D5C39D736E134CC1E3BE1BAA2AA52DB7C76A37C749558BD" 10717fd14ceSopenharmony_ci "2E6492C\",\"isSelfPk\":false}"; 10817fd14ceSopenharmony_ci 10917fd14ceSopenharmony_cienum AsyncStatus { 11017fd14ceSopenharmony_ci ASYNC_STATUS_WAITING = 0, 11117fd14ceSopenharmony_ci ASYNC_STATUS_TRANSMIT = 1, 11217fd14ceSopenharmony_ci ASYNC_STATUS_FINISH = 2, 11317fd14ceSopenharmony_ci ASYNC_STATUS_ERROR = 3 11417fd14ceSopenharmony_ci}; 11517fd14ceSopenharmony_ci 11617fd14ceSopenharmony_cistatic AsyncStatus volatile g_asyncStatus; 11717fd14ceSopenharmony_cistatic uint8_t g_transmitData[2048] = { 0 }; 11817fd14ceSopenharmony_cistatic uint32_t g_transmitDataLen = 0; 11917fd14ceSopenharmony_ci 12017fd14ceSopenharmony_cistatic bool OnTransmit(int64_t requestId, const uint8_t *data, uint32_t dataLen) 12117fd14ceSopenharmony_ci{ 12217fd14ceSopenharmony_ci if (memcpy_s(g_transmitData, TEST_TRANSMIT_DATA_LEN, data, dataLen) != EOK) { 12317fd14ceSopenharmony_ci return false; 12417fd14ceSopenharmony_ci } 12517fd14ceSopenharmony_ci g_transmitDataLen = dataLen; 12617fd14ceSopenharmony_ci g_asyncStatus = ASYNC_STATUS_TRANSMIT; 12717fd14ceSopenharmony_ci return true; 12817fd14ceSopenharmony_ci} 12917fd14ceSopenharmony_ci 13017fd14ceSopenharmony_cistatic void OnSessionKeyReturned(int64_t requestId, const uint8_t *sessionKey, uint32_t sessionKeyLen) 13117fd14ceSopenharmony_ci{ 13217fd14ceSopenharmony_ci (void)requestId; 13317fd14ceSopenharmony_ci (void)sessionKey; 13417fd14ceSopenharmony_ci (void)sessionKeyLen; 13517fd14ceSopenharmony_ci return; 13617fd14ceSopenharmony_ci} 13717fd14ceSopenharmony_ci 13817fd14ceSopenharmony_cistatic void OnFinish(int64_t requestId, int operationCode, const char *authReturn) 13917fd14ceSopenharmony_ci{ 14017fd14ceSopenharmony_ci g_asyncStatus = ASYNC_STATUS_FINISH; 14117fd14ceSopenharmony_ci} 14217fd14ceSopenharmony_ci 14317fd14ceSopenharmony_cistatic void OnError(int64_t requestId, int operationCode, int errorCode, const char *errorReturn) 14417fd14ceSopenharmony_ci{ 14517fd14ceSopenharmony_ci g_asyncStatus = ASYNC_STATUS_ERROR; 14617fd14ceSopenharmony_ci} 14717fd14ceSopenharmony_ci 14817fd14ceSopenharmony_cistatic char *OnBindRequest(int64_t requestId, int operationCode, const char* reqParam) 14917fd14ceSopenharmony_ci{ 15017fd14ceSopenharmony_ci CJson *json = CreateJson(); 15117fd14ceSopenharmony_ci AddIntToJson(json, FIELD_CONFIRMATION, REQUEST_ACCEPTED); 15217fd14ceSopenharmony_ci AddIntToJson(json, FIELD_OS_ACCOUNT_ID, TEST_AUTH_OS_ACCOUNT_ID); 15317fd14ceSopenharmony_ci AddStringToJson(json, FIELD_PIN_CODE, TEST_PIN_CODE); 15417fd14ceSopenharmony_ci AddStringToJson(json, FIELD_DEVICE_ID, TEST_AUTH_ID2); 15517fd14ceSopenharmony_ci char *returnDataStr = PackJsonToString(json); 15617fd14ceSopenharmony_ci FreeJson(json); 15717fd14ceSopenharmony_ci return returnDataStr; 15817fd14ceSopenharmony_ci} 15917fd14ceSopenharmony_ci 16017fd14ceSopenharmony_cistatic char *OnAuthRequest(int64_t requestId, int operationCode, const char* reqParam) 16117fd14ceSopenharmony_ci{ 16217fd14ceSopenharmony_ci CJson *json = CreateJson(); 16317fd14ceSopenharmony_ci AddIntToJson(json, FIELD_CONFIRMATION, REQUEST_ACCEPTED); 16417fd14ceSopenharmony_ci AddIntToJson(json, FIELD_OS_ACCOUNT_ID, TEST_AUTH_OS_ACCOUNT_ID); 16517fd14ceSopenharmony_ci AddStringToJson(json, FIELD_PEER_CONN_DEVICE_ID, TEST_UDID_CLIENT); 16617fd14ceSopenharmony_ci AddStringToJson(json, FIELD_SERVICE_PKG_NAME, TEST_APP_ID); 16717fd14ceSopenharmony_ci char *returnDataStr = PackJsonToString(json); 16817fd14ceSopenharmony_ci FreeJson(json); 16917fd14ceSopenharmony_ci return returnDataStr; 17017fd14ceSopenharmony_ci} 17117fd14ceSopenharmony_ci 17217fd14ceSopenharmony_cistatic DeviceAuthCallback g_gmCallback = { 17317fd14ceSopenharmony_ci .onTransmit = OnTransmit, 17417fd14ceSopenharmony_ci .onSessionKeyReturned = OnSessionKeyReturned, 17517fd14ceSopenharmony_ci .onFinish = OnFinish, 17617fd14ceSopenharmony_ci .onError = OnError, 17717fd14ceSopenharmony_ci .onRequest = OnBindRequest 17817fd14ceSopenharmony_ci}; 17917fd14ceSopenharmony_ci 18017fd14ceSopenharmony_cistatic DeviceAuthCallback g_gaCallback = { 18117fd14ceSopenharmony_ci .onTransmit = OnTransmit, 18217fd14ceSopenharmony_ci .onSessionKeyReturned = OnSessionKeyReturned, 18317fd14ceSopenharmony_ci .onFinish = OnFinish, 18417fd14ceSopenharmony_ci .onError = OnError, 18517fd14ceSopenharmony_ci .onRequest = OnAuthRequest 18617fd14ceSopenharmony_ci}; 18717fd14ceSopenharmony_ci 18817fd14ceSopenharmony_cistatic void OnGroupCreated(const char *groupInfo) {} 18917fd14ceSopenharmony_ci 19017fd14ceSopenharmony_cistatic void OnGroupDeleted(const char *groupInfo) {} 19117fd14ceSopenharmony_ci 19217fd14ceSopenharmony_cistatic void OnDeviceBound(const char *peerUdid, const char* groupInfo) {} 19317fd14ceSopenharmony_ci 19417fd14ceSopenharmony_cistatic void OnDeviceUnBound(const char *peerUdid, const char* groupInfo) {} 19517fd14ceSopenharmony_ci 19617fd14ceSopenharmony_cistatic void OnDeviceNotTrusted(const char *peerUdid) {} 19717fd14ceSopenharmony_ci 19817fd14ceSopenharmony_cistatic void OnLastGroupDeleted(const char *peerUdid, int groupType) {} 19917fd14ceSopenharmony_ci 20017fd14ceSopenharmony_cistatic void OnTrustedDeviceNumChanged(int curTrustedDeviceNum) {} 20117fd14ceSopenharmony_ci 20217fd14ceSopenharmony_cistatic DataChangeListener g_listener = { 20317fd14ceSopenharmony_ci .onGroupCreated = OnGroupCreated, 20417fd14ceSopenharmony_ci .onGroupDeleted = OnGroupDeleted, 20517fd14ceSopenharmony_ci .onDeviceBound = OnDeviceBound, 20617fd14ceSopenharmony_ci .onDeviceUnBound = OnDeviceUnBound, 20717fd14ceSopenharmony_ci .onDeviceNotTrusted = OnDeviceNotTrusted, 20817fd14ceSopenharmony_ci .onLastGroupDeleted = OnLastGroupDeleted, 20917fd14ceSopenharmony_ci .onTrustedDeviceNumChanged = OnTrustedDeviceNumChanged 21017fd14ceSopenharmony_ci}; 21117fd14ceSopenharmony_ci 21217fd14ceSopenharmony_cistatic void RemoveDir(const char *path) 21317fd14ceSopenharmony_ci{ 21417fd14ceSopenharmony_ci char strBuf[TEST_DEV_AUTH_BUFFER_SIZE] = {0}; 21517fd14ceSopenharmony_ci if (path == nullptr) { 21617fd14ceSopenharmony_ci return; 21717fd14ceSopenharmony_ci } 21817fd14ceSopenharmony_ci if (sprintf_s(strBuf, sizeof(strBuf) - 1, "rm -rf %s", path) < 0) { 21917fd14ceSopenharmony_ci return; 22017fd14ceSopenharmony_ci } 22117fd14ceSopenharmony_ci system(strBuf); 22217fd14ceSopenharmony_ci return; 22317fd14ceSopenharmony_ci} 22417fd14ceSopenharmony_ci 22517fd14ceSopenharmony_cistatic void DeleteDatabase() 22617fd14ceSopenharmony_ci{ 22717fd14ceSopenharmony_ci const char *groupPath = "/data/service/el1/public/deviceauthMock"; 22817fd14ceSopenharmony_ci RemoveDir(groupPath); 22917fd14ceSopenharmony_ci RemoveDir(TEST_HKS_MAIN_DATA_PATH); 23017fd14ceSopenharmony_ci return; 23117fd14ceSopenharmony_ci} 23217fd14ceSopenharmony_ci 23317fd14ceSopenharmony_cistatic int32_t GenerateTempKeyPair(const Uint8Buff *keyAlias) 23417fd14ceSopenharmony_ci{ 23517fd14ceSopenharmony_ci int32_t ret = GetLoaderInstance()->checkKeyExist(keyAlias, false, DEFAULT_OS_ACCOUNT); 23617fd14ceSopenharmony_ci if (ret != HC_SUCCESS) { 23717fd14ceSopenharmony_ci int32_t authId = 0; 23817fd14ceSopenharmony_ci Uint8Buff authIdBuff = { reinterpret_cast<uint8_t *>(&authId), sizeof(int32_t)}; 23917fd14ceSopenharmony_ci ExtraInfo extInfo = {authIdBuff, -1, -1}; 24017fd14ceSopenharmony_ci KeyParams keyParams = { { keyAlias->val, keyAlias->length, true }, false, DEFAULT_OS_ACCOUNT }; 24117fd14ceSopenharmony_ci ret = GetLoaderInstance()->generateKeyPairWithStorage(&keyParams, TEST_DEV_AUTH_TEMP_KEY_PAIR_LEN, P256, 24217fd14ceSopenharmony_ci KEY_PURPOSE_SIGN_VERIFY, &extInfo); 24317fd14ceSopenharmony_ci } 24417fd14ceSopenharmony_ci return ret; 24517fd14ceSopenharmony_ci} 24617fd14ceSopenharmony_ci 24717fd14ceSopenharmony_cistatic CJson *GetAsyCredentialJson(const std::string registerInfo) 24817fd14ceSopenharmony_ci{ 24917fd14ceSopenharmony_ci uint8_t keyAliasValue[] = "TestServerKeyPair"; 25017fd14ceSopenharmony_ci int32_t keyAliasLen = 18; 25117fd14ceSopenharmony_ci Uint8Buff keyAlias = { 25217fd14ceSopenharmony_ci .val = keyAliasValue, 25317fd14ceSopenharmony_ci .length = keyAliasLen 25417fd14ceSopenharmony_ci }; 25517fd14ceSopenharmony_ci if (GenerateTempKeyPair(&keyAlias) != HC_SUCCESS) { 25617fd14ceSopenharmony_ci return nullptr; 25717fd14ceSopenharmony_ci } 25817fd14ceSopenharmony_ci uint8_t *serverPkVal = reinterpret_cast<uint8_t *>(HcMalloc(SERVER_PK_SIZE, 0)); 25917fd14ceSopenharmony_ci Uint8Buff serverPk = { 26017fd14ceSopenharmony_ci .val = serverPkVal, 26117fd14ceSopenharmony_ci .length = SERVER_PK_SIZE 26217fd14ceSopenharmony_ci }; 26317fd14ceSopenharmony_ci 26417fd14ceSopenharmony_ci KeyParams keyAliasParams = { { keyAlias.val, keyAlias.length, true }, false, DEFAULT_OS_ACCOUNT }; 26517fd14ceSopenharmony_ci int32_t ret = GetLoaderInstance()->exportPublicKey(&keyAliasParams, &serverPk); 26617fd14ceSopenharmony_ci if (ret != HC_SUCCESS) { 26717fd14ceSopenharmony_ci HcFree(serverPkVal); 26817fd14ceSopenharmony_ci return nullptr; 26917fd14ceSopenharmony_ci } 27017fd14ceSopenharmony_ci 27117fd14ceSopenharmony_ci Uint8Buff messageBuff = { 27217fd14ceSopenharmony_ci .val = reinterpret_cast<uint8_t *>(const_cast<char *>(registerInfo.c_str())), 27317fd14ceSopenharmony_ci .length = registerInfo.length() + 1 27417fd14ceSopenharmony_ci }; 27517fd14ceSopenharmony_ci uint8_t *signatureValue = reinterpret_cast<uint8_t *>(HcMalloc(SIGNATURE_SIZE, 0)); 27617fd14ceSopenharmony_ci Uint8Buff signature = { 27717fd14ceSopenharmony_ci .val = signatureValue, 27817fd14ceSopenharmony_ci .length = SIGNATURE_SIZE 27917fd14ceSopenharmony_ci }; 28017fd14ceSopenharmony_ci ret = GetLoaderInstance()->sign(&keyAliasParams, &messageBuff, P256, &signature); 28117fd14ceSopenharmony_ci if (ret != HC_SUCCESS) { 28217fd14ceSopenharmony_ci HcFree(serverPkVal); 28317fd14ceSopenharmony_ci HcFree(signatureValue); 28417fd14ceSopenharmony_ci return nullptr; 28517fd14ceSopenharmony_ci } 28617fd14ceSopenharmony_ci 28717fd14ceSopenharmony_ci CJson *pkInfoJson = CreateJsonFromString(registerInfo.c_str()); 28817fd14ceSopenharmony_ci CJson *credentialJson = CreateJson(); 28917fd14ceSopenharmony_ci (void)AddIntToJson(credentialJson, FIELD_CREDENTIAL_TYPE, ASYMMETRIC_CRED); 29017fd14ceSopenharmony_ci (void)AddByteToJson(credentialJson, FIELD_SERVER_PK, serverPkVal, serverPk.length); 29117fd14ceSopenharmony_ci (void)AddByteToJson(credentialJson, FIELD_PK_INFO_SIGNATURE, signatureValue, signature.length); 29217fd14ceSopenharmony_ci (void)AddObjToJson(credentialJson, FIELD_PK_INFO, pkInfoJson); 29317fd14ceSopenharmony_ci FreeJson(pkInfoJson); 29417fd14ceSopenharmony_ci return credentialJson; 29517fd14ceSopenharmony_ci} 29617fd14ceSopenharmony_ci 29717fd14ceSopenharmony_cistatic int32_t CreateDemoGroup(int32_t osAccountId, int64_t reqId, const char *appId, const char *createParams) 29817fd14ceSopenharmony_ci{ 29917fd14ceSopenharmony_ci g_asyncStatus = ASYNC_STATUS_WAITING; 30017fd14ceSopenharmony_ci const DeviceGroupManager *gm = GetGmInstance(); 30117fd14ceSopenharmony_ci if (gm == nullptr) { 30217fd14ceSopenharmony_ci return HC_ERR_NULL_PTR; 30317fd14ceSopenharmony_ci } 30417fd14ceSopenharmony_ci int32_t ret = gm->createGroup(osAccountId, reqId, appId, createParams); 30517fd14ceSopenharmony_ci if (ret != HC_SUCCESS) { 30617fd14ceSopenharmony_ci g_asyncStatus = ASYNC_STATUS_ERROR; 30717fd14ceSopenharmony_ci return ret; 30817fd14ceSopenharmony_ci } 30917fd14ceSopenharmony_ci while (g_asyncStatus == ASYNC_STATUS_WAITING) { 31017fd14ceSopenharmony_ci usleep(TEST_DEV_AUTH_SLEEP_TIME); 31117fd14ceSopenharmony_ci } 31217fd14ceSopenharmony_ci usleep(TEST_DEV_AUTH_SLEEP_TIME); 31317fd14ceSopenharmony_ci return g_asyncStatus == ASYNC_STATUS_ERROR ? HC_ERROR : HC_SUCCESS; 31417fd14ceSopenharmony_ci} 31517fd14ceSopenharmony_ci 31617fd14ceSopenharmony_cistatic int32_t CreateDemoIdenticalAccountGroup(int32_t osAccountId, int64_t reqId, 31717fd14ceSopenharmony_ci const char *appId, const char *userId) 31817fd14ceSopenharmony_ci{ 31917fd14ceSopenharmony_ci g_asyncStatus = ASYNC_STATUS_WAITING; 32017fd14ceSopenharmony_ci const DeviceGroupManager *gm = GetGmInstance(); 32117fd14ceSopenharmony_ci if (gm == nullptr) { 32217fd14ceSopenharmony_ci return HC_ERR_NULL_PTR; 32317fd14ceSopenharmony_ci } 32417fd14ceSopenharmony_ci char *returnData = nullptr; 32517fd14ceSopenharmony_ci int32_t ret = gm->getRegisterInfo(GET_REGISTER_INFO_PARAMS, &returnData); 32617fd14ceSopenharmony_ci if (ret != HC_SUCCESS) { 32717fd14ceSopenharmony_ci return ret; 32817fd14ceSopenharmony_ci } 32917fd14ceSopenharmony_ci std::string registerInfo(returnData); 33017fd14ceSopenharmony_ci CJson *credJson = GetAsyCredentialJson(registerInfo); 33117fd14ceSopenharmony_ci if (ret != HC_SUCCESS) { 33217fd14ceSopenharmony_ci gm->destroyInfo(&returnData); 33317fd14ceSopenharmony_ci return ret; 33417fd14ceSopenharmony_ci } 33517fd14ceSopenharmony_ci CJson *json = CreateJson(); 33617fd14ceSopenharmony_ci AddIntToJson(json, FIELD_GROUP_TYPE, IDENTICAL_ACCOUNT_GROUP); 33717fd14ceSopenharmony_ci AddStringToJson(json, FIELD_USER_ID, userId); 33817fd14ceSopenharmony_ci AddObjToJson(json, FIELD_CREDENTIAL, credJson); 33917fd14ceSopenharmony_ci char *jsonStr = PackJsonToString(json); 34017fd14ceSopenharmony_ci FreeJson(credJson); 34117fd14ceSopenharmony_ci FreeJson(json); 34217fd14ceSopenharmony_ci gm->destroyInfo(&returnData); 34317fd14ceSopenharmony_ci ret = gm->createGroup(osAccountId, reqId, appId, jsonStr); 34417fd14ceSopenharmony_ci FreeJsonString(jsonStr); 34517fd14ceSopenharmony_ci if (ret != HC_SUCCESS) { 34617fd14ceSopenharmony_ci return ret; 34717fd14ceSopenharmony_ci } 34817fd14ceSopenharmony_ci while (g_asyncStatus == ASYNC_STATUS_WAITING) { 34917fd14ceSopenharmony_ci usleep(TEST_DEV_AUTH_SLEEP_TIME); 35017fd14ceSopenharmony_ci } 35117fd14ceSopenharmony_ci return g_asyncStatus == ASYNC_STATUS_ERROR ? HC_ERROR : HC_SUCCESS; 35217fd14ceSopenharmony_ci} 35317fd14ceSopenharmony_ci 35417fd14ceSopenharmony_cistatic int32_t CreateDemoSymIdenticalAccountGroup(int32_t osAccountId, int64_t reqId, 35517fd14ceSopenharmony_ci const char *appId, const char *userId) 35617fd14ceSopenharmony_ci{ 35717fd14ceSopenharmony_ci g_asyncStatus = ASYNC_STATUS_WAITING; 35817fd14ceSopenharmony_ci const DeviceGroupManager *gm = GetGmInstance(); 35917fd14ceSopenharmony_ci if (gm == nullptr) { 36017fd14ceSopenharmony_ci return HC_ERR_NULL_PTR; 36117fd14ceSopenharmony_ci } 36217fd14ceSopenharmony_ci 36317fd14ceSopenharmony_ci CJson *credJson = CreateJson(); 36417fd14ceSopenharmony_ci (void)AddIntToJson(credJson, FIELD_CREDENTIAL_TYPE, SYMMETRIC_CRED); 36517fd14ceSopenharmony_ci (void)AddStringToJson(credJson, FIELD_AUTH_CODE, TEST_AUTH_CODE); 36617fd14ceSopenharmony_ci CJson *json = CreateJson(); 36717fd14ceSopenharmony_ci AddIntToJson(json, FIELD_GROUP_TYPE, IDENTICAL_ACCOUNT_GROUP); 36817fd14ceSopenharmony_ci AddStringToJson(json, FIELD_USER_ID, userId); 36917fd14ceSopenharmony_ci AddObjToJson(json, FIELD_CREDENTIAL, credJson); 37017fd14ceSopenharmony_ci char *jsonStr = PackJsonToString(json); 37117fd14ceSopenharmony_ci FreeJson(credJson); 37217fd14ceSopenharmony_ci FreeJson(json); 37317fd14ceSopenharmony_ci if (jsonStr == nullptr) { 37417fd14ceSopenharmony_ci return HC_ERR_NULL_PTR; 37517fd14ceSopenharmony_ci } 37617fd14ceSopenharmony_ci int32_t ret = gm->createGroup(osAccountId, reqId, appId, jsonStr); 37717fd14ceSopenharmony_ci FreeJsonString(jsonStr); 37817fd14ceSopenharmony_ci if (ret != HC_SUCCESS) { 37917fd14ceSopenharmony_ci return ret; 38017fd14ceSopenharmony_ci } 38117fd14ceSopenharmony_ci while (g_asyncStatus == ASYNC_STATUS_WAITING) { 38217fd14ceSopenharmony_ci usleep(TEST_DEV_AUTH_SLEEP_TIME); 38317fd14ceSopenharmony_ci } 38417fd14ceSopenharmony_ci return g_asyncStatus == ASYNC_STATUS_ERROR ? HC_ERROR : HC_SUCCESS; 38517fd14ceSopenharmony_ci} 38617fd14ceSopenharmony_ci 38717fd14ceSopenharmony_cistatic int32_t DeleteDemoGroup(int32_t osAccountId, int64_t reqId, const char *appId, 38817fd14ceSopenharmony_ci const char *disbandParams) 38917fd14ceSopenharmony_ci{ 39017fd14ceSopenharmony_ci g_asyncStatus = ASYNC_STATUS_WAITING; 39117fd14ceSopenharmony_ci const DeviceGroupManager *gm = GetGmInstance(); 39217fd14ceSopenharmony_ci if (gm == nullptr) { 39317fd14ceSopenharmony_ci return HC_ERR_NULL_PTR; 39417fd14ceSopenharmony_ci } 39517fd14ceSopenharmony_ci int32_t ret = gm->deleteGroup(osAccountId, reqId, appId, disbandParams); 39617fd14ceSopenharmony_ci if (ret != HC_SUCCESS) { 39717fd14ceSopenharmony_ci return ret; 39817fd14ceSopenharmony_ci } 39917fd14ceSopenharmony_ci while (g_asyncStatus == ASYNC_STATUS_WAITING) { 40017fd14ceSopenharmony_ci usleep(TEST_DEV_AUTH_SLEEP_TIME); 40117fd14ceSopenharmony_ci } 40217fd14ceSopenharmony_ci return g_asyncStatus == ASYNC_STATUS_ERROR ? HC_ERROR : HC_SUCCESS; 40317fd14ceSopenharmony_ci} 40417fd14ceSopenharmony_ci 40517fd14ceSopenharmony_cistatic int32_t AddDemoMember(void) 40617fd14ceSopenharmony_ci{ 40717fd14ceSopenharmony_ci g_asyncStatus = ASYNC_STATUS_WAITING; 40817fd14ceSopenharmony_ci bool isClient = true; 40917fd14ceSopenharmony_ci SetDeviceStatus(isClient); 41017fd14ceSopenharmony_ci const DeviceGroupManager *gm = GetGmInstance(); 41117fd14ceSopenharmony_ci if (gm == nullptr) { 41217fd14ceSopenharmony_ci return HC_ERR_NULL_PTR; 41317fd14ceSopenharmony_ci } 41417fd14ceSopenharmony_ci int32_t ret = gm->addMemberToGroup(DEFAULT_OS_ACCOUNT, TEST_REQ_ID, TEST_APP_ID, ADD_PARAMS); 41517fd14ceSopenharmony_ci if (ret != HC_SUCCESS) { 41617fd14ceSopenharmony_ci g_asyncStatus = ASYNC_STATUS_ERROR; 41717fd14ceSopenharmony_ci return ret; 41817fd14ceSopenharmony_ci } 41917fd14ceSopenharmony_ci while (g_asyncStatus == ASYNC_STATUS_WAITING) { 42017fd14ceSopenharmony_ci usleep(TEST_DEV_AUTH_SLEEP_TIME); 42117fd14ceSopenharmony_ci } 42217fd14ceSopenharmony_ci while (g_asyncStatus == ASYNC_STATUS_TRANSMIT) { 42317fd14ceSopenharmony_ci isClient = !isClient; 42417fd14ceSopenharmony_ci SetDeviceStatus(isClient); 42517fd14ceSopenharmony_ci g_asyncStatus = ASYNC_STATUS_WAITING; 42617fd14ceSopenharmony_ci if (isClient) { 42717fd14ceSopenharmony_ci ret = gm->processData(TEST_REQ_ID, g_transmitData, g_transmitDataLen); 42817fd14ceSopenharmony_ci } else { 42917fd14ceSopenharmony_ci ret = gm->processData(TEST_REQ_ID2, g_transmitData, g_transmitDataLen); 43017fd14ceSopenharmony_ci } 43117fd14ceSopenharmony_ci (void)memset_s(g_transmitData, TEST_TRANSMIT_DATA_LEN, 0, TEST_TRANSMIT_DATA_LEN); 43217fd14ceSopenharmony_ci g_transmitDataLen = 0; 43317fd14ceSopenharmony_ci if (ret != HC_SUCCESS) { 43417fd14ceSopenharmony_ci g_asyncStatus = ASYNC_STATUS_ERROR; 43517fd14ceSopenharmony_ci return ret; 43617fd14ceSopenharmony_ci } 43717fd14ceSopenharmony_ci while (g_asyncStatus == ASYNC_STATUS_WAITING) { 43817fd14ceSopenharmony_ci usleep(TEST_DEV_AUTH_SLEEP_TIME); 43917fd14ceSopenharmony_ci } 44017fd14ceSopenharmony_ci if (g_asyncStatus == ASYNC_STATUS_ERROR) { 44117fd14ceSopenharmony_ci break; 44217fd14ceSopenharmony_ci } 44317fd14ceSopenharmony_ci if (g_transmitDataLen > 0) { 44417fd14ceSopenharmony_ci g_asyncStatus = ASYNC_STATUS_TRANSMIT; 44517fd14ceSopenharmony_ci } 44617fd14ceSopenharmony_ci } 44717fd14ceSopenharmony_ci usleep(TEST_DEV_AUTH_SLEEP_TIME2); 44817fd14ceSopenharmony_ci SetDeviceStatus(true); 44917fd14ceSopenharmony_ci return g_asyncStatus == ASYNC_STATUS_ERROR ? HC_ERROR : HC_SUCCESS; 45017fd14ceSopenharmony_ci} 45117fd14ceSopenharmony_ci 45217fd14ceSopenharmony_cistatic int32_t AuthDemoMember(void) 45317fd14ceSopenharmony_ci{ 45417fd14ceSopenharmony_ci g_asyncStatus = ASYNC_STATUS_WAITING; 45517fd14ceSopenharmony_ci bool isClient = true; 45617fd14ceSopenharmony_ci SetDeviceStatus(isClient); 45717fd14ceSopenharmony_ci const GroupAuthManager *ga = GetGaInstance(); 45817fd14ceSopenharmony_ci if (ga == nullptr) { 45917fd14ceSopenharmony_ci return HC_ERR_NULL_PTR; 46017fd14ceSopenharmony_ci } 46117fd14ceSopenharmony_ci int32_t ret = ga->authDevice(DEFAULT_OS_ACCOUNT, TEST_REQ_ID3, AUTH_PARAMS, &g_gaCallback); 46217fd14ceSopenharmony_ci if (ret != HC_SUCCESS) { 46317fd14ceSopenharmony_ci g_asyncStatus = ASYNC_STATUS_ERROR; 46417fd14ceSopenharmony_ci return ret; 46517fd14ceSopenharmony_ci } 46617fd14ceSopenharmony_ci while (g_asyncStatus == ASYNC_STATUS_WAITING) { 46717fd14ceSopenharmony_ci usleep(TEST_DEV_AUTH_SLEEP_TIME); 46817fd14ceSopenharmony_ci } 46917fd14ceSopenharmony_ci while (g_asyncStatus == ASYNC_STATUS_TRANSMIT) { 47017fd14ceSopenharmony_ci isClient = !isClient; 47117fd14ceSopenharmony_ci SetDeviceStatus(isClient); 47217fd14ceSopenharmony_ci g_asyncStatus = ASYNC_STATUS_WAITING; 47317fd14ceSopenharmony_ci if (isClient) { 47417fd14ceSopenharmony_ci ret = ga->processData(TEST_REQ_ID3, g_transmitData, g_transmitDataLen, &g_gaCallback); 47517fd14ceSopenharmony_ci } else { 47617fd14ceSopenharmony_ci ret = ga->processData(TEST_REQ_ID4, g_transmitData, g_transmitDataLen, &g_gaCallback); 47717fd14ceSopenharmony_ci } 47817fd14ceSopenharmony_ci (void)memset_s(g_transmitData, TEST_TRANSMIT_DATA_LEN, 0, TEST_TRANSMIT_DATA_LEN); 47917fd14ceSopenharmony_ci g_transmitDataLen = 0; 48017fd14ceSopenharmony_ci if (ret != HC_SUCCESS) { 48117fd14ceSopenharmony_ci g_asyncStatus = ASYNC_STATUS_ERROR; 48217fd14ceSopenharmony_ci return ret; 48317fd14ceSopenharmony_ci } 48417fd14ceSopenharmony_ci while (g_asyncStatus == ASYNC_STATUS_WAITING) { 48517fd14ceSopenharmony_ci usleep(TEST_DEV_AUTH_SLEEP_TIME); 48617fd14ceSopenharmony_ci } 48717fd14ceSopenharmony_ci if (g_asyncStatus == ASYNC_STATUS_ERROR) { 48817fd14ceSopenharmony_ci break; 48917fd14ceSopenharmony_ci } 49017fd14ceSopenharmony_ci if (g_transmitDataLen > 0) { 49117fd14ceSopenharmony_ci g_asyncStatus = ASYNC_STATUS_TRANSMIT; 49217fd14ceSopenharmony_ci } 49317fd14ceSopenharmony_ci } 49417fd14ceSopenharmony_ci SetDeviceStatus(true); 49517fd14ceSopenharmony_ci return g_asyncStatus == ASYNC_STATUS_ERROR ? HC_ERROR : HC_SUCCESS; 49617fd14ceSopenharmony_ci} 49717fd14ceSopenharmony_ci 49817fd14ceSopenharmony_cistatic int32_t DelDemoMember(int32_t osAccountId, int64_t reqId, const char *appId, 49917fd14ceSopenharmony_ci const char *deleteParams) 50017fd14ceSopenharmony_ci{ 50117fd14ceSopenharmony_ci g_asyncStatus = ASYNC_STATUS_WAITING; 50217fd14ceSopenharmony_ci const DeviceGroupManager *gm = GetGmInstance(); 50317fd14ceSopenharmony_ci if (gm == nullptr) { 50417fd14ceSopenharmony_ci return HC_ERR_NULL_PTR; 50517fd14ceSopenharmony_ci } 50617fd14ceSopenharmony_ci int32_t ret = gm->deleteMemberFromGroup(osAccountId, reqId, appId, deleteParams); 50717fd14ceSopenharmony_ci if (ret != HC_SUCCESS) { 50817fd14ceSopenharmony_ci return ret; 50917fd14ceSopenharmony_ci } 51017fd14ceSopenharmony_ci while (g_asyncStatus == ASYNC_STATUS_WAITING) { 51117fd14ceSopenharmony_ci usleep(TEST_DEV_AUTH_SLEEP_TIME); 51217fd14ceSopenharmony_ci } 51317fd14ceSopenharmony_ci return g_asyncStatus == ASYNC_STATUS_ERROR ? HC_ERROR : HC_SUCCESS; 51417fd14ceSopenharmony_ci} 51517fd14ceSopenharmony_ci 51617fd14ceSopenharmony_cistatic int32_t DevAuthTestCase004(void) 51717fd14ceSopenharmony_ci{ 51817fd14ceSopenharmony_ci DeleteDatabase(); 51917fd14ceSopenharmony_ci int32_t ret = InitDeviceAuthService(); 52017fd14ceSopenharmony_ci if (ret != HC_SUCCESS) { 52117fd14ceSopenharmony_ci return ret; 52217fd14ceSopenharmony_ci } 52317fd14ceSopenharmony_ci do { 52417fd14ceSopenharmony_ci const DeviceGroupManager *gm = GetGmInstance(); 52517fd14ceSopenharmony_ci ret = gm->regCallback(TEST_APP_ID, &g_gmCallback); 52617fd14ceSopenharmony_ci if (ret != HC_SUCCESS) { 52717fd14ceSopenharmony_ci break; 52817fd14ceSopenharmony_ci } 52917fd14ceSopenharmony_ci ret = gm->unRegCallback(TEST_APP_ID); 53017fd14ceSopenharmony_ci } while (0); 53117fd14ceSopenharmony_ci DestroyDeviceAuthService(); 53217fd14ceSopenharmony_ci return ret; 53317fd14ceSopenharmony_ci} 53417fd14ceSopenharmony_ci 53517fd14ceSopenharmony_cistatic int32_t DevAuthTestCase005(void) 53617fd14ceSopenharmony_ci{ 53717fd14ceSopenharmony_ci DeleteDatabase(); 53817fd14ceSopenharmony_ci int32_t ret = InitDeviceAuthService(); 53917fd14ceSopenharmony_ci if (ret != HC_SUCCESS) { 54017fd14ceSopenharmony_ci return ret; 54117fd14ceSopenharmony_ci } 54217fd14ceSopenharmony_ci do { 54317fd14ceSopenharmony_ci const DeviceGroupManager *gm = GetGmInstance(); 54417fd14ceSopenharmony_ci ret = gm->regCallback(TEST_APP_ID, &g_gmCallback); 54517fd14ceSopenharmony_ci if (ret != HC_SUCCESS) { 54617fd14ceSopenharmony_ci break; 54717fd14ceSopenharmony_ci } 54817fd14ceSopenharmony_ci ret = CreateDemoGroup(DEFAULT_OS_ACCOUNT, TEST_REQ_ID, TEST_APP_ID, CREATE_PARAMS); 54917fd14ceSopenharmony_ci } while (0); 55017fd14ceSopenharmony_ci DestroyDeviceAuthService(); 55117fd14ceSopenharmony_ci return ret; 55217fd14ceSopenharmony_ci} 55317fd14ceSopenharmony_ci 55417fd14ceSopenharmony_cistatic int32_t DevAuthTestCase006(void) 55517fd14ceSopenharmony_ci{ 55617fd14ceSopenharmony_ci DeleteDatabase(); 55717fd14ceSopenharmony_ci int32_t ret = InitDeviceAuthService(); 55817fd14ceSopenharmony_ci if (ret != HC_SUCCESS) { 55917fd14ceSopenharmony_ci return ret; 56017fd14ceSopenharmony_ci } 56117fd14ceSopenharmony_ci do { 56217fd14ceSopenharmony_ci const DeviceGroupManager *gm = GetGmInstance(); 56317fd14ceSopenharmony_ci ret = gm->regCallback(TEST_APP_ID, &g_gmCallback); 56417fd14ceSopenharmony_ci if (ret != HC_SUCCESS) { 56517fd14ceSopenharmony_ci break; 56617fd14ceSopenharmony_ci } 56717fd14ceSopenharmony_ci ret = CreateDemoGroup(DEFAULT_OS_ACCOUNT, TEST_REQ_ID, TEST_APP_ID, CREATE_PARAMS); 56817fd14ceSopenharmony_ci if (ret != HC_SUCCESS) { 56917fd14ceSopenharmony_ci break; 57017fd14ceSopenharmony_ci } 57117fd14ceSopenharmony_ci ret = AddDemoMember(); 57217fd14ceSopenharmony_ci } while (0); 57317fd14ceSopenharmony_ci DestroyDeviceAuthService(); 57417fd14ceSopenharmony_ci return ret; 57517fd14ceSopenharmony_ci} 57617fd14ceSopenharmony_ci 57717fd14ceSopenharmony_cistatic int32_t DevAuthTestCase007(void) 57817fd14ceSopenharmony_ci{ 57917fd14ceSopenharmony_ci DeleteDatabase(); 58017fd14ceSopenharmony_ci int32_t ret = InitDeviceAuthService(); 58117fd14ceSopenharmony_ci if (ret != HC_SUCCESS) { 58217fd14ceSopenharmony_ci return ret; 58317fd14ceSopenharmony_ci } 58417fd14ceSopenharmony_ci do { 58517fd14ceSopenharmony_ci const DeviceGroupManager *gm = GetGmInstance(); 58617fd14ceSopenharmony_ci ret = gm->regCallback(TEST_APP_ID, &g_gmCallback); 58717fd14ceSopenharmony_ci if (ret != HC_SUCCESS) { 58817fd14ceSopenharmony_ci break; 58917fd14ceSopenharmony_ci } 59017fd14ceSopenharmony_ci ret = CreateDemoGroup(DEFAULT_OS_ACCOUNT, TEST_REQ_ID, TEST_APP_ID, CREATE_PARAMS); 59117fd14ceSopenharmony_ci if (ret != HC_SUCCESS) { 59217fd14ceSopenharmony_ci break; 59317fd14ceSopenharmony_ci } 59417fd14ceSopenharmony_ci ret = AddDemoMember(); 59517fd14ceSopenharmony_ci if (ret != HC_SUCCESS) { 59617fd14ceSopenharmony_ci break; 59717fd14ceSopenharmony_ci } 59817fd14ceSopenharmony_ci ret = AuthDemoMember(); 59917fd14ceSopenharmony_ci } while (0); 60017fd14ceSopenharmony_ci DestroyDeviceAuthService(); 60117fd14ceSopenharmony_ci return ret; 60217fd14ceSopenharmony_ci} 60317fd14ceSopenharmony_ci 60417fd14ceSopenharmony_cistatic int32_t DevAuthTestCase008(void) 60517fd14ceSopenharmony_ci{ 60617fd14ceSopenharmony_ci DeleteDatabase(); 60717fd14ceSopenharmony_ci int32_t ret = InitDeviceAuthService(); 60817fd14ceSopenharmony_ci if (ret != HC_SUCCESS) { 60917fd14ceSopenharmony_ci return ret; 61017fd14ceSopenharmony_ci } 61117fd14ceSopenharmony_ci do { 61217fd14ceSopenharmony_ci const DeviceGroupManager *gm = GetGmInstance(); 61317fd14ceSopenharmony_ci ret = gm->regCallback(TEST_APP_ID, &g_gmCallback); 61417fd14ceSopenharmony_ci if (ret != HC_SUCCESS) { 61517fd14ceSopenharmony_ci break; 61617fd14ceSopenharmony_ci } 61717fd14ceSopenharmony_ci ret = CreateDemoGroup(DEFAULT_OS_ACCOUNT, TEST_REQ_ID, TEST_APP_ID, CREATE_PARAMS); 61817fd14ceSopenharmony_ci if (ret != HC_SUCCESS) { 61917fd14ceSopenharmony_ci break; 62017fd14ceSopenharmony_ci } 62117fd14ceSopenharmony_ci ret = AddDemoMember(); 62217fd14ceSopenharmony_ci if (ret != HC_SUCCESS) { 62317fd14ceSopenharmony_ci break; 62417fd14ceSopenharmony_ci } 62517fd14ceSopenharmony_ci ret = DelDemoMember(DEFAULT_OS_ACCOUNT, TEST_REQ_ID, TEST_APP_ID, DELETE_PARAMS); 62617fd14ceSopenharmony_ci } while (0); 62717fd14ceSopenharmony_ci DestroyDeviceAuthService(); 62817fd14ceSopenharmony_ci return ret; 62917fd14ceSopenharmony_ci} 63017fd14ceSopenharmony_ci 63117fd14ceSopenharmony_cistatic int32_t DevAuthTestCase009(void) 63217fd14ceSopenharmony_ci{ 63317fd14ceSopenharmony_ci DeleteDatabase(); 63417fd14ceSopenharmony_ci int32_t ret = InitDeviceAuthService(); 63517fd14ceSopenharmony_ci if (ret != HC_SUCCESS) { 63617fd14ceSopenharmony_ci return ret; 63717fd14ceSopenharmony_ci } 63817fd14ceSopenharmony_ci do { 63917fd14ceSopenharmony_ci const DeviceGroupManager *gm = GetGmInstance(); 64017fd14ceSopenharmony_ci ret = gm->regCallback(TEST_APP_ID, &g_gmCallback); 64117fd14ceSopenharmony_ci if (ret != HC_SUCCESS) { 64217fd14ceSopenharmony_ci break; 64317fd14ceSopenharmony_ci } 64417fd14ceSopenharmony_ci ret = CreateDemoGroup(DEFAULT_OS_ACCOUNT, TEST_REQ_ID, TEST_APP_ID, CREATE_PARAMS); 64517fd14ceSopenharmony_ci if (ret != HC_SUCCESS) { 64617fd14ceSopenharmony_ci break; 64717fd14ceSopenharmony_ci } 64817fd14ceSopenharmony_ci ret = DeleteDemoGroup(DEFAULT_OS_ACCOUNT, TEST_REQ_ID, TEST_APP_ID, DISBAND_PARAMS); 64917fd14ceSopenharmony_ci } while (0); 65017fd14ceSopenharmony_ci DestroyDeviceAuthService(); 65117fd14ceSopenharmony_ci return ret; 65217fd14ceSopenharmony_ci} 65317fd14ceSopenharmony_ci 65417fd14ceSopenharmony_cistatic int32_t DevAuthTestCase010(void) 65517fd14ceSopenharmony_ci{ 65617fd14ceSopenharmony_ci DeleteDatabase(); 65717fd14ceSopenharmony_ci int32_t ret = InitDeviceAuthService(); 65817fd14ceSopenharmony_ci if (ret != HC_SUCCESS) { 65917fd14ceSopenharmony_ci return ret; 66017fd14ceSopenharmony_ci } 66117fd14ceSopenharmony_ci do { 66217fd14ceSopenharmony_ci char *returnData = nullptr; 66317fd14ceSopenharmony_ci ret = GetGmInstance()->getRegisterInfo(GET_REGISTER_INFO_PARAMS, &returnData); 66417fd14ceSopenharmony_ci if (ret != HC_SUCCESS) { 66517fd14ceSopenharmony_ci break; 66617fd14ceSopenharmony_ci } 66717fd14ceSopenharmony_ci if (returnData == nullptr) { 66817fd14ceSopenharmony_ci ret = HC_ERROR; 66917fd14ceSopenharmony_ci } 67017fd14ceSopenharmony_ci } while (0); 67117fd14ceSopenharmony_ci DestroyDeviceAuthService(); 67217fd14ceSopenharmony_ci return ret; 67317fd14ceSopenharmony_ci} 67417fd14ceSopenharmony_ci 67517fd14ceSopenharmony_cistatic int32_t DevAuthTestCase011(void) 67617fd14ceSopenharmony_ci{ 67717fd14ceSopenharmony_ci DeleteDatabase(); 67817fd14ceSopenharmony_ci int32_t ret = InitDeviceAuthService(); 67917fd14ceSopenharmony_ci if (ret != HC_SUCCESS) { 68017fd14ceSopenharmony_ci return ret; 68117fd14ceSopenharmony_ci } 68217fd14ceSopenharmony_ci do { 68317fd14ceSopenharmony_ci const DeviceGroupManager *gm = GetGmInstance(); 68417fd14ceSopenharmony_ci ret = gm->regCallback(TEST_APP_ID, &g_gmCallback); 68517fd14ceSopenharmony_ci if (ret != HC_SUCCESS) { 68617fd14ceSopenharmony_ci break; 68717fd14ceSopenharmony_ci } 68817fd14ceSopenharmony_ci ret = CreateDemoIdenticalAccountGroup(DEFAULT_OS_ACCOUNT, TEST_REQ_ID, TEST_APP_ID, TEST_USER_ID); 68917fd14ceSopenharmony_ci } while (0); 69017fd14ceSopenharmony_ci DestroyDeviceAuthService(); 69117fd14ceSopenharmony_ci return ret; 69217fd14ceSopenharmony_ci} 69317fd14ceSopenharmony_ci 69417fd14ceSopenharmony_cistatic int32_t DevAuthTestCase012(void) 69517fd14ceSopenharmony_ci{ 69617fd14ceSopenharmony_ci DeleteDatabase(); 69717fd14ceSopenharmony_ci int32_t ret = InitDeviceAuthService(); 69817fd14ceSopenharmony_ci if (ret != HC_SUCCESS) { 69917fd14ceSopenharmony_ci return ret; 70017fd14ceSopenharmony_ci } 70117fd14ceSopenharmony_ci do { 70217fd14ceSopenharmony_ci const DeviceGroupManager *gm = GetGmInstance(); 70317fd14ceSopenharmony_ci ret = gm->regCallback(TEST_APP_ID, &g_gmCallback); 70417fd14ceSopenharmony_ci if (ret != HC_SUCCESS) { 70517fd14ceSopenharmony_ci break; 70617fd14ceSopenharmony_ci } 70717fd14ceSopenharmony_ci ret = CreateDemoIdenticalAccountGroup(DEFAULT_OS_ACCOUNT, TEST_REQ_ID, TEST_APP_ID, TEST_USER_ID); 70817fd14ceSopenharmony_ci if (ret != HC_SUCCESS) { 70917fd14ceSopenharmony_ci break; 71017fd14ceSopenharmony_ci } 71117fd14ceSopenharmony_ci ret = gm->addMultiMembersToGroup(DEFAULT_OS_ACCOUNT, TEST_APP_ID, ADD_MULTI_PARAMS); 71217fd14ceSopenharmony_ci } while (0); 71317fd14ceSopenharmony_ci DestroyDeviceAuthService(); 71417fd14ceSopenharmony_ci return ret; 71517fd14ceSopenharmony_ci} 71617fd14ceSopenharmony_ci 71717fd14ceSopenharmony_cistatic int32_t DevAuthTestCase013(void) 71817fd14ceSopenharmony_ci{ 71917fd14ceSopenharmony_ci DeleteDatabase(); 72017fd14ceSopenharmony_ci SetDeviceStatus(true); 72117fd14ceSopenharmony_ci int32_t ret = InitDeviceAuthService(); 72217fd14ceSopenharmony_ci if (ret != HC_SUCCESS) { 72317fd14ceSopenharmony_ci return ret; 72417fd14ceSopenharmony_ci } 72517fd14ceSopenharmony_ci DestroyDeviceAuthService(); 72617fd14ceSopenharmony_ci SetDeviceStatus(false); 72717fd14ceSopenharmony_ci ret = InitDeviceAuthService(); 72817fd14ceSopenharmony_ci if (ret != HC_SUCCESS) { 72917fd14ceSopenharmony_ci return ret; 73017fd14ceSopenharmony_ci } 73117fd14ceSopenharmony_ci DestroyDeviceAuthService(); 73217fd14ceSopenharmony_ci SetDeviceStatus(true); 73317fd14ceSopenharmony_ci ret = InitDeviceAuthService(); 73417fd14ceSopenharmony_ci if (ret != HC_SUCCESS) { 73517fd14ceSopenharmony_ci return ret; 73617fd14ceSopenharmony_ci } 73717fd14ceSopenharmony_ci do { 73817fd14ceSopenharmony_ci const DeviceGroupManager *gm = GetGmInstance(); 73917fd14ceSopenharmony_ci ret = gm->regCallback(TEST_APP_ID, &g_gmCallback); 74017fd14ceSopenharmony_ci if (ret != HC_SUCCESS) { 74117fd14ceSopenharmony_ci break; 74217fd14ceSopenharmony_ci } 74317fd14ceSopenharmony_ci SetDeviceStatus(true); 74417fd14ceSopenharmony_ci ret = CreateDemoIdenticalAccountGroup(DEFAULT_OS_ACCOUNT, TEST_REQ_ID, TEST_APP_ID, TEST_USER_ID); 74517fd14ceSopenharmony_ci if (ret != HC_SUCCESS) { 74617fd14ceSopenharmony_ci break; 74717fd14ceSopenharmony_ci } 74817fd14ceSopenharmony_ci SetDeviceStatus(false); 74917fd14ceSopenharmony_ci ret = CreateDemoIdenticalAccountGroup(TEST_AUTH_OS_ACCOUNT_ID, TEST_REQ_ID, TEST_APP_ID, TEST_USER_ID); 75017fd14ceSopenharmony_ci if (ret != HC_SUCCESS) { 75117fd14ceSopenharmony_ci break; 75217fd14ceSopenharmony_ci } 75317fd14ceSopenharmony_ci ret = AuthDemoMember(); 75417fd14ceSopenharmony_ci } while (0); 75517fd14ceSopenharmony_ci DestroyDeviceAuthService(); 75617fd14ceSopenharmony_ci return ret; 75717fd14ceSopenharmony_ci} 75817fd14ceSopenharmony_ci 75917fd14ceSopenharmony_cistatic int32_t DevAuthTestCase014(void) 76017fd14ceSopenharmony_ci{ 76117fd14ceSopenharmony_ci DeleteDatabase(); 76217fd14ceSopenharmony_ci int32_t ret = InitDeviceAuthService(); 76317fd14ceSopenharmony_ci if (ret != HC_SUCCESS) { 76417fd14ceSopenharmony_ci return ret; 76517fd14ceSopenharmony_ci } 76617fd14ceSopenharmony_ci do { 76717fd14ceSopenharmony_ci const DeviceGroupManager *gm = GetGmInstance(); 76817fd14ceSopenharmony_ci ret = gm->regCallback(TEST_APP_ID, &g_gmCallback); 76917fd14ceSopenharmony_ci if (ret != HC_SUCCESS) { 77017fd14ceSopenharmony_ci break; 77117fd14ceSopenharmony_ci } 77217fd14ceSopenharmony_ci ret = CreateDemoIdenticalAccountGroup(DEFAULT_OS_ACCOUNT, TEST_REQ_ID, TEST_APP_ID, TEST_USER_ID); 77317fd14ceSopenharmony_ci if (ret != HC_SUCCESS) { 77417fd14ceSopenharmony_ci break; 77517fd14ceSopenharmony_ci } 77617fd14ceSopenharmony_ci ret = gm->addMultiMembersToGroup(DEFAULT_OS_ACCOUNT, TEST_APP_ID, ADD_MULTI_PARAMS); 77717fd14ceSopenharmony_ci if (ret != HC_SUCCESS) { 77817fd14ceSopenharmony_ci break; 77917fd14ceSopenharmony_ci } 78017fd14ceSopenharmony_ci ret = gm->delMultiMembersFromGroup(DEFAULT_OS_ACCOUNT, TEST_APP_ID, DEL_MULTI_PARAMS); 78117fd14ceSopenharmony_ci } while (0); 78217fd14ceSopenharmony_ci DestroyDeviceAuthService(); 78317fd14ceSopenharmony_ci return ret; 78417fd14ceSopenharmony_ci} 78517fd14ceSopenharmony_ci 78617fd14ceSopenharmony_cistatic int32_t DevAuthTestCase015(void) 78717fd14ceSopenharmony_ci{ 78817fd14ceSopenharmony_ci DeleteDatabase(); 78917fd14ceSopenharmony_ci int32_t ret = InitDeviceAuthService(); 79017fd14ceSopenharmony_ci if (ret != HC_SUCCESS) { 79117fd14ceSopenharmony_ci return ret; 79217fd14ceSopenharmony_ci } 79317fd14ceSopenharmony_ci do { 79417fd14ceSopenharmony_ci const DeviceGroupManager *gm = GetGmInstance(); 79517fd14ceSopenharmony_ci ret = gm->regCallback(TEST_APP_ID, &g_gmCallback); 79617fd14ceSopenharmony_ci if (ret != HC_SUCCESS) { 79717fd14ceSopenharmony_ci break; 79817fd14ceSopenharmony_ci } 79917fd14ceSopenharmony_ci ret = CreateDemoIdenticalAccountGroup(DEFAULT_OS_ACCOUNT, TEST_REQ_ID, TEST_APP_ID, TEST_USER_ID); 80017fd14ceSopenharmony_ci if (ret != HC_SUCCESS) { 80117fd14ceSopenharmony_ci break; 80217fd14ceSopenharmony_ci } 80317fd14ceSopenharmony_ci ret = gm->addMultiMembersToGroup(DEFAULT_OS_ACCOUNT, TEST_APP_ID, ADD_MULTI_PARAMS); 80417fd14ceSopenharmony_ci if (ret != HC_SUCCESS) { 80517fd14ceSopenharmony_ci break; 80617fd14ceSopenharmony_ci } 80717fd14ceSopenharmony_ci ret = DeleteDemoGroup(DEFAULT_OS_ACCOUNT, TEST_REQ_ID, TEST_APP_ID, DISBAND_PARAMS2); 80817fd14ceSopenharmony_ci } while (0); 80917fd14ceSopenharmony_ci DestroyDeviceAuthService(); 81017fd14ceSopenharmony_ci return ret; 81117fd14ceSopenharmony_ci} 81217fd14ceSopenharmony_ci 81317fd14ceSopenharmony_cistatic int32_t DevAuthTestCase016(void) 81417fd14ceSopenharmony_ci{ 81517fd14ceSopenharmony_ci DeleteDatabase(); 81617fd14ceSopenharmony_ci int32_t ret = InitDeviceAuthService(); 81717fd14ceSopenharmony_ci if (ret != HC_SUCCESS) { 81817fd14ceSopenharmony_ci return ret; 81917fd14ceSopenharmony_ci } 82017fd14ceSopenharmony_ci do { 82117fd14ceSopenharmony_ci const DeviceGroupManager *gm = GetGmInstance(); 82217fd14ceSopenharmony_ci ret = gm->regCallback(TEST_APP_ID, &g_gmCallback); 82317fd14ceSopenharmony_ci if (ret != HC_SUCCESS) { 82417fd14ceSopenharmony_ci break; 82517fd14ceSopenharmony_ci } 82617fd14ceSopenharmony_ci ret = CreateDemoIdenticalAccountGroup(DEFAULT_OS_ACCOUNT, TEST_REQ_ID, TEST_APP_ID, TEST_USER_ID); 82717fd14ceSopenharmony_ci if (ret != HC_SUCCESS) { 82817fd14ceSopenharmony_ci break; 82917fd14ceSopenharmony_ci } 83017fd14ceSopenharmony_ci ret = CreateDemoGroup(DEFAULT_OS_ACCOUNT, TEST_REQ_ID, TEST_APP_ID, CREATE_PARAMS2); 83117fd14ceSopenharmony_ci } while (0); 83217fd14ceSopenharmony_ci DestroyDeviceAuthService(); 83317fd14ceSopenharmony_ci return ret; 83417fd14ceSopenharmony_ci} 83517fd14ceSopenharmony_ci 83617fd14ceSopenharmony_cistatic int32_t DevAuthTestCase018(void) 83717fd14ceSopenharmony_ci{ 83817fd14ceSopenharmony_ci DeleteDatabase(); 83917fd14ceSopenharmony_ci int32_t ret = InitDeviceAuthService(); 84017fd14ceSopenharmony_ci if (ret != HC_SUCCESS) { 84117fd14ceSopenharmony_ci return ret; 84217fd14ceSopenharmony_ci } 84317fd14ceSopenharmony_ci do { 84417fd14ceSopenharmony_ci const DeviceGroupManager *gm = GetGmInstance(); 84517fd14ceSopenharmony_ci ret = gm->regCallback(TEST_APP_ID, &g_gmCallback); 84617fd14ceSopenharmony_ci if (ret != HC_SUCCESS) { 84717fd14ceSopenharmony_ci break; 84817fd14ceSopenharmony_ci } 84917fd14ceSopenharmony_ci ret = CreateDemoIdenticalAccountGroup(DEFAULT_OS_ACCOUNT, TEST_REQ_ID, TEST_APP_ID, TEST_USER_ID); 85017fd14ceSopenharmony_ci if (ret != HC_SUCCESS) { 85117fd14ceSopenharmony_ci break; 85217fd14ceSopenharmony_ci } 85317fd14ceSopenharmony_ci ret = CreateDemoGroup(DEFAULT_OS_ACCOUNT, TEST_REQ_ID, TEST_APP_ID, CREATE_PARAMS2); 85417fd14ceSopenharmony_ci if (ret != HC_SUCCESS) { 85517fd14ceSopenharmony_ci break; 85617fd14ceSopenharmony_ci } 85717fd14ceSopenharmony_ci ret = DeleteDemoGroup(DEFAULT_OS_ACCOUNT, TEST_REQ_ID, TEST_APP_ID, DISBAND_PARAMS3); 85817fd14ceSopenharmony_ci } while (0); 85917fd14ceSopenharmony_ci DestroyDeviceAuthService(); 86017fd14ceSopenharmony_ci return ret; 86117fd14ceSopenharmony_ci} 86217fd14ceSopenharmony_ci 86317fd14ceSopenharmony_cistatic int32_t DevAuthTestCase019(void) 86417fd14ceSopenharmony_ci{ 86517fd14ceSopenharmony_ci DeleteDatabase(); 86617fd14ceSopenharmony_ci int32_t ret = InitDeviceAuthService(); 86717fd14ceSopenharmony_ci if (ret != HC_SUCCESS) { 86817fd14ceSopenharmony_ci return ret; 86917fd14ceSopenharmony_ci } 87017fd14ceSopenharmony_ci do { 87117fd14ceSopenharmony_ci const DeviceGroupManager *gm = GetGmInstance(); 87217fd14ceSopenharmony_ci ret = gm->regDataChangeListener(TEST_APP_ID, &g_listener); 87317fd14ceSopenharmony_ci } while (0); 87417fd14ceSopenharmony_ci DestroyDeviceAuthService(); 87517fd14ceSopenharmony_ci return ret; 87617fd14ceSopenharmony_ci} 87717fd14ceSopenharmony_ci 87817fd14ceSopenharmony_cistatic int32_t DevAuthTestCase020(void) 87917fd14ceSopenharmony_ci{ 88017fd14ceSopenharmony_ci DeleteDatabase(); 88117fd14ceSopenharmony_ci int32_t ret = InitDeviceAuthService(); 88217fd14ceSopenharmony_ci if (ret != HC_SUCCESS) { 88317fd14ceSopenharmony_ci return ret; 88417fd14ceSopenharmony_ci } 88517fd14ceSopenharmony_ci do { 88617fd14ceSopenharmony_ci const DeviceGroupManager *gm = GetGmInstance(); 88717fd14ceSopenharmony_ci ret = gm->regCallback(TEST_APP_ID, &g_gmCallback); 88817fd14ceSopenharmony_ci if (ret != HC_SUCCESS) { 88917fd14ceSopenharmony_ci break; 89017fd14ceSopenharmony_ci } 89117fd14ceSopenharmony_ci ret = gm->regDataChangeListener(TEST_APP_ID, &g_listener); 89217fd14ceSopenharmony_ci if (ret != HC_SUCCESS) { 89317fd14ceSopenharmony_ci break; 89417fd14ceSopenharmony_ci } 89517fd14ceSopenharmony_ci ret = CreateDemoIdenticalAccountGroup(DEFAULT_OS_ACCOUNT, TEST_REQ_ID, TEST_APP_ID, TEST_USER_ID); 89617fd14ceSopenharmony_ci if (ret != HC_SUCCESS) { 89717fd14ceSopenharmony_ci break; 89817fd14ceSopenharmony_ci } 89917fd14ceSopenharmony_ci ret = gm->addMultiMembersToGroup(DEFAULT_OS_ACCOUNT, TEST_APP_ID, ADD_MULTI_PARAMS); 90017fd14ceSopenharmony_ci if (ret != HC_SUCCESS) { 90117fd14ceSopenharmony_ci break; 90217fd14ceSopenharmony_ci } 90317fd14ceSopenharmony_ci ret = gm->delMultiMembersFromGroup(DEFAULT_OS_ACCOUNT, TEST_APP_ID, DEL_MULTI_PARAMS); 90417fd14ceSopenharmony_ci if (ret != HC_SUCCESS) { 90517fd14ceSopenharmony_ci break; 90617fd14ceSopenharmony_ci } 90717fd14ceSopenharmony_ci ret = DeleteDemoGroup(DEFAULT_OS_ACCOUNT, TEST_REQ_ID, TEST_APP_ID, DISBAND_PARAMS2); 90817fd14ceSopenharmony_ci } while (0); 90917fd14ceSopenharmony_ci DestroyDeviceAuthService(); 91017fd14ceSopenharmony_ci return ret; 91117fd14ceSopenharmony_ci} 91217fd14ceSopenharmony_ci 91317fd14ceSopenharmony_cistatic int32_t DevAuthTestCase021(void) 91417fd14ceSopenharmony_ci{ 91517fd14ceSopenharmony_ci DeleteDatabase(); 91617fd14ceSopenharmony_ci int32_t ret = InitDeviceAuthService(); 91717fd14ceSopenharmony_ci if (ret != HC_SUCCESS) { 91817fd14ceSopenharmony_ci return ret; 91917fd14ceSopenharmony_ci } 92017fd14ceSopenharmony_ci do { 92117fd14ceSopenharmony_ci const DeviceGroupManager *gm = GetGmInstance(); 92217fd14ceSopenharmony_ci ret = gm->regDataChangeListener(TEST_APP_ID, &g_listener); 92317fd14ceSopenharmony_ci if (ret != HC_SUCCESS) { 92417fd14ceSopenharmony_ci break; 92517fd14ceSopenharmony_ci } 92617fd14ceSopenharmony_ci ret = gm->unRegDataChangeListener(TEST_APP_ID); 92717fd14ceSopenharmony_ci } while (0); 92817fd14ceSopenharmony_ci DestroyDeviceAuthService(); 92917fd14ceSopenharmony_ci return ret; 93017fd14ceSopenharmony_ci} 93117fd14ceSopenharmony_ci 93217fd14ceSopenharmony_cistatic int32_t DevAuthTestCase022(void) 93317fd14ceSopenharmony_ci{ 93417fd14ceSopenharmony_ci DeleteDatabase(); 93517fd14ceSopenharmony_ci int32_t ret = InitDeviceAuthService(); 93617fd14ceSopenharmony_ci if (ret != HC_SUCCESS) { 93717fd14ceSopenharmony_ci return ret; 93817fd14ceSopenharmony_ci } 93917fd14ceSopenharmony_ci do { 94017fd14ceSopenharmony_ci const DeviceGroupManager *gm = GetGmInstance(); 94117fd14ceSopenharmony_ci ret = gm->regCallback(TEST_APP_ID, &g_gmCallback); 94217fd14ceSopenharmony_ci if (ret != HC_SUCCESS) { 94317fd14ceSopenharmony_ci break; 94417fd14ceSopenharmony_ci } 94517fd14ceSopenharmony_ci ret = CreateDemoGroup(DEFAULT_OS_ACCOUNT, TEST_REQ_ID, TEST_APP_ID, CREATE_PARAMS); 94617fd14ceSopenharmony_ci if (ret != HC_SUCCESS) { 94717fd14ceSopenharmony_ci break; 94817fd14ceSopenharmony_ci } 94917fd14ceSopenharmony_ci ret = gm->checkAccessToGroup(DEFAULT_OS_ACCOUNT, TEST_APP_ID, TEST_GROUP_ID); 95017fd14ceSopenharmony_ci } while (0); 95117fd14ceSopenharmony_ci DestroyDeviceAuthService(); 95217fd14ceSopenharmony_ci return ret; 95317fd14ceSopenharmony_ci} 95417fd14ceSopenharmony_ci 95517fd14ceSopenharmony_cistatic int32_t DevAuthTestCase023(void) 95617fd14ceSopenharmony_ci{ 95717fd14ceSopenharmony_ci DeleteDatabase(); 95817fd14ceSopenharmony_ci int32_t ret = InitDeviceAuthService(); 95917fd14ceSopenharmony_ci if (ret != HC_SUCCESS) { 96017fd14ceSopenharmony_ci return ret; 96117fd14ceSopenharmony_ci } 96217fd14ceSopenharmony_ci do { 96317fd14ceSopenharmony_ci const DeviceGroupManager *gm = GetGmInstance(); 96417fd14ceSopenharmony_ci ret = gm->regCallback(TEST_APP_ID, &g_gmCallback); 96517fd14ceSopenharmony_ci if (ret != HC_SUCCESS) { 96617fd14ceSopenharmony_ci break; 96717fd14ceSopenharmony_ci } 96817fd14ceSopenharmony_ci ret = CreateDemoGroup(DEFAULT_OS_ACCOUNT, TEST_REQ_ID, TEST_APP_ID, CREATE_PARAMS); 96917fd14ceSopenharmony_ci if (ret != HC_SUCCESS) { 97017fd14ceSopenharmony_ci break; 97117fd14ceSopenharmony_ci } 97217fd14ceSopenharmony_ci char* returnRes = nullptr; 97317fd14ceSopenharmony_ci ret = gm->getGroupInfoById(DEFAULT_OS_ACCOUNT, TEST_APP_ID, TEST_GROUP_ID, &returnRes); 97417fd14ceSopenharmony_ci if (ret != HC_SUCCESS || returnRes == nullptr) { 97517fd14ceSopenharmony_ci ret = HC_ERROR; 97617fd14ceSopenharmony_ci } 97717fd14ceSopenharmony_ci } while (0); 97817fd14ceSopenharmony_ci DestroyDeviceAuthService(); 97917fd14ceSopenharmony_ci return ret; 98017fd14ceSopenharmony_ci} 98117fd14ceSopenharmony_ci 98217fd14ceSopenharmony_cistatic int32_t DevAuthTestCase024(void) 98317fd14ceSopenharmony_ci{ 98417fd14ceSopenharmony_ci DeleteDatabase(); 98517fd14ceSopenharmony_ci int32_t ret = InitDeviceAuthService(); 98617fd14ceSopenharmony_ci if (ret != HC_SUCCESS) { 98717fd14ceSopenharmony_ci return ret; 98817fd14ceSopenharmony_ci } 98917fd14ceSopenharmony_ci do { 99017fd14ceSopenharmony_ci const DeviceGroupManager *gm = GetGmInstance(); 99117fd14ceSopenharmony_ci ret = gm->regCallback(TEST_APP_ID, &g_gmCallback); 99217fd14ceSopenharmony_ci if (ret != HC_SUCCESS) { 99317fd14ceSopenharmony_ci break; 99417fd14ceSopenharmony_ci } 99517fd14ceSopenharmony_ci ret = CreateDemoGroup(DEFAULT_OS_ACCOUNT, TEST_REQ_ID, TEST_APP_ID, CREATE_PARAMS); 99617fd14ceSopenharmony_ci if (ret != HC_SUCCESS) { 99717fd14ceSopenharmony_ci break; 99817fd14ceSopenharmony_ci } 99917fd14ceSopenharmony_ci uint32_t returnNum = 0; 100017fd14ceSopenharmony_ci char* returnRes = nullptr; 100117fd14ceSopenharmony_ci ret = gm->getGroupInfo(DEFAULT_OS_ACCOUNT, TEST_APP_ID, QUERY_PARAMS, &returnRes, &returnNum); 100217fd14ceSopenharmony_ci if (ret != HC_SUCCESS || returnNum == 0 || returnRes == nullptr) { 100317fd14ceSopenharmony_ci ret = HC_ERROR; 100417fd14ceSopenharmony_ci } 100517fd14ceSopenharmony_ci } while (0); 100617fd14ceSopenharmony_ci DestroyDeviceAuthService(); 100717fd14ceSopenharmony_ci return ret; 100817fd14ceSopenharmony_ci} 100917fd14ceSopenharmony_ci 101017fd14ceSopenharmony_cistatic int32_t DevAuthTestCase025(void) 101117fd14ceSopenharmony_ci{ 101217fd14ceSopenharmony_ci DeleteDatabase(); 101317fd14ceSopenharmony_ci int32_t ret = InitDeviceAuthService(); 101417fd14ceSopenharmony_ci if (ret != HC_SUCCESS) { 101517fd14ceSopenharmony_ci return ret; 101617fd14ceSopenharmony_ci } 101717fd14ceSopenharmony_ci do { 101817fd14ceSopenharmony_ci const DeviceGroupManager *gm = GetGmInstance(); 101917fd14ceSopenharmony_ci ret = gm->regCallback(TEST_APP_ID, &g_gmCallback); 102017fd14ceSopenharmony_ci if (ret != HC_SUCCESS) { 102117fd14ceSopenharmony_ci break; 102217fd14ceSopenharmony_ci } 102317fd14ceSopenharmony_ci ret = CreateDemoGroup(DEFAULT_OS_ACCOUNT, TEST_REQ_ID, TEST_APP_ID, CREATE_PARAMS); 102417fd14ceSopenharmony_ci if (ret != HC_SUCCESS) { 102517fd14ceSopenharmony_ci break; 102617fd14ceSopenharmony_ci } 102717fd14ceSopenharmony_ci uint32_t returnNum = 0; 102817fd14ceSopenharmony_ci char* returnRes = nullptr; 102917fd14ceSopenharmony_ci ret = gm->getJoinedGroups(DEFAULT_OS_ACCOUNT, TEST_APP_ID, PEER_TO_PEER_GROUP, &returnRes, &returnNum); 103017fd14ceSopenharmony_ci if (ret != HC_SUCCESS || returnNum == 0 || returnRes == nullptr) { 103117fd14ceSopenharmony_ci ret = HC_ERROR; 103217fd14ceSopenharmony_ci } 103317fd14ceSopenharmony_ci } while (0); 103417fd14ceSopenharmony_ci DestroyDeviceAuthService(); 103517fd14ceSopenharmony_ci return ret; 103617fd14ceSopenharmony_ci} 103717fd14ceSopenharmony_ci 103817fd14ceSopenharmony_cistatic int32_t DevAuthTestCase026(void) 103917fd14ceSopenharmony_ci{ 104017fd14ceSopenharmony_ci DeleteDatabase(); 104117fd14ceSopenharmony_ci int32_t ret = InitDeviceAuthService(); 104217fd14ceSopenharmony_ci if (ret != HC_SUCCESS) { 104317fd14ceSopenharmony_ci return ret; 104417fd14ceSopenharmony_ci } 104517fd14ceSopenharmony_ci do { 104617fd14ceSopenharmony_ci const DeviceGroupManager *gm = GetGmInstance(); 104717fd14ceSopenharmony_ci ret = gm->regCallback(TEST_APP_ID, &g_gmCallback); 104817fd14ceSopenharmony_ci if (ret != HC_SUCCESS) { 104917fd14ceSopenharmony_ci break; 105017fd14ceSopenharmony_ci } 105117fd14ceSopenharmony_ci ret = CreateDemoGroup(DEFAULT_OS_ACCOUNT, TEST_REQ_ID, TEST_APP_ID, CREATE_PARAMS); 105217fd14ceSopenharmony_ci if (ret != HC_SUCCESS) { 105317fd14ceSopenharmony_ci break; 105417fd14ceSopenharmony_ci } 105517fd14ceSopenharmony_ci uint32_t returnNum = 0; 105617fd14ceSopenharmony_ci char* returnRes = nullptr; 105717fd14ceSopenharmony_ci ret = gm->getRelatedGroups(DEFAULT_OS_ACCOUNT, TEST_APP_ID, TEST_AUTH_ID, &returnRes, &returnNum); 105817fd14ceSopenharmony_ci if (ret != HC_SUCCESS || returnNum == 0 || returnRes == nullptr) { 105917fd14ceSopenharmony_ci ret = HC_ERROR; 106017fd14ceSopenharmony_ci } 106117fd14ceSopenharmony_ci } while (0); 106217fd14ceSopenharmony_ci DestroyDeviceAuthService(); 106317fd14ceSopenharmony_ci return ret; 106417fd14ceSopenharmony_ci} 106517fd14ceSopenharmony_ci 106617fd14ceSopenharmony_cistatic int32_t DevAuthTestCase027(void) 106717fd14ceSopenharmony_ci{ 106817fd14ceSopenharmony_ci DeleteDatabase(); 106917fd14ceSopenharmony_ci int32_t ret = InitDeviceAuthService(); 107017fd14ceSopenharmony_ci if (ret != HC_SUCCESS) { 107117fd14ceSopenharmony_ci return ret; 107217fd14ceSopenharmony_ci } 107317fd14ceSopenharmony_ci do { 107417fd14ceSopenharmony_ci const DeviceGroupManager *gm = GetGmInstance(); 107517fd14ceSopenharmony_ci ret = gm->regCallback(TEST_APP_ID, &g_gmCallback); 107617fd14ceSopenharmony_ci if (ret != HC_SUCCESS) { 107717fd14ceSopenharmony_ci break; 107817fd14ceSopenharmony_ci } 107917fd14ceSopenharmony_ci ret = CreateDemoGroup(DEFAULT_OS_ACCOUNT, TEST_REQ_ID, TEST_APP_ID, CREATE_PARAMS); 108017fd14ceSopenharmony_ci if (ret != HC_SUCCESS) { 108117fd14ceSopenharmony_ci break; 108217fd14ceSopenharmony_ci } 108317fd14ceSopenharmony_ci char* returnRes = nullptr; 108417fd14ceSopenharmony_ci ret = gm->getDeviceInfoById(DEFAULT_OS_ACCOUNT, TEST_APP_ID, TEST_AUTH_ID, TEST_GROUP_ID, &returnRes); 108517fd14ceSopenharmony_ci if (ret != HC_SUCCESS || returnRes == nullptr) { 108617fd14ceSopenharmony_ci ret = HC_ERROR; 108717fd14ceSopenharmony_ci } 108817fd14ceSopenharmony_ci } while (0); 108917fd14ceSopenharmony_ci DestroyDeviceAuthService(); 109017fd14ceSopenharmony_ci return ret; 109117fd14ceSopenharmony_ci} 109217fd14ceSopenharmony_ci 109317fd14ceSopenharmony_cistatic int32_t DevAuthTestCase028(void) 109417fd14ceSopenharmony_ci{ 109517fd14ceSopenharmony_ci DeleteDatabase(); 109617fd14ceSopenharmony_ci int32_t ret = InitDeviceAuthService(); 109717fd14ceSopenharmony_ci if (ret != HC_SUCCESS) { 109817fd14ceSopenharmony_ci return ret; 109917fd14ceSopenharmony_ci } 110017fd14ceSopenharmony_ci do { 110117fd14ceSopenharmony_ci const DeviceGroupManager *gm = GetGmInstance(); 110217fd14ceSopenharmony_ci ret = gm->regCallback(TEST_APP_ID, &g_gmCallback); 110317fd14ceSopenharmony_ci if (ret != HC_SUCCESS) { 110417fd14ceSopenharmony_ci break; 110517fd14ceSopenharmony_ci } 110617fd14ceSopenharmony_ci ret = CreateDemoGroup(DEFAULT_OS_ACCOUNT, TEST_REQ_ID, TEST_APP_ID, CREATE_PARAMS); 110717fd14ceSopenharmony_ci if (ret != HC_SUCCESS) { 110817fd14ceSopenharmony_ci break; 110917fd14ceSopenharmony_ci } 111017fd14ceSopenharmony_ci uint32_t returnNum = 0; 111117fd14ceSopenharmony_ci char* returnRes = nullptr; 111217fd14ceSopenharmony_ci ret = gm->getTrustedDevices(DEFAULT_OS_ACCOUNT, TEST_APP_ID, TEST_GROUP_ID, &returnRes, &returnNum); 111317fd14ceSopenharmony_ci if (ret != HC_SUCCESS || returnNum == 0 || returnRes == nullptr) { 111417fd14ceSopenharmony_ci ret = HC_ERROR; 111517fd14ceSopenharmony_ci } 111617fd14ceSopenharmony_ci } while (0); 111717fd14ceSopenharmony_ci DestroyDeviceAuthService(); 111817fd14ceSopenharmony_ci return ret; 111917fd14ceSopenharmony_ci} 112017fd14ceSopenharmony_ci 112117fd14ceSopenharmony_cistatic int32_t DevAuthTestCase029(void) 112217fd14ceSopenharmony_ci{ 112317fd14ceSopenharmony_ci DeleteDatabase(); 112417fd14ceSopenharmony_ci int32_t ret = InitDeviceAuthService(); 112517fd14ceSopenharmony_ci if (ret != HC_SUCCESS) { 112617fd14ceSopenharmony_ci return ret; 112717fd14ceSopenharmony_ci } 112817fd14ceSopenharmony_ci do { 112917fd14ceSopenharmony_ci const DeviceGroupManager *gm = GetGmInstance(); 113017fd14ceSopenharmony_ci ret = gm->regCallback(TEST_APP_ID, &g_gmCallback); 113117fd14ceSopenharmony_ci if (ret != HC_SUCCESS) { 113217fd14ceSopenharmony_ci break; 113317fd14ceSopenharmony_ci } 113417fd14ceSopenharmony_ci ret = CreateDemoGroup(DEFAULT_OS_ACCOUNT, TEST_REQ_ID, TEST_APP_ID, CREATE_PARAMS); 113517fd14ceSopenharmony_ci if (ret != HC_SUCCESS) { 113617fd14ceSopenharmony_ci break; 113717fd14ceSopenharmony_ci } 113817fd14ceSopenharmony_ci if (!gm->isDeviceInGroup(DEFAULT_OS_ACCOUNT, TEST_APP_ID, TEST_GROUP_ID, TEST_AUTH_ID)) { 113917fd14ceSopenharmony_ci ret = HC_ERROR; 114017fd14ceSopenharmony_ci } 114117fd14ceSopenharmony_ci } while (0); 114217fd14ceSopenharmony_ci DestroyDeviceAuthService(); 114317fd14ceSopenharmony_ci return ret; 114417fd14ceSopenharmony_ci} 114517fd14ceSopenharmony_ci 114617fd14ceSopenharmony_cistatic int32_t DevAuthTestCase030(void) 114717fd14ceSopenharmony_ci{ 114817fd14ceSopenharmony_ci DeleteDatabase(); 114917fd14ceSopenharmony_ci int32_t ret = InitDeviceAuthService(); 115017fd14ceSopenharmony_ci if (ret != HC_SUCCESS) { 115117fd14ceSopenharmony_ci return ret; 115217fd14ceSopenharmony_ci } 115317fd14ceSopenharmony_ci do { 115417fd14ceSopenharmony_ci const DeviceGroupManager *gm = GetGmInstance(); 115517fd14ceSopenharmony_ci ret = gm->regCallback(TEST_APP_ID, &g_gmCallback); 115617fd14ceSopenharmony_ci if (ret != HC_SUCCESS) { 115717fd14ceSopenharmony_ci break; 115817fd14ceSopenharmony_ci } 115917fd14ceSopenharmony_ci ret = CreateDemoGroup(DEFAULT_OS_ACCOUNT, TEST_REQ_ID, TEST_APP_ID, CREATE_PARAMS); 116017fd14ceSopenharmony_ci if (ret != HC_SUCCESS) { 116117fd14ceSopenharmony_ci break; 116217fd14ceSopenharmony_ci } 116317fd14ceSopenharmony_ci g_asyncStatus = ASYNC_STATUS_WAITING; 116417fd14ceSopenharmony_ci bool isClient = true; 116517fd14ceSopenharmony_ci SetDeviceStatus(isClient); 116617fd14ceSopenharmony_ci ret = gm->addMemberToGroup(DEFAULT_OS_ACCOUNT, TEST_REQ_ID, TEST_APP_ID, ADD_PARAMS); 116717fd14ceSopenharmony_ci if (ret != HC_SUCCESS) { 116817fd14ceSopenharmony_ci g_asyncStatus = ASYNC_STATUS_WAITING; 116917fd14ceSopenharmony_ci return ret; 117017fd14ceSopenharmony_ci } 117117fd14ceSopenharmony_ci while (g_asyncStatus == ASYNC_STATUS_WAITING) { 117217fd14ceSopenharmony_ci usleep(TEST_DEV_AUTH_SLEEP_TIME); 117317fd14ceSopenharmony_ci } 117417fd14ceSopenharmony_ci (void)memset_s(g_transmitData, TEST_TRANSMIT_DATA_LEN, 0, TEST_TRANSMIT_DATA_LEN); 117517fd14ceSopenharmony_ci g_transmitDataLen = 0; 117617fd14ceSopenharmony_ci g_asyncStatus = ASYNC_STATUS_WAITING; 117717fd14ceSopenharmony_ci gm->cancelRequest(TEST_REQ_ID, TEST_APP_ID); 117817fd14ceSopenharmony_ci } while (0); 117917fd14ceSopenharmony_ci DestroyDeviceAuthService(); 118017fd14ceSopenharmony_ci return HC_SUCCESS; 118117fd14ceSopenharmony_ci} 118217fd14ceSopenharmony_ci 118317fd14ceSopenharmony_cistatic int32_t DevAuthTestCase031(void) 118417fd14ceSopenharmony_ci{ 118517fd14ceSopenharmony_ci DeleteDatabase(); 118617fd14ceSopenharmony_ci int32_t ret = InitDeviceAuthService(); 118717fd14ceSopenharmony_ci if (ret != HC_SUCCESS) { 118817fd14ceSopenharmony_ci return ret; 118917fd14ceSopenharmony_ci } 119017fd14ceSopenharmony_ci do { 119117fd14ceSopenharmony_ci const DeviceGroupManager *gm = GetGmInstance(); 119217fd14ceSopenharmony_ci ret = gm->regCallback(TEST_APP_ID, &g_gmCallback); 119317fd14ceSopenharmony_ci if (ret != HC_SUCCESS) { 119417fd14ceSopenharmony_ci break; 119517fd14ceSopenharmony_ci } 119617fd14ceSopenharmony_ci gm->cancelRequest(TEST_REQ_ID, TEST_APP_ID); 119717fd14ceSopenharmony_ci } while (0); 119817fd14ceSopenharmony_ci DestroyDeviceAuthService(); 119917fd14ceSopenharmony_ci return HC_SUCCESS; 120017fd14ceSopenharmony_ci} 120117fd14ceSopenharmony_ci 120217fd14ceSopenharmony_cistatic int32_t DevAuthTestCase032(void) 120317fd14ceSopenharmony_ci{ 120417fd14ceSopenharmony_ci DeleteDatabase(); 120517fd14ceSopenharmony_ci int32_t ret = InitDeviceAuthService(); 120617fd14ceSopenharmony_ci if (ret != HC_SUCCESS) { 120717fd14ceSopenharmony_ci return ret; 120817fd14ceSopenharmony_ci } 120917fd14ceSopenharmony_ci do { 121017fd14ceSopenharmony_ci const DeviceGroupManager *gm = GetGmInstance(); 121117fd14ceSopenharmony_ci ret = gm->regCallback(TEST_APP_ID, &g_gmCallback); 121217fd14ceSopenharmony_ci if (ret != HC_SUCCESS) { 121317fd14ceSopenharmony_ci break; 121417fd14ceSopenharmony_ci } 121517fd14ceSopenharmony_ci ret = CreateDemoGroup(DEFAULT_OS_ACCOUNT, TEST_REQ_ID, TEST_APP_ID, CREATE_PARAMS); 121617fd14ceSopenharmony_ci if (ret != HC_SUCCESS) { 121717fd14ceSopenharmony_ci break; 121817fd14ceSopenharmony_ci } 121917fd14ceSopenharmony_ci ret = AddDemoMember(); 122017fd14ceSopenharmony_ci if (ret != HC_SUCCESS) { 122117fd14ceSopenharmony_ci break; 122217fd14ceSopenharmony_ci } 122317fd14ceSopenharmony_ci uint32_t returnNum = 0; 122417fd14ceSopenharmony_ci char *returnRes = nullptr; 122517fd14ceSopenharmony_ci ret = gm->getPkInfoList(DEFAULT_OS_ACCOUNT, TEST_APP_ID, QUERY_PK_PARAMS, &returnRes, &returnNum); 122617fd14ceSopenharmony_ci if (ret != HC_SUCCESS || returnNum == 0 || returnRes == nullptr) { 122717fd14ceSopenharmony_ci ret = HC_ERROR; 122817fd14ceSopenharmony_ci } 122917fd14ceSopenharmony_ci } while (0); 123017fd14ceSopenharmony_ci DestroyDeviceAuthService(); 123117fd14ceSopenharmony_ci return ret; 123217fd14ceSopenharmony_ci} 123317fd14ceSopenharmony_ci 123417fd14ceSopenharmony_cistatic int32_t DevAuthTestCase033(void) 123517fd14ceSopenharmony_ci{ 123617fd14ceSopenharmony_ci DeleteDatabase(); 123717fd14ceSopenharmony_ci int32_t ret = InitDeviceAuthService(); 123817fd14ceSopenharmony_ci if (ret != HC_SUCCESS) { 123917fd14ceSopenharmony_ci return ret; 124017fd14ceSopenharmony_ci } 124117fd14ceSopenharmony_ci do { 124217fd14ceSopenharmony_ci const DeviceGroupManager *gm = GetGmInstance(); 124317fd14ceSopenharmony_ci ret = gm->regCallback(TEST_APP_ID, &g_gmCallback); 124417fd14ceSopenharmony_ci if (ret != HC_SUCCESS) { 124517fd14ceSopenharmony_ci break; 124617fd14ceSopenharmony_ci } 124717fd14ceSopenharmony_ci ret = CreateDemoGroup(DEFAULT_OS_ACCOUNT, TEST_REQ_ID, TEST_APP_ID, CREATE_PARAMS); 124817fd14ceSopenharmony_ci if (ret != HC_SUCCESS) { 124917fd14ceSopenharmony_ci break; 125017fd14ceSopenharmony_ci } 125117fd14ceSopenharmony_ci ret = AddDemoMember(); 125217fd14ceSopenharmony_ci if (ret != HC_SUCCESS) { 125317fd14ceSopenharmony_ci break; 125417fd14ceSopenharmony_ci } 125517fd14ceSopenharmony_ci uint32_t returnNum = 0; 125617fd14ceSopenharmony_ci char *returnRes = nullptr; 125717fd14ceSopenharmony_ci ret = gm->getPkInfoList(DEFAULT_OS_ACCOUNT, TEST_APP_ID, QUERY_PK_PARAMS2, &returnRes, &returnNum); 125817fd14ceSopenharmony_ci if (ret != HC_SUCCESS || returnNum == 0 || returnRes == nullptr) { 125917fd14ceSopenharmony_ci ret = HC_ERROR; 126017fd14ceSopenharmony_ci } 126117fd14ceSopenharmony_ci } while (0); 126217fd14ceSopenharmony_ci DestroyDeviceAuthService(); 126317fd14ceSopenharmony_ci return ret; 126417fd14ceSopenharmony_ci} 126517fd14ceSopenharmony_ci 126617fd14ceSopenharmony_cistatic int32_t DevAuthTestCase034(void) 126717fd14ceSopenharmony_ci{ 126817fd14ceSopenharmony_ci DeleteDatabase(); 126917fd14ceSopenharmony_ci SetDeviceStatus(true); 127017fd14ceSopenharmony_ci int32_t ret = InitDeviceAuthService(); 127117fd14ceSopenharmony_ci if (ret != HC_SUCCESS) { 127217fd14ceSopenharmony_ci return ret; 127317fd14ceSopenharmony_ci } 127417fd14ceSopenharmony_ci DestroyDeviceAuthService(); 127517fd14ceSopenharmony_ci SetDeviceStatus(false); 127617fd14ceSopenharmony_ci ret = InitDeviceAuthService(); 127717fd14ceSopenharmony_ci if (ret != HC_SUCCESS) { 127817fd14ceSopenharmony_ci return ret; 127917fd14ceSopenharmony_ci } 128017fd14ceSopenharmony_ci DestroyDeviceAuthService(); 128117fd14ceSopenharmony_ci SetDeviceStatus(true); 128217fd14ceSopenharmony_ci ret = InitDeviceAuthService(); 128317fd14ceSopenharmony_ci if (ret != HC_SUCCESS) { 128417fd14ceSopenharmony_ci return ret; 128517fd14ceSopenharmony_ci } 128617fd14ceSopenharmony_ci do { 128717fd14ceSopenharmony_ci const DeviceGroupManager *gm = GetGmInstance(); 128817fd14ceSopenharmony_ci ret = gm->regCallback(TEST_APP_ID, &g_gmCallback); 128917fd14ceSopenharmony_ci if (ret != HC_SUCCESS) { 129017fd14ceSopenharmony_ci break; 129117fd14ceSopenharmony_ci } 129217fd14ceSopenharmony_ci SetDeviceStatus(true); 129317fd14ceSopenharmony_ci ret = CreateDemoSymIdenticalAccountGroup(DEFAULT_OS_ACCOUNT, TEST_REQ_ID, TEST_APP_ID, TEST_USER_ID); 129417fd14ceSopenharmony_ci if (ret != HC_SUCCESS) { 129517fd14ceSopenharmony_ci break; 129617fd14ceSopenharmony_ci } 129717fd14ceSopenharmony_ci SetDeviceStatus(false); 129817fd14ceSopenharmony_ci ret = CreateDemoSymIdenticalAccountGroup(TEST_AUTH_OS_ACCOUNT_ID, TEST_REQ_ID, TEST_APP_ID, TEST_USER_ID); 129917fd14ceSopenharmony_ci if (ret != HC_SUCCESS) { 130017fd14ceSopenharmony_ci break; 130117fd14ceSopenharmony_ci } 130217fd14ceSopenharmony_ci ret = AuthDemoMember(); 130317fd14ceSopenharmony_ci } while (0); 130417fd14ceSopenharmony_ci DestroyDeviceAuthService(); 130517fd14ceSopenharmony_ci return ret; 130617fd14ceSopenharmony_ci} 130717fd14ceSopenharmony_ci 130817fd14ceSopenharmony_cistatic int32_t DevAuthTestCase051(void) 130917fd14ceSopenharmony_ci{ 131017fd14ceSopenharmony_ci SetPakeV1Supported(false); 131117fd14ceSopenharmony_ci SetSessionV2Supported(false); 131217fd14ceSopenharmony_ci int32_t ret = DevAuthTestCase007(); 131317fd14ceSopenharmony_ci SetPakeV1Supported(true); 131417fd14ceSopenharmony_ci SetSessionV2Supported(true); 131517fd14ceSopenharmony_ci return ret; 131617fd14ceSopenharmony_ci} 131717fd14ceSopenharmony_ci 131817fd14ceSopenharmony_cistatic int32_t DevAuthTestCase052(void) 131917fd14ceSopenharmony_ci{ 132017fd14ceSopenharmony_ci SetIsoSupported(false); 132117fd14ceSopenharmony_ci SetPakeV1Supported(false); 132217fd14ceSopenharmony_ci SetSessionV2Supported(false); 132317fd14ceSopenharmony_ci int32_t ret = DevAuthTestCase007(); 132417fd14ceSopenharmony_ci SetIsoSupported(true); 132517fd14ceSopenharmony_ci SetPakeV1Supported(true); 132617fd14ceSopenharmony_ci SetSessionV2Supported(true); 132717fd14ceSopenharmony_ci return ret; 132817fd14ceSopenharmony_ci} 132917fd14ceSopenharmony_ci 133017fd14ceSopenharmony_cistatic int32_t DevAuthTestCase053(void) 133117fd14ceSopenharmony_ci{ 133217fd14ceSopenharmony_ci SetIsoSupported(false); 133317fd14ceSopenharmony_ci SetPakeV1Supported(false); 133417fd14ceSopenharmony_ci int32_t ret = DevAuthTestCase007(); 133517fd14ceSopenharmony_ci SetIsoSupported(true); 133617fd14ceSopenharmony_ci SetPakeV1Supported(true); 133717fd14ceSopenharmony_ci return ret; 133817fd14ceSopenharmony_ci} 133917fd14ceSopenharmony_ci 134017fd14ceSopenharmony_cibool FuzzDoDevAuthFuncFuzz(const uint8_t* data, size_t size) 134117fd14ceSopenharmony_ci{ 134217fd14ceSopenharmony_ci (void)data; 134317fd14ceSopenharmony_ci (void)size; 134417fd14ceSopenharmony_ci (void)DevAuthTestCase004(); 134517fd14ceSopenharmony_ci (void)DevAuthTestCase005(); 134617fd14ceSopenharmony_ci (void)DevAuthTestCase006(); 134717fd14ceSopenharmony_ci (void)DevAuthTestCase007(); 134817fd14ceSopenharmony_ci (void)DevAuthTestCase008(); 134917fd14ceSopenharmony_ci (void)DevAuthTestCase009(); 135017fd14ceSopenharmony_ci (void)DevAuthTestCase010(); 135117fd14ceSopenharmony_ci (void)DevAuthTestCase011(); 135217fd14ceSopenharmony_ci (void)DevAuthTestCase012(); 135317fd14ceSopenharmony_ci (void)DevAuthTestCase013(); 135417fd14ceSopenharmony_ci (void)DevAuthTestCase014(); 135517fd14ceSopenharmony_ci (void)DevAuthTestCase015(); 135617fd14ceSopenharmony_ci (void)DevAuthTestCase016(); 135717fd14ceSopenharmony_ci (void)DevAuthTestCase018(); 135817fd14ceSopenharmony_ci (void)DevAuthTestCase019(); 135917fd14ceSopenharmony_ci (void)DevAuthTestCase020(); 136017fd14ceSopenharmony_ci (void)DevAuthTestCase021(); 136117fd14ceSopenharmony_ci (void)DevAuthTestCase022(); 136217fd14ceSopenharmony_ci (void)DevAuthTestCase023(); 136317fd14ceSopenharmony_ci (void)DevAuthTestCase024(); 136417fd14ceSopenharmony_ci (void)DevAuthTestCase025(); 136517fd14ceSopenharmony_ci (void)DevAuthTestCase026(); 136617fd14ceSopenharmony_ci (void)DevAuthTestCase027(); 136717fd14ceSopenharmony_ci (void)DevAuthTestCase028(); 136817fd14ceSopenharmony_ci (void)DevAuthTestCase029(); 136917fd14ceSopenharmony_ci (void)DevAuthTestCase030(); 137017fd14ceSopenharmony_ci (void)DevAuthTestCase031(); 137117fd14ceSopenharmony_ci (void)DevAuthTestCase032(); 137217fd14ceSopenharmony_ci (void)DevAuthTestCase033(); 137317fd14ceSopenharmony_ci (void)DevAuthTestCase034(); 137417fd14ceSopenharmony_ci (void)DevAuthTestCase051(); 137517fd14ceSopenharmony_ci (void)DevAuthTestCase052(); 137617fd14ceSopenharmony_ci (void)DevAuthTestCase053(); 137717fd14ceSopenharmony_ci return true; 137817fd14ceSopenharmony_ci} 137917fd14ceSopenharmony_ci} 138017fd14ceSopenharmony_ci 138117fd14ceSopenharmony_ci/* Fuzzer entry point */ 138217fd14ceSopenharmony_ciextern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) 138317fd14ceSopenharmony_ci{ 138417fd14ceSopenharmony_ci /* Run your code on data */ 138517fd14ceSopenharmony_ci OHOS::FuzzDoDevAuthFuncFuzz(data, size); 138617fd14ceSopenharmony_ci return 0; 138717fd14ceSopenharmony_ci} 138817fd14ceSopenharmony_ci 1389