• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2023-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_COMMON_MOCK_H
17 #define AUTH_COMMON_MOCK_H
18 
19 #include <gmock/gmock.h>
20 #include <mutex>
21 #include <typeinfo>
22 
23 #include "auth_common.h"
24 #include "auth_log.h"
25 #include "device_auth.h"
26 #include "disc_interface.h"
27 #include "lnn_async_callback_utils.h"
28 #include "lnn_common_utils.h"
29 #include "lnn_feature_capability.h"
30 #include "lnn_lane_interface.h"
31 #include "lnn_net_builder.h"
32 #include "lnn_node_info.h"
33 #include "lnn_ohos_account_adapter.h"
34 #include "lnn_node_info.h"
35 #include "map"
36 #include "securec.h"
37 #include "softbus_adapter_bt_common.h"
38 #include "softbus_adapter_mem.h"
39 #include "softbus_conn_interface.h"
40 
41 namespace OHOS {
42 class AuthCommonInterface {
43 public:
AuthCommonInterface()44     AuthCommonInterface() {};
~AuthCommonInterface()45     virtual ~AuthCommonInterface() {};
46 
47     virtual int32_t LnnAsyncCallbackDelayHelper(SoftBusLooper *looper, LnnAsyncCallbackFunc callback,
48         void *para, uint64_t delayMillis);
49     virtual int32_t LnnGetLocalNumU64Info(InfoKey key, uint64_t *info) = 0;
50     virtual int32_t SoftBusGetBtState(void) = 0;
51     virtual int32_t SoftBusGetBrState(void) = 0;
52     virtual void LnnHbOnTrustedRelationReduced(void) = 0;
53     virtual int32_t LnnInsertSpecificTrustedDevInfo(const char *udid) = 0;
54     virtual int32_t LnnGetNetworkIdByUuid(const char *uuid, char *buf, uint32_t len) = 0;
55     virtual int32_t LnnGetStaFrequency(const NodeInfo *info) = 0;
56     virtual int32_t LnnEncryptAesGcm(AesGcmInputParam *in, int32_t keyIndex, uint8_t **out, uint32_t *outLen) = 0;
57     virtual int32_t LnnDecryptAesGcm(AesGcmInputParam *in, uint8_t **out, uint32_t *outLen) = 0;
58     virtual int32_t LnnGetTrustedDevInfoFromDb(char **udidArray, uint32_t *num) = 0;
59     virtual int32_t LnnGetAllOnlineNodeNum(int32_t *nodeNum) = 0;
60     virtual int32_t LnnSetLocalStrInfo(InfoKey key, const char *info) = 0;
61     virtual int32_t LnnNotifyEmptySessionKey(int64_t authId) = 0;
62     virtual int32_t LnnNotifyLeaveLnnByAuthHandle(AuthHandle *authHandle);
63     virtual int32_t LnnRequestLeaveSpecific(const char *networkId, ConnectionAddrType addrType);
64     virtual int32_t LnnGetRemoteNumU64Info(const char *networkId, InfoKey key, uint64_t *info) = 0;
65     virtual int32_t SoftBusGetBtMacAddr(SoftBusBtAddr *mac) = 0;
66     virtual int32_t GetNodeFromPcRestrictMap(const char *udidHash, uint32_t *count) = 0;
67     virtual void DeleteNodeFromPcRestrictMap(const char *udidHash) = 0;
68     virtual int32_t AuthFailNotifyProofInfo(int32_t errCode, const char *errorReturn, uint32_t errorReturnLen) = 0;
69     virtual void LnnDeleteLinkFinderInfo(const char *peerUdid) = 0;
70     virtual int32_t SoftBusGenerateStrHash(const unsigned char *str, uint32_t len, unsigned char *hash) = 0;
71     virtual bool IdServiceIsPotentialTrustedDevice(
72         const char *udidHash, const char *accountIdHash, bool isSameAccount) = 0;
73     virtual int32_t ConnGetConnectionInfo(uint32_t connectionId, ConnectionInfo *info) = 0;
74     virtual int32_t ConnSetConnectCallback(ConnModule moduleId, const ConnectCallback *callback) = 0;
75     virtual void ConnUnSetConnectCallback(ConnModule moduleId) = 0;
76     virtual int32_t ConnConnectDevice(
77         const ConnectOption *option, uint32_t requestId, const ConnectResult *result) = 0;
78     virtual int32_t ConnDisconnectDevice(uint32_t connectionId) = 0;
79     virtual uint32_t ConnGetHeadSize(void) = 0;
80     virtual int32_t ConnPostBytes(uint32_t connectionId, ConnPostData *data) = 0;
81     virtual bool CheckActiveConnection(const ConnectOption *option, bool needOccupy) = 0;
82     virtual int32_t ConnStartLocalListening(const LocalListenerInfo *info) = 0;
83     virtual int32_t ConnStopLocalListening(const LocalListenerInfo *info) = 0;
84     virtual uint32_t ConnGetNewRequestId(ConnModule moduleId) = 0;
85     virtual void DiscDeviceInfoChanged(InfoTypeChanged type) = 0;
86     virtual int32_t ConnUpdateConnection(uint32_t connectionId, UpdateOption *option) = 0;
87 };
88 class AuthCommonInterfaceMock : public AuthCommonInterface {
89 public:
90     AuthCommonInterfaceMock();
91     ~AuthCommonInterfaceMock() override;
92     MOCK_METHOD3(LnnGetRemoteNumU64Info, int32_t(const char *, InfoKey, uint64_t *));
93     MOCK_METHOD4(LnnAsyncCallbackDelayHelper, int32_t (SoftBusLooper *, LnnAsyncCallbackFunc, void *, uint64_t));
94     MOCK_METHOD2(LnnGetLocalNumU64Info, int32_t (InfoKey, uint64_t *));
95     MOCK_METHOD0(SoftBusGetBtState, int32_t (void));
96     MOCK_METHOD0(SoftBusGetBrState, int32_t (void));
97     MOCK_METHOD0(LnnHbOnTrustedRelationReduced, void ());
98     MOCK_METHOD1(LnnInsertSpecificTrustedDevInfo, int32_t (const char *));
99     MOCK_METHOD3(LnnGetNetworkIdByUuid, int32_t (const char *, char *, uint32_t));
100     MOCK_METHOD1(LnnGetStaFrequency, int32_t (const NodeInfo *));
101     MOCK_METHOD4(LnnEncryptAesGcm, int32_t (AesGcmInputParam *, int32_t, uint8_t **, uint32_t *));
102     MOCK_METHOD3(LnnDecryptAesGcm, int32_t (AesGcmInputParam *, uint8_t **, uint32_t *));
103     MOCK_METHOD2(LnnGetTrustedDevInfoFromDb, int32_t (char **, uint32_t *));
104     MOCK_METHOD1(LnnGetAllOnlineNodeNum, int32_t (int32_t *));
105     MOCK_METHOD2(LnnSetLocalStrInfo, int32_t (InfoKey, const char *));
106     MOCK_METHOD1(LnnNotifyEmptySessionKey, int32_t (int64_t));
107     MOCK_METHOD1(LnnNotifyLeaveLnnByAuthHandle, int32_t (AuthHandle *));
108     MOCK_METHOD2(LnnRequestLeaveSpecific, int32_t (const char *, ConnectionAddrType));
109     MOCK_METHOD1(SoftBusGetBtMacAddr, int32_t (SoftBusBtAddr *));
110     MOCK_METHOD2(GetNodeFromPcRestrictMap, int32_t (const char *, uint32_t *));
111     MOCK_METHOD1(DeleteNodeFromPcRestrictMap, void (const char *));
112     MOCK_METHOD3(AuthFailNotifyProofInfo, int32_t (int32_t, const char *, uint32_t));
113     MOCK_METHOD1(LnnDeleteLinkFinderInfo, void (const char *));
114     MOCK_METHOD3(SoftBusGenerateStrHash, int32_t (const unsigned char *, uint32_t, unsigned char *));
115     MOCK_METHOD3(IdServiceIsPotentialTrustedDevice, bool (const char *, const char *, bool));
116     MOCK_METHOD2(ConnGetConnectionInfo, int32_t(uint32_t, ConnectionInfo *));
117     MOCK_METHOD2(ConnSetConnectCallback, int32_t(ConnModule, const ConnectCallback *));
118     MOCK_METHOD1(ConnUnSetConnectCallback, void(ConnModule));
119     MOCK_METHOD3(ConnConnectDevice, int32_t(const ConnectOption *, uint32_t, const ConnectResult *));
120     MOCK_METHOD1(ConnDisconnectDevice, int32_t(uint32_t));
121     MOCK_METHOD0(ConnGetHeadSize, uint32_t(void));
122     MOCK_METHOD2(ConnPostBytes, int32_t(uint32_t, ConnPostData *));
123     MOCK_METHOD2(CheckActiveConnection, bool(const ConnectOption *, bool));
124     MOCK_METHOD1(ConnStartLocalListening, int32_t(const LocalListenerInfo *));
125     MOCK_METHOD1(ConnStopLocalListening, int32_t(const LocalListenerInfo *));
126     MOCK_METHOD1(ConnGetNewRequestId, uint32_t(ConnModule));
127     MOCK_METHOD1(DiscDeviceInfoChanged, void(InfoTypeChanged));
128     MOCK_METHOD2(ConnUpdateConnection, int32_t(uint32_t, UpdateOption *));
129     static inline char *g_encryptData;
130     static inline ConnectCallback g_conncallback;
131     static inline ConnectResult g_connresultcb;
132     static int32_t ActionOfConnPostBytes(uint32_t connectionId, ConnPostData *data);
133     static int32_t ActionofConnSetConnectCallback(ConnModule moduleId, const ConnectCallback *callback);
134     static int32_t ActionofOnConnectSuccessed(
135         const ConnectOption *option, uint32_t requestId, const ConnectResult *result);
136     static int32_t ActionofOnConnectFailed(
137         const ConnectOption *option, uint32_t requestId, const ConnectResult *result);
138     static int32_t ActionofConnGetConnectionInfo(uint32_t connectionId, ConnectionInfo *info);
139     static void ActionofConnUnSetConnectCallback(ConnModule moduleId);
OnVerifyPassed(uint32_t requestId,AuthHandle authHandle,const NodeInfo * info)140     static void OnVerifyPassed(uint32_t requestId, AuthHandle authHandle, const NodeInfo *info)
141     {
142         (void)requestId;
143         (void)authHandle;
144         (void)info;
145         return;
146     }
OnVerifyFailed(uint32_t requestId,int32_t reason)147     static void OnVerifyFailed(uint32_t requestId, int32_t reason)
148     {
149         (void)requestId;
150         (void)reason;
151         return;
152     }
OnConnOpened(uint32_t requestId,AuthHandle authHandle)153     static void OnConnOpened(uint32_t requestId, AuthHandle authHandle)
154     {
155         (void)requestId;
156         (void)authHandle;
157         return;
158     }
OnConnOpenFailed(uint32_t requestId,int32_t reason)159     static void OnConnOpenFailed(uint32_t requestId, int32_t reason)
160     {
161         (void)requestId;
162         (void)reason;
163         return;
164     }
165 };
166 } // namespace OHOS
167 #endif // AUTH_COMMON_MOCK_H