• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2025 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 #ifndef AUTH_APPLY_KEY_PROCESS_MOCK_H
17 #define AUTH_APPLY_KEY_PROCESS_MOCK_H
18 
19 #include <cstdbool>
20 #include <cstdint>
21 #include <gmock/gmock.h>
22 
23 #include "auth_apply_key_struct.h"
24 #include "auth_common_struct.h"
25 #include "bus_center_info_key_struct.h"
26 #include "cJSON.h"
27 #include "device_auth.h"
28 #include "lnn_async_callback_utils.h"
29 #include "softbus_adapter_mem.h"
30 #include "softbus_conn_interface_struct.h"
31 
32 namespace OHOS {
33 class AuthApplyKeyProcessInterface {
34 public:
AuthApplyKeyProcessInterface()35     AuthApplyKeyProcessInterface() {};
~AuthApplyKeyProcessInterface()36     virtual ~AuthApplyKeyProcessInterface() { };
37     virtual int32_t LnnAsyncCallbackDelayHelper(
38         SoftBusLooper *looper, LnnAsyncCallbackFunc callback, void *para, uint64_t delayMillis) = 0;
39     virtual int32_t LnnGetLocalStrInfo(InfoKey key, char *info, uint32_t len) = 0;
40     virtual int32_t SoftBusGenerateStrHash(const unsigned char *str, uint32_t len, unsigned char *hash) = 0;
41     virtual int32_t LnnGetLocalByteInfo(InfoKey key, uint8_t *info, uint32_t len) = 0;
42     virtual bool AddStringToJsonObject(cJSON *json, const char * const string, const char *value) = 0;
43     virtual bool AddNumberToJsonObject(cJSON *json, const char * const string, int num) = 0;
44     virtual uint32_t ConnGetHeadSize(void) = 0;
45     virtual uint32_t GetAuthDataSize(uint32_t len) = 0;
46     virtual int32_t PackAuthData(const AuthDataHead *head, const uint8_t *data, uint8_t *buf, uint32_t size) = 0;
47     virtual int32_t GetApplyKeyByBusinessInfo(
48         const RequestBusinessInfo *info, uint8_t *uk, uint32_t ukLen, char *accountHash, uint32_t accountHashLen) = 0;
49     virtual const uint8_t *UnpackAuthData(const uint8_t *data, uint32_t len, AuthDataHead *head) = 0;
50     virtual cJSON *cJSON_ParseWithLength(const char *string, size_t length) = 0;
51     virtual bool GetJsonObjectStringItem(
52         const cJSON *json, const char * const string, char *target, uint32_t targetLen) = 0;
53     virtual bool GetJsonObjectNumberItem(const cJSON *json, const char * const string, int32_t *target) = 0;
54     virtual int32_t InitDeviceAuthService() = 0;
55     virtual const LightAccountVerifier *GetLightAccountVerifierInstance(void) = 0;
56     virtual int32_t ConnSetConnectCallback(ConnModule moduleId, const ConnectCallback *callback) = 0;
57     virtual const char *GetAuthSideStr(bool isServer) = 0;
58     virtual int32_t AuthInsertApplyKey(
59         const RequestBusinessInfo *info, const uint8_t *uk, uint32_t ukLen, uint64_t time, char *accountHash) = 0;
60     virtual int32_t ConnPostBytes(uint32_t connectionId, ConnPostData *data) = 0;
61 };
62 
63 class AuthApplyKeyProcessInterfaceMock : public AuthApplyKeyProcessInterface {
64 public:
65     AuthApplyKeyProcessInterfaceMock();
66     ~AuthApplyKeyProcessInterfaceMock() override;
67 
68     MOCK_METHOD4(LnnAsyncCallbackDelayHelper, int32_t(SoftBusLooper *, LnnAsyncCallbackFunc, void *, uint64_t));
69     MOCK_METHOD3(LnnGetLocalStrInfo, int32_t(InfoKey, char *, uint32_t));
70     MOCK_METHOD3(SoftBusGenerateStrHash, int32_t(const unsigned char *, uint32_t, unsigned char *));
71     MOCK_METHOD3(LnnGetLocalByteInfo, int32_t(InfoKey, uint8_t *, uint32_t));
72     MOCK_METHOD3(AddStringToJsonObject, bool(cJSON *, const char * const, const char *));
73     MOCK_METHOD3(AddNumberToJsonObject, bool(cJSON *, const char * const, int));
74     MOCK_METHOD0(ConnGetHeadSize, uint32_t(void));
75     MOCK_METHOD1(GetAuthDataSize, uint32_t(uint32_t));
76     MOCK_METHOD4(PackAuthData, int32_t(const AuthDataHead *, const uint8_t *, uint8_t *, uint32_t));
77     MOCK_METHOD5(
78         GetApplyKeyByBusinessInfo, int32_t(const RequestBusinessInfo *, uint8_t *, uint32_t, char *, uint32_t));
79     MOCK_METHOD3(UnpackAuthData, const uint8_t *(const uint8_t *, uint32_t, AuthDataHead *));
80     MOCK_METHOD2(cJSON_ParseWithLength, cJSON *(const char *, size_t));
81     MOCK_METHOD4(GetJsonObjectStringItem, bool(const cJSON *, const char * const, char *, uint32_t));
82     MOCK_METHOD3(GetJsonObjectNumberItem, bool(const cJSON *, const char * const, int32_t *));
83     MOCK_METHOD0(InitDeviceAuthService, int32_t());
84     MOCK_METHOD0(GetLightAccountVerifierInstance, const LightAccountVerifier *(void));
85     MOCK_METHOD2(ConnSetConnectCallback, int32_t(ConnModule, const ConnectCallback *));
86     MOCK_METHOD1(GetAuthSideStr, const char *(bool));
87     MOCK_METHOD5(AuthInsertApplyKey, int32_t(const RequestBusinessInfo *, const uint8_t *, uint32_t, uint64_t, char *));
88     MOCK_METHOD2(ConnPostBytes, int32_t(uint32_t, ConnPostData *));
89 };
90 
91 } // namespace OHOS
92 #endif // AUTH_APPLY_KEY_PROCESS_MOCK_H