• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2023 Huawei Device Co., Ltd.
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at
6  *
7  *     http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  */
15 
16 #ifndef AUTH_COMMON_MOCK_H
17 #define AUTH_COMMON_MOCK_H
18 
19 #include <gmock/gmock.h>
20 #include <mutex>
21 
22 #include "auth_common.h"
23 #include "device_auth.h"
24 #include "lnn_async_callback_utils.h"
25 #include "lnn_common_utils.h"
26 #include "lnn_feature_capability.h"
27 #include "lnn_lane_interface.h"
28 #include "lnn_net_builder.h"
29 #include "lnn_ohos_account_adapter.h"
30 #include "lnn_node_info.h"
31 #include "softbus_adapter_bt_common.h"
32 
33 namespace OHOS {
34 class AuthCommonInterface {
35 public:
AuthCommonInterface()36     AuthCommonInterface() {};
~AuthCommonInterface()37     virtual ~AuthCommonInterface() {};
38 
39     virtual int32_t LnnAsyncCallbackDelayHelper(SoftBusLooper *looper, LnnAsyncCallbackFunc callback,
40         void *para, uint64_t delayMillis);
41     virtual int32_t LnnGetLocalNumU64Info(InfoKey key, uint64_t *info) = 0;
42     virtual int32_t SoftBusGetBtState(void) = 0;
43     virtual int32_t SoftBusGetBrState(void) = 0;
44     virtual void LnnHbOnTrustedRelationReduced(void) = 0;
45     virtual int32_t LnnInsertSpecificTrustedDevInfo(const char *udid) = 0;
46     virtual int32_t LnnGetNetworkIdByUuid(const char *uuid, char *buf, uint32_t len) = 0;
47     virtual int32_t LnnGetStaFrequency(const NodeInfo *info) = 0;
48     virtual int32_t LnnEncryptAesGcm(AesGcmInputParam *in, int32_t keyIndex, uint8_t **out, uint32_t *outLen) = 0;
49     virtual int32_t LnnDecryptAesGcm(AesGcmInputParam *in, uint8_t **out, uint32_t *outLen) = 0;
50     virtual int32_t LnnGetTrustedDevInfoFromDb(char **udidArray, uint32_t *num) = 0;
51     virtual int32_t LnnGetAllOnlineNodeNum(int32_t *nodeNum) = 0;
52     virtual int32_t LnnSetLocalStrInfo(InfoKey key, const char *info) = 0;
53     virtual int32_t LnnNotifyEmptySessionKey(int64_t authId) = 0;
54     virtual int32_t LnnNotifyLeaveLnnByAuthHandle(AuthHandle *authHandle);
55     virtual int32_t LnnRequestLeaveSpecific(const char *networkId, ConnectionAddrType addrType);
56     virtual int32_t LnnGetRemoteNumU64Info(const char *networkId, InfoKey key, uint64_t *info) = 0;
57     virtual int32_t SoftBusGetBtMacAddr(SoftBusBtAddr *mac) = 0;
58     virtual int32_t GetNodeFromPcRestrictMap(const char *udidHash, uint32_t *count) = 0;
59     virtual void DeleteNodeFromPcRestrictMap(const char *udidHash) = 0;
60     virtual int32_t AuthFailNotifyProofInfo(int32_t errCode, const char *errorReturn, uint32_t errorReturnLen) = 0;
61 };
62 class AuthCommonInterfaceMock : public AuthCommonInterface {
63 public:
64     AuthCommonInterfaceMock();
65     ~AuthCommonInterfaceMock() override;
66     MOCK_METHOD3(LnnGetRemoteNumU64Info, int32_t(const char *, InfoKey, uint64_t *));
67     MOCK_METHOD4(LnnAsyncCallbackDelayHelper, int32_t (SoftBusLooper *, LnnAsyncCallbackFunc, void *, uint64_t));
68     MOCK_METHOD2(LnnGetLocalNumU64Info, int32_t (InfoKey, uint64_t *));
69     MOCK_METHOD0(SoftBusGetBtState, int32_t (void));
70     MOCK_METHOD0(SoftBusGetBrState, int32_t (void));
71     MOCK_METHOD0(LnnHbOnTrustedRelationReduced, void ());
72     MOCK_METHOD1(LnnInsertSpecificTrustedDevInfo, int32_t (const char *));
73     MOCK_METHOD3(LnnGetNetworkIdByUuid, int32_t (const char *, char *, uint32_t));
74     MOCK_METHOD1(LnnGetStaFrequency, int32_t (const NodeInfo *));
75     MOCK_METHOD4(LnnEncryptAesGcm, int32_t (AesGcmInputParam *, int32_t, uint8_t **, uint32_t *));
76     MOCK_METHOD3(LnnDecryptAesGcm, int32_t (AesGcmInputParam *, uint8_t **, uint32_t *));
77     MOCK_METHOD2(LnnGetTrustedDevInfoFromDb, int32_t (char **, uint32_t *));
78     MOCK_METHOD1(LnnGetAllOnlineNodeNum, int32_t (int32_t *));
79     MOCK_METHOD2(LnnSetLocalStrInfo, int32_t (InfoKey, const char *));
80     MOCK_METHOD1(LnnNotifyEmptySessionKey, int32_t (int64_t));
81     MOCK_METHOD1(LnnNotifyLeaveLnnByAuthHandle, int32_t (AuthHandle *));
82     MOCK_METHOD2(LnnRequestLeaveSpecific, int32_t (const char *, ConnectionAddrType));
83     MOCK_METHOD1(SoftBusGetBtMacAddr, int32_t (SoftBusBtAddr *));
84     MOCK_METHOD2(GetNodeFromPcRestrictMap, int32_t (const char *, uint32_t *));
85     MOCK_METHOD1(DeleteNodeFromPcRestrictMap, void (const char *));
86     MOCK_METHOD3(AuthFailNotifyProofInfo, int32_t (int32_t, const char *, uint32_t));
87 };
88 } // namespace OHOS
89 #endif // AUTH_COMMON_MOCK_H