• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 #include <gtest/gtest.h>
17 #include <securec.h>
18 
19 #include "lnn_net_ledger_mock.h"
20 #include "softbus_adapter_mem.h"
21 #include "softbus_errcode.h"
22 #include "softbus_log.h"
23 
24 using namespace testing;
25 using namespace testing::ext;
26 
27 #define LNN_RELATION_JOIN_THREAD 1
28 
29 namespace OHOS {
30 
31 void *g_netLedgerinterface;
LnnNetLedgertInterfaceMock()32 LnnNetLedgertInterfaceMock::LnnNetLedgertInterfaceMock()
33 {
34     g_netLedgerinterface = reinterpret_cast<void *>(this);
35 }
36 
~LnnNetLedgertInterfaceMock()37 LnnNetLedgertInterfaceMock::~LnnNetLedgertInterfaceMock()
38 {
39     g_netLedgerinterface = nullptr;
40 }
41 
GetNetLedgerInterface()42 static LnnNetLedgerInterface *GetNetLedgerInterface()
43 {
44     return reinterpret_cast<LnnNetLedgerInterface *>(g_netLedgerinterface);
45 }
46 
47 extern "C" {
LnnGetLocalStrInfo(InfoKey key,char * info,uint32_t len)48 int32_t LnnGetLocalStrInfo(InfoKey key, char *info, uint32_t len)
49 {
50     return GetNetLedgerInterface()->LnnGetLocalStrInfo(key, info, len);
51 }
52 
LnnGetLocalNodeInfo(void)53 const NodeInfo *LnnGetLocalNodeInfo(void)
54 {
55     return GetNetLedgerInterface()->LnnGetLocalNodeInfo();
56 }
57 
LnnGetAuthPort(const NodeInfo * info)58 int32_t LnnGetAuthPort(const NodeInfo *info)
59 {
60     return GetNetLedgerInterface()->LnnGetAuthPort(info);
61 }
62 
LnnGetSessionPort(const NodeInfo * info)63 int32_t LnnGetSessionPort(const NodeInfo *info)
64 {
65     return GetNetLedgerInterface()->LnnGetSessionPort(info);
66 }
67 
LnnGetProxyPort(const NodeInfo * info)68 int32_t LnnGetProxyPort(const NodeInfo *info)
69 {
70     return GetNetLedgerInterface()->LnnGetProxyPort(info);
71 }
72 
LnnGetBtMac(const NodeInfo * info)73 const char *LnnGetBtMac(const NodeInfo *info)
74 {
75     return GetNetLedgerInterface()->LnnGetBtMac(info);
76 }
77 
LnnGetDeviceName(const DeviceBasicInfo * info)78 const char *LnnGetDeviceName(const DeviceBasicInfo *info)
79 {
80     return GetNetLedgerInterface()->LnnGetDeviceName(info);
81 }
82 
LnnConvertIdToDeviceType(uint16_t typeId)83 char *LnnConvertIdToDeviceType(uint16_t typeId)
84 {
85     return GetNetLedgerInterface()->LnnConvertIdToDeviceType(typeId);
86 }
87 
LnnGetP2pRole(const NodeInfo * info)88 int32_t LnnGetP2pRole(const NodeInfo *info)
89 {
90     return GetNetLedgerInterface()->LnnGetP2pRole(info);
91 }
92 
LnnGetP2pMac(const NodeInfo * info)93 const char *LnnGetP2pMac(const NodeInfo *info)
94 {
95     return GetNetLedgerInterface()->LnnGetP2pMac(info);
96 }
97 
LnnGetSupportedProtocols(const NodeInfo * info)98 uint64_t LnnGetSupportedProtocols(const NodeInfo *info)
99 {
100     return GetNetLedgerInterface()->LnnGetSupportedProtocols(info);
101 }
102 
LnnConvertDeviceTypeToId(const char * deviceType,uint16_t * typeId)103 int32_t LnnConvertDeviceTypeToId(const char *deviceType, uint16_t *typeId)
104 {
105     return GetNetLedgerInterface()->LnnConvertDeviceTypeToId(deviceType, typeId);
106 }
107 
LnnGetLocalNumInfo(InfoKey key,int32_t * info)108 int32_t LnnGetLocalNumInfo(InfoKey key, int32_t *info)
109 {
110     return GetNetLedgerInterface()->LnnGetLocalNumInfo(key, info);
111 }
112 
LnnConvertDlId(const char * srcId,IdCategory srcIdType,IdCategory dstIdType,char * dstIdBuf,uint32_t dstIdBufLen)113 int32_t LnnConvertDlId(const char *srcId, IdCategory srcIdType, IdCategory dstIdType,
114     char *dstIdBuf, uint32_t dstIdBufLen)
115 {
116     return GetNetLedgerInterface()->LnnConvertDlId(srcId, srcIdType,
117         dstIdType, dstIdBuf, dstIdBufLen);
118 }
119 
LnnSetNetCapability(uint32_t * capability,NetCapability type)120 int32_t LnnSetNetCapability(uint32_t *capability, NetCapability type)
121 {
122     return GetNetLedgerInterface()->LnnSetNetCapability(capability, type);
123 }
124 
LnnClearNetCapability(uint32_t * capability,NetCapability type)125 int32_t LnnClearNetCapability(uint32_t *capability, NetCapability type)
126 {
127     return GetNetLedgerInterface()->LnnClearNetCapability(capability, type);
128 }
129 
LnnSetP2pRole(NodeInfo * info,int32_t role)130 int32_t LnnSetP2pRole(NodeInfo *info, int32_t role)
131 {
132     return GetNetLedgerInterface()->LnnSetP2pRole(info, role);
133 }
134 
LnnSetP2pMac(NodeInfo * info,const char * p2pMac)135 int32_t LnnSetP2pMac(NodeInfo *info, const char *p2pMac)
136 {
137     return GetNetLedgerInterface()->LnnSetP2pMac(info, p2pMac);
138 }
139 
LnnSetP2pGoMac(NodeInfo * info,const char * goMac)140 int32_t LnnSetP2pGoMac(NodeInfo *info, const char *goMac)
141 {
142     return GetNetLedgerInterface()->LnnSetP2pGoMac(info, goMac);
143 }
144 
LnnGetAllOnlineAndMetaNodeInfo(NodeBasicInfo ** info,int32_t * infoNum)145 int32_t LnnGetAllOnlineAndMetaNodeInfo(NodeBasicInfo **info, int32_t *infoNum)
146 {
147     return GetNetLedgerInterface()->LnnGetAllOnlineAndMetaNodeInfo(info, infoNum);
148 }
149 
LnnGetAllOnlineNodeInfo(NodeBasicInfo ** info,int32_t * infoNum)150 int32_t LnnGetAllOnlineNodeInfo(NodeBasicInfo **info, int32_t *infoNum)
151 {
152     return GetNetLedgerInterface()->LnnGetAllOnlineNodeInfo(info, infoNum);
153 }
154 
LnnGetNodeInfoById(const char * id,IdCategory type)155 NodeInfo *LnnGetNodeInfoById(const char *id, IdCategory type)
156 {
157     return GetNetLedgerInterface()->LnnGetNodeInfoById(id, type);
158 }
159 
LnnGetLnnRelation(const char * id,IdCategory type,uint8_t * relation,uint32_t len)160 int32_t LnnGetLnnRelation(const char *id, IdCategory type, uint8_t *relation, uint32_t len)
161 {
162     return GetNetLedgerInterface()->LnnGetLnnRelation(id, type, relation, len);
163 }
164 
LnnSetDLConnCapability(const char * networkId,uint64_t connCapability)165 int32_t LnnSetDLConnCapability(const char *networkId, uint64_t connCapability)
166 {
167     return GetNetLedgerInterface()->LnnSetDLConnCapability(networkId, connCapability);
168 }
169 
LnnHasDiscoveryType(const NodeInfo * info,DiscoveryType type)170 bool LnnHasDiscoveryType(const NodeInfo *info, DiscoveryType type)
171 {
172     return GetNetLedgerInterface()->LnnHasDiscoveryType(info, type);
173 }
174 
LnnSetLocalStrInfo(InfoKey key,const char * info)175 int32_t LnnSetLocalStrInfo(InfoKey key, const char *info)
176 {
177     return GetNetLedgerInterface()->LnnSetLocalStrInfo(key, info);
178 }
179 
LnnSetLocalNumInfo(InfoKey key,int32_t info)180 int32_t LnnSetLocalNumInfo(InfoKey key, int32_t info)
181 {
182     return GetNetLedgerInterface()->LnnSetLocalNumInfo(key, info);
183 }
184 
LnnSetDLP2pInfo(const char * networkId,const P2pInfo * info)185 bool LnnSetDLP2pInfo(const char *networkId, const P2pInfo *info)
186 {
187     return GetNetLedgerInterface()->LnnSetDLP2pInfo(networkId, info);
188 }
189 
LnnIsNodeOnline(const NodeInfo * info)190 bool LnnIsNodeOnline(const NodeInfo *info)
191 {
192     return GetNetLedgerInterface()->LnnIsNodeOnline(info);
193 }
194 
LnnGetCnnCode(const char * uuid,DiscoveryType type)195 short LnnGetCnnCode(const char *uuid, DiscoveryType type)
196 {
197     return GetNetLedgerInterface()->LnnGetCnnCode(uuid, type);
198 }
199 
LnnAddOnlineNode(NodeInfo * info)200 ReportCategory LnnAddOnlineNode(NodeInfo *info)
201 {
202     return GetNetLedgerInterface()->LnnAddOnlineNode(info);
203 }
204 
LnnGetBasicInfoByUdid(const char * udid,NodeBasicInfo * basicInfo)205 int32_t LnnGetBasicInfoByUdid(const char *udid, NodeBasicInfo *basicInfo)
206 {
207     return GetNetLedgerInterface()->LnnGetBasicInfoByUdid(udid, basicInfo);
208 }
209 
LnnInsertSpecificTrustedDevInfo(const char * udid)210 int32_t LnnInsertSpecificTrustedDevInfo(const char *udid)
211 {
212     return GetNetLedgerInterface()->LnnInsertSpecificTrustedDevInfo(udid);
213 }
214 
LnnSetNodeOffline(const char * udid,ConnectionAddrType type,int32_t authId)215 ReportCategory LnnSetNodeOffline(const char *udid, ConnectionAddrType type, int32_t authId)
216 {
217     return GetNetLedgerInterface()->LnnSetNodeOffline(udid, type, authId);
218 }
219 
LnnRemoveNode(const char * udid)220 void LnnRemoveNode(const char *udid)
221 {
222     return GetNetLedgerInterface()->LnnRemoveNode(udid);
223 }
224 
LnnGetDeviceUdid(const NodeInfo * info)225 const char *LnnGetDeviceUdid(const NodeInfo *info)
226 {
227     return GetNetLedgerInterface()->LnnGetDeviceUdid(info);
228 }
229 
ActionOfLnnGetAllOnline(NodeBasicInfo ** info,int32_t * infoNum)230 int32_t LnnNetLedgertInterfaceMock::ActionOfLnnGetAllOnline(NodeBasicInfo **info, int32_t *infoNum)
231 {
232     if (info == NULL || infoNum == NULL) {
233         SoftBusLog(SOFTBUS_LOG_LNN, SOFTBUS_LOG_ERROR, "invalid para");
234         return SOFTBUS_ERR;
235     }
236     *infoNum = 1;
237     *info = (NodeBasicInfo *)SoftBusMalloc((*infoNum) * sizeof(NodeBasicInfo));
238     if (*info == NULL) {
239         SoftBusLog(SOFTBUS_LOG_LNN, SOFTBUS_LOG_INFO, "malloc info fail");
240         return SOFTBUS_ERR;
241     }
242     if (memcpy_s((*info)->networkId, sizeof((*info)->networkId), "abc", strlen("abc") + 1) != EOK) {
243         SoftBusLog(SOFTBUS_LOG_LNN, SOFTBUS_LOG_INFO, "memcpy networkId fail");
244         return SOFTBUS_ERR;
245     }
246     return SOFTBUS_OK;
247 }
248 
ActionOfLnnConvertDlId(const char * srcId,IdCategory srcIdType,IdCategory dstIdType,char * dstIdBuf,uint32_t dstIdBufLen)249 int32_t LnnNetLedgertInterfaceMock::ActionOfLnnConvertDlId(const char *srcId, IdCategory srcIdType,
250     IdCategory dstIdType, char *dstIdBuf, uint32_t dstIdBufLen)
251 {
252     if (srcId == NULL || dstIdBuf == NULL) {
253         SoftBusLog(SOFTBUS_LOG_LNN, SOFTBUS_LOG_ERROR, "invalid para");
254         return SOFTBUS_ERR;
255     }
256     if (memcpy_s(dstIdBuf, dstIdBufLen, "abc", strlen("abc") + 1) != EOK) {
257         SoftBusLog(SOFTBUS_LOG_LNN, SOFTBUS_LOG_INFO, "memcpy dstIdBuf fail");
258         return SOFTBUS_ERR;
259     }
260     return SOFTBUS_OK;
261 }
262 
ActionOfLnnConvertDlId1(const char * srcId,IdCategory srcIdType,IdCategory dstIdType,char * dstIdBuf,uint32_t dstIdBufLen)263 int32_t LnnNetLedgertInterfaceMock::ActionOfLnnConvertDlId1(const char *srcId, IdCategory srcIdType,
264     IdCategory dstIdType, char *dstIdBuf, uint32_t dstIdBufLen)
265 {
266     if (srcId == NULL || dstIdBuf == NULL) {
267         SoftBusLog(SOFTBUS_LOG_LNN, SOFTBUS_LOG_ERROR, "invalid para");
268         return SOFTBUS_ERR;
269     }
270     if (strcpy_s(dstIdBuf, dstIdBufLen, "abdef") != EOK) {
271         SoftBusLog(SOFTBUS_LOG_LNN, SOFTBUS_LOG_INFO, "memcpy dstIdBuf fail");
272         return SOFTBUS_ERR;
273     }
274     return SOFTBUS_OK;
275 }
276 
ActionOfLnnGetAllOnlineNodeInfo(NodeBasicInfo ** info,int32_t * infoNum)277 int32_t LnnNetLedgertInterfaceMock::ActionOfLnnGetAllOnlineNodeInfo(NodeBasicInfo **info, int32_t *infoNum)
278 {
279     if (info == NULL || infoNum == NULL) {
280         SoftBusLog(SOFTBUS_LOG_LNN, SOFTBUS_LOG_ERROR, "invalid para");
281         return SOFTBUS_ERR;
282     }
283     *infoNum = 1;
284     *info = (NodeBasicInfo *)SoftBusMalloc((*infoNum) * sizeof(NodeBasicInfo));
285     if (*info == NULL) {
286         SoftBusLog(SOFTBUS_LOG_LNN, SOFTBUS_LOG_INFO, "malloc info fail");
287         return SOFTBUS_ERR;
288     }
289     if (memcpy_s((*info)->networkId, sizeof((*info)->networkId), "abc", strlen("abc") + 1) != EOK) {
290         SoftBusLog(SOFTBUS_LOG_LNN, SOFTBUS_LOG_ERROR, "memcpy networkId fail");
291         return SOFTBUS_ERR;
292     }
293     return SOFTBUS_OK;
294 }
295 
ActionOfLnnGetLnnRelation(const char * id,IdCategory type,uint8_t * relation,uint32_t len)296 int32_t LnnNetLedgertInterfaceMock::ActionOfLnnGetLnnRelation(const char *id, IdCategory type,
297     uint8_t *relation, uint32_t len)
298 {
299     if (CONNECTION_ADDR_BR >= len) {
300         SoftBusLog(SOFTBUS_LOG_LNN, SOFTBUS_LOG_ERROR, "set relation fail");
301         return SOFTBUS_ERR;
302     }
303     relation[CONNECTION_ADDR_BR] = LNN_RELATION_JOIN_THREAD;
304     return SOFTBUS_OK;
305 }
306 
ActionOfLnnGetLocalStrInfo(InfoKey key,char * info,uint32_t len)307 int32_t LnnNetLedgertInterfaceMock::ActionOfLnnGetLocalStrInfo(InfoKey key, char *info, uint32_t len)
308 {
309     if (info == NULL) {
310         SoftBusLog(SOFTBUS_LOG_LNN, SOFTBUS_LOG_ERROR, "invalid para");
311         return SOFTBUS_ERR;
312     }
313     if (memcpy_s(info, len, "abc", strlen("abc") + 1) != EOK) {
314         SoftBusLog(SOFTBUS_LOG_LNN, SOFTBUS_LOG_ERROR, "memcpy info fail");
315         return SOFTBUS_ERR;
316     }
317     return SOFTBUS_OK;
318 }
319 }
320 }