1 /*
2  * Copyright (c) 2022 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 LNN_CONNECTION_MOCK_H
17 #define LNN_CONNECTION_MOCK_H
18 
19 #include "auth_common.h"
20 #include "disc_interface.h"
21 #include "lnn_node_info.h"
22 #include "map"
23 #include "securec.h"
24 #include "softbus_adapter_mem.h"
25 #include "softbus_conn_interface.h"
26 #include <gmock/gmock.h>
27 #include <mutex>
28 
29 namespace OHOS {
30 class LnnConnectInterface {
31 public:
LnnConnectInterface()32     LnnConnectInterface() {};
~LnnConnectInterface()33     virtual ~LnnConnectInterface() {};
34 
35     virtual int32_t ConnGetConnectionInfo(uint32_t connectionId, ConnectionInfo *info) = 0;
36     virtual int32_t ConnSetConnectCallback(ConnModule moduleId, const ConnectCallback *callback) = 0;
37     virtual void ConnUnSetConnectCallback(ConnModule moduleId) = 0;
38     virtual int32_t ConnConnectDevice(const ConnectOption *option, uint32_t requestId, const ConnectResult *result) = 0;
39     virtual int32_t ConnDisconnectDevice(uint32_t connectionId) = 0;
40     virtual uint32_t ConnGetHeadSize(void) = 0;
41     virtual int32_t ConnPostBytes(uint32_t connectionId, ConnPostData *data) = 0;
42     virtual bool CheckActiveConnection(const ConnectOption *option, bool needOccupy) = 0;
43     virtual int32_t ConnStartLocalListening(const LocalListenerInfo *info) = 0;
44     virtual int32_t ConnStopLocalListening(const LocalListenerInfo *info) = 0;
45     virtual uint32_t ConnGetNewRequestId(ConnModule moduleId) = 0;
46     virtual void DiscDeviceInfoChanged(InfoTypeChanged type) = 0;
47     virtual int32_t ConnUpdateConnection(uint32_t connectionId, UpdateOption *option) = 0;
48 };
49 class LnnConnectInterfaceMock : public LnnConnectInterface {
50 public:
51     LnnConnectInterfaceMock();
52     ~LnnConnectInterfaceMock() override;
53     MOCK_METHOD2(ConnGetConnectionInfo, int32_t(uint32_t, ConnectionInfo *));
54     MOCK_METHOD2(ConnSetConnectCallback, int32_t(ConnModule, const ConnectCallback *));
55     MOCK_METHOD1(ConnUnSetConnectCallback, void(ConnModule));
56     MOCK_METHOD3(ConnConnectDevice, int32_t(const ConnectOption *, uint32_t, const ConnectResult *));
57     MOCK_METHOD1(ConnDisconnectDevice, int32_t(uint32_t));
58     MOCK_METHOD0(ConnGetHeadSize, uint32_t(void));
59     MOCK_METHOD2(ConnPostBytes, int32_t(uint32_t, ConnPostData *));
60     MOCK_METHOD2(CheckActiveConnection, bool(const ConnectOption *, bool));
61     MOCK_METHOD1(ConnStartLocalListening, int32_t(const LocalListenerInfo *));
62     MOCK_METHOD1(ConnStopLocalListening, int32_t(const LocalListenerInfo *));
63     MOCK_METHOD1(ConnGetNewRequestId, uint32_t(ConnModule));
64     MOCK_METHOD1(DiscDeviceInfoChanged, void(InfoTypeChanged));
65     MOCK_METHOD2(ConnUpdateConnection, int32_t(uint32_t, UpdateOption *));
66     static inline char *g_encryptData;
67     static inline ConnectCallback g_conncallback;
68     static inline ConnectResult g_connresultcb;
69     static int32_t ActionOfConnPostBytes(uint32_t connectionId, ConnPostData *data);
70     static int32_t ActionofConnSetConnectCallback(ConnModule moduleId, const ConnectCallback *callback);
71     static int32_t ActionofOnConnectSuccessed(
72         const ConnectOption *option, uint32_t requestId, const ConnectResult *result);
73     static int32_t ActionofOnConnectFailed(
74         const ConnectOption *option, uint32_t requestId, const ConnectResult *result);
75     static int32_t ActionofConnGetConnectionInfo(uint32_t connectionId, ConnectionInfo *info);
76     static void ActionofConnUnSetConnectCallback(ConnModule moduleId);
OnVerifyPassed(uint32_t requestId,AuthHandle authHandle,const NodeInfo * info)77     static void OnVerifyPassed(uint32_t requestId, AuthHandle authHandle, const NodeInfo *info)
78     {
79         (void)requestId;
80         (void)authHandle;
81         (void)info;
82         return;
83     }
onVerifyFailed(uint32_t requestId,int32_t reason)84     static void onVerifyFailed(uint32_t requestId, int32_t reason)
85     {
86         (void)requestId;
87         (void)reason;
88         return;
89     }
onConnOpened(uint32_t requestId,AuthHandle authHandle)90     static void onConnOpened(uint32_t requestId, AuthHandle authHandle)
91     {
92         (void)requestId;
93         (void)authHandle;
94         return;
95     }
onConnOpenFailed(uint32_t requestId,int32_t reason)96     static void onConnOpenFailed(uint32_t requestId, int32_t reason)
97     {
98         (void)requestId;
99         (void)reason;
100         return;
101     }
102 };
103 } // namespace OHOS
104 #endif // AUTH_CONNECTION_MOCK_H