• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2021 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 
18 #include <securec.h>
19 
20 #include "softbus_access_token_test.h"
21 #include "softbus_bus_center.h"
22 #include "softbus_def.h"
23 #include "softbus_errcode.h"
24 #include "softbus_utils.h"
25 #include "client_bus_center_manager.h"
26 
27 namespace OHOS {
28 using namespace testing::ext;
29 
30 constexpr char TEST_PKG_NAME[] = "com.softbus.test";
31 constexpr char TEST_PKG_NAME_1[] = "com.softbus.test1";
32 constexpr int32_t DEFAULT_NODE_STATE_CB_NUM = 9;
33 constexpr uint8_t DEFAULT_LOCAL_DEVICE_TYPE_ID = 0;
34 constexpr int32_t ERRO_CAPDATA_LEN = 514;
35 static int32_t g_subscribeId = 0;
36 static int32_t g_publishId = 0;
37 
38 class BusCenterSdkTest : public testing::Test {
39 public:
40     static void SetUpTestCase();
41     static void TearDownTestCase();
42     void SetUp();
43     void TearDown();
44 };
45 
SetUpTestCase()46 void BusCenterSdkTest::SetUpTestCase()
47 {
48     SetAceessTokenPermission("busCenterTest");
49 }
50 
TearDownTestCase()51 void BusCenterSdkTest::TearDownTestCase()
52 {
53 }
54 
SetUp()55 void BusCenterSdkTest::SetUp()
56 {
57 }
58 
TearDown()59 void BusCenterSdkTest::TearDown()
60 {
61 }
62 
GetSubscribeId(void)63 static int32_t GetSubscribeId(void)
64 {
65     g_subscribeId++;
66     return g_subscribeId;
67 }
68 
GetPublishId(void)69 static int32_t GetPublishId(void)
70 {
71     g_publishId++;
72     return g_publishId;
73 }
74 
75 static SubscribeInfo g_sInfo = {
76     .subscribeId = 1,
77     .mode = DISCOVER_MODE_ACTIVE,
78     .medium = COAP,
79     .freq = MID,
80     .isSameAccount = true,
81     .isWakeRemote = false,
82     .capability = "dvKit",
83     .capabilityData = (unsigned char *)"capdata3",
84     .dataLen = sizeof("capdata3")
85 };
86 
87 static PublishInfo g_pInfo = {
88     .publishId = 1,
89     .mode = DISCOVER_MODE_ACTIVE,
90     .medium = COAP,
91     .freq = MID,
92     .capability = "dvKit",
93     .capabilityData = (unsigned char *)"capdata4",
94     .dataLen = sizeof("capdata4")
95 };
96 
97 static PublishInfo g_pInfo1 = {
98     .publishId = 1,
99     .mode = DISCOVER_MODE_ACTIVE,
100     .medium = COAP,
101     .freq = MID,
102     .capability = "dvKit",
103     .capabilityData = nullptr,
104     .dataLen = 0
105 };
106 
107 static SubscribeInfo g_sInfo1 = {
108     .subscribeId = 1,
109     .mode = DISCOVER_MODE_ACTIVE,
110     .medium = COAP,
111     .freq = MID,
112     .isSameAccount = true,
113     .isWakeRemote = false,
114     .capability = "hicall",
115     .capabilityData = nullptr,
116     .dataLen = 0,
117 };
118 
OnNodeOnline(NodeBasicInfo * info)119 static void OnNodeOnline(NodeBasicInfo *info)
120 {
121     (void)info;
122 }
123 
124 static INodeStateCb g_nodeStateCb = {
125     .events = EVENT_NODE_STATE_ONLINE,
126     .onNodeOnline = OnNodeOnline,
127 };
128 
OnJoinLNNDone(ConnectionAddr * addr,const char * networkId,int32_t retCode)129 static void OnJoinLNNDone(ConnectionAddr *addr, const char *networkId, int32_t retCode)
130 {
131     (void)addr;
132     (void)networkId;
133     (void)retCode;
134 }
135 
OnLeaveLNNDone(const char * networkId,int32_t retCode)136 static void OnLeaveLNNDone(const char *networkId, int32_t retCode)
137 {
138     (void)networkId;
139     (void)retCode;
140 }
141 
OnTimeSyncResult(const TimeSyncResultInfo * info,int32_t retCode)142 static void OnTimeSyncResult(const TimeSyncResultInfo *info, int32_t retCode)
143 {
144     (void)info;
145     (void)retCode;
146 }
147 
148 static ITimeSyncCb g_timeSyncCb = {
149     .onTimeSyncResult = OnTimeSyncResult,
150 };
151 
TestDeviceFound(const DeviceInfo * device)152 static void TestDeviceFound(const DeviceInfo *device)
153 {
154     printf("[client]TestDeviceFound\n");
155 }
156 
TestDiscoverResult(int32_t refreshId,RefreshResult reason)157 static void TestDiscoverResult(int32_t refreshId, RefreshResult reason)
158 {
159     printf("[client]TestDiscoverResult:%d\n", reason);
160 }
161 
TestPublishResult(int publishId,PublishResult reason)162 static void TestPublishResult(int publishId, PublishResult reason)
163 {
164     printf("[client]TestPublishResult:%d\n", reason);
165 }
166 
167 static IRefreshCallback g_refreshCb = {
168     .OnDeviceFound = TestDeviceFound,
169     .OnDiscoverResult = TestDiscoverResult
170 };
171 
172 static IPublishCb g_publishCb = {
173     .OnPublishResult = TestPublishResult
174 };
175 
176 /*
177 * @tc.name: BUS_CENTER_SDK_Join_Lnn_Test_001
178 * @tc.desc: bus center JoinLNN interface exception test
179 * @tc.type: FUNC
180 * @tc.require: I5I7B9
181 */
182 HWTEST_F(BusCenterSdkTest, BUS_CENTER_SDK_Join_Lnn_Test_001, TestSize.Level0)
183 {
184     ConnectionAddr addr;
185 
186     EXPECT_TRUE(JoinLNN(nullptr, &addr, OnJoinLNNDone) != SOFTBUS_OK);
187     EXPECT_TRUE(JoinLNN(TEST_PKG_NAME, nullptr, OnJoinLNNDone) != SOFTBUS_OK);
188     EXPECT_TRUE(JoinLNN(TEST_PKG_NAME, &addr, nullptr) != SOFTBUS_OK);
189 }
190 
191 /*
192 * @tc.name: BUS_CENTER_SDK_Leave_Lnn_Test_001
193 * @tc.desc: bus center LeaveLNN interface exception test
194 * @tc.type: FUNC
195 * @tc.require: I5I7B9
196 */
197 HWTEST_F(BusCenterSdkTest, BUS_CENTER_SDK_Leave_Lnn_Test_001, TestSize.Level0)
198 {
199     char errNetIdLenMore[] = "012345678998765432100123456789987654321001234567899876543210abcde";
200     char networkId[] = "0123456789987654321001234567899876543210012345678998765432100123";
201 
202     EXPECT_TRUE(LeaveLNN(nullptr, networkId, OnLeaveLNNDone) != SOFTBUS_OK);
203     EXPECT_TRUE(LeaveLNN(TEST_PKG_NAME, nullptr, OnLeaveLNNDone) != SOFTBUS_OK);
204     EXPECT_TRUE(LeaveLNN(TEST_PKG_NAME, networkId, nullptr) != SOFTBUS_OK);
205     EXPECT_TRUE(LeaveLNN(TEST_PKG_NAME, errNetIdLenMore, OnLeaveLNNDone) != SOFTBUS_OK);
206 }
207 
208 /*
209 * @tc.name: BUS_CENTER_SDK_STATE_CB_Test_001
210 * @tc.desc: bus center node state callback reg and unreg interface test
211 * @tc.type: FUNC
212 * @tc.require: I5I7B9
213 */
214 HWTEST_F(BusCenterSdkTest, BUS_CENTER_SDK_STATE_CB_Test_001, TestSize.Level0)
215 {
216     EXPECT_TRUE(RegNodeDeviceStateCb(TEST_PKG_NAME, &g_nodeStateCb) == SOFTBUS_OK);
217     EXPECT_TRUE(UnregNodeDeviceStateCb(&g_nodeStateCb) == SOFTBUS_OK);
218 }
219 
220 /*
221 * @tc.name: BUS_CENTER_SDK_STATE_CB_Test_002
222 * @tc.desc: bus center node state callback reg and unreg upper limit interface test
223 * @tc.type: FUNC
224 * @tc.require: I5I7B9
225 */
226 HWTEST_F(BusCenterSdkTest, BUS_CENTER_SDK_STATE_CB_Test_002, TestSize.Level0)
227 {
228     int i;
229 
230     for (i = 0; i <= DEFAULT_NODE_STATE_CB_NUM; ++i) {
231         EXPECT_TRUE(RegNodeDeviceStateCb(TEST_PKG_NAME, &g_nodeStateCb) == SOFTBUS_OK);
232     }
233     for (i = 0; i < DEFAULT_NODE_STATE_CB_NUM; ++i) {
234         EXPECT_TRUE(UnregNodeDeviceStateCb(&g_nodeStateCb) == SOFTBUS_OK);
235     }
236 }
237 
238 /*
239 * @tc.name: BUS_CENTER_SDK_GET_ALL_NODE_INFO_Test_001
240 * @tc.desc: get all node info interface test
241 * @tc.type: FUNC
242 * @tc.require: I5I7B9
243 */
244 HWTEST_F(BusCenterSdkTest, BUS_CENTER_SDK_GET_ALL_NODE_INFO_Test_001, TestSize.Level0)
245 {
246     NodeBasicInfo *info = nullptr;
247     int infoNum;
248 
249     EXPECT_TRUE(GetAllNodeDeviceInfo(TEST_PKG_NAME, &info, &infoNum) == SOFTBUS_OK);
250     EXPECT_TRUE(info == nullptr);
251     EXPECT_TRUE(infoNum == 0);
252     if (info != nullptr) {
253         FreeNodeInfo(info);
254     }
255 }
256 
257 /*
258 * @tc.name: BUS_CENTER_SDK_GET_LOCAL_NODE_INFO_Test_001
259 * @tc.desc: get local info interface test
260 * @tc.type: FUNC
261 * @tc.require: I5I7B9
262 */
263 HWTEST_F(BusCenterSdkTest, BUS_CENTER_SDK_GET_LOCAL_NODE_INFO_Test_001, TestSize.Level0)
264 {
265     NodeBasicInfo info;
266 
267     EXPECT_TRUE(GetLocalNodeDeviceInfo(TEST_PKG_NAME, &info) == SOFTBUS_OK);
268     EXPECT_TRUE(strlen(info.networkId) == (NETWORK_ID_BUF_LEN - 1));
269     EXPECT_TRUE(info.deviceTypeId == DEFAULT_LOCAL_DEVICE_TYPE_ID);
270 }
271 
272 /*
273 * @tc.name: BUS_CENTER_SDK_GET_NODE_KEY_INFO_Test_001
274 * @tc.desc: get node key info interface test
275 * @tc.type: FUNC
276 * @tc.require: I5I7B9
277 */
278 HWTEST_F(BusCenterSdkTest, BUS_CENTER_SDK_GET_NODE_KEY_INFO_Test_001, TestSize.Level0)
279 {
280     NodeBasicInfo info;
281     NodeBasicInfo *remoteNodeInfo = nullptr;
282     int infoNum = 0;
283     char uuid[UUID_BUF_LEN] = {0};
284     char udid[UDID_BUF_LEN] = {0};
285     char brMac[BT_MAC_LEN] = {0};
286     char ipAddr[IP_STR_MAX_LEN] = {0};
287     char deviceName[DEVICE_NAME_BUF_LEN] = {0};
288     int32_t netCapacity= 0;
289     int32_t netType= 0;
290 
291     (void)memset_s(&info, sizeof(NodeBasicInfo), 0, sizeof(NodeBasicInfo));
292     EXPECT_TRUE(GetLocalNodeDeviceInfo(TEST_PKG_NAME, &info) == SOFTBUS_OK);
293     EXPECT_TRUE(GetNodeKeyInfo(TEST_PKG_NAME, info.networkId, NODE_KEY_UDID,
294         (uint8_t *)udid, UDID_BUF_LEN) == SOFTBUS_OK);
295     EXPECT_TRUE(GetNodeKeyInfo(TEST_PKG_NAME, info.networkId, NODE_KEY_UUID,
296         (uint8_t *)uuid, UUID_BUF_LEN) == SOFTBUS_OK);
297     EXPECT_TRUE(strlen(uuid) == (UUID_BUF_LEN - 1));
298 
299     EXPECT_TRUE(GetNodeKeyInfo(TEST_PKG_NAME, info.networkId, NODE_KEY_BR_MAC,
300         (uint8_t *)brMac, BT_MAC_LEN) == SOFTBUS_OK);
301     EXPECT_TRUE(GetNodeKeyInfo(TEST_PKG_NAME, info.networkId, NODE_KEY_IP_ADDRESS,
302         (uint8_t *)ipAddr, IP_STR_MAX_LEN) == SOFTBUS_OK);
303     EXPECT_TRUE(GetNodeKeyInfo(TEST_PKG_NAME, info.networkId, NODE_KEY_DEV_NAME,
304         (uint8_t *)deviceName, DEVICE_NAME_BUF_LEN) == SOFTBUS_OK);
305     EXPECT_TRUE(GetNodeKeyInfo(TEST_PKG_NAME, info.networkId, NODE_KEY_NETWORK_CAPABILITY,
306         (uint8_t *)&netCapacity, LNN_COMMON_LEN) == SOFTBUS_OK);
307     EXPECT_TRUE(GetNodeKeyInfo(TEST_PKG_NAME, info.networkId, NODE_KEY_NETWORK_TYPE,
308         (uint8_t *)&netType, LNN_COMMON_LEN) == SOFTBUS_OK);
309 
310     EXPECT_TRUE(GetAllNodeDeviceInfo(TEST_PKG_NAME, &remoteNodeInfo, &infoNum) == SOFTBUS_OK);
311     for (int i = 0; i < infoNum; i++) {
312         EXPECT_TRUE(GetNodeKeyInfo(TEST_PKG_NAME, (remoteNodeInfo + i)->networkId, NODE_KEY_BR_MAC,
313             (uint8_t *)brMac, BT_MAC_LEN) == SOFTBUS_OK);
314         EXPECT_TRUE(GetNodeKeyInfo(TEST_PKG_NAME, (remoteNodeInfo + i)->networkId, NODE_KEY_IP_ADDRESS,
315             (uint8_t *)ipAddr, IP_STR_MAX_LEN) == SOFTBUS_OK);
316         EXPECT_TRUE(GetNodeKeyInfo(TEST_PKG_NAME, (remoteNodeInfo + i)->networkId, NODE_KEY_DEV_NAME,
317             (uint8_t *)deviceName, DEVICE_NAME_BUF_LEN) == SOFTBUS_OK);
318         EXPECT_TRUE(GetNodeKeyInfo(TEST_PKG_NAME, (remoteNodeInfo + i)->networkId, NODE_KEY_NETWORK_CAPABILITY,
319             (uint8_t *)&netCapacity, LNN_COMMON_LEN) == SOFTBUS_OK);
320         EXPECT_TRUE(GetNodeKeyInfo(TEST_PKG_NAME, (remoteNodeInfo + i)->networkId, NODE_KEY_NETWORK_TYPE,
321             (uint8_t *)&netType, LNN_COMMON_LEN) == SOFTBUS_OK);
322     }
323     FreeNodeInfo(remoteNodeInfo);
324 }
325 
326 /*
327 * @tc.name: BUS_CENTER_SDK_START_TIME_SYNC_Test_001
328 * @tc.desc: start time sync interface test
329 * @tc.type: FUNC
330 * @tc.require: I5I7B9
331 */
332 HWTEST_F(BusCenterSdkTest, BUS_CENTER_SDK_START_TIME_SYNC_Test_001, TestSize.Level0)
333 {
334     char networkId[] = "0123456789987654321001234567899876543210012345678998765432100123";
335 
336     EXPECT_TRUE(StartTimeSync(nullptr, networkId, LOW_ACCURACY, SHORT_PERIOD, &g_timeSyncCb) != SOFTBUS_OK);
337     EXPECT_TRUE(StartTimeSync(TEST_PKG_NAME, nullptr, LOW_ACCURACY, SHORT_PERIOD, &g_timeSyncCb) != SOFTBUS_OK);
338     EXPECT_TRUE(StartTimeSync(TEST_PKG_NAME, networkId, LOW_ACCURACY, SHORT_PERIOD, &g_timeSyncCb) != SOFTBUS_OK);
339     EXPECT_TRUE(StartTimeSync(TEST_PKG_NAME, networkId, LOW_ACCURACY, SHORT_PERIOD, nullptr) != SOFTBUS_OK);
340 }
341 
342 /*
343 * @tc.name: BUS_CENTER_SDK_START_TIME_SYNC_Test_002
344 * @tc.desc: start time sync interface test
345 * @tc.type: FUNC
346 * @tc.require: I5I7B9
347 */
348 HWTEST_F(BusCenterSdkTest, BUS_CENTER_SDK_START_TIME_SYNC_Test_002, TestSize.Level0)
349 {
350     char networkId[] = "0123456789987654321001234567899876543210012345678998765432100123";
351 
352     EXPECT_TRUE(StopTimeSync(nullptr, networkId) != SOFTBUS_OK);
353     EXPECT_TRUE(StopTimeSync(TEST_PKG_NAME, nullptr) != SOFTBUS_OK);
354     EXPECT_TRUE(StopTimeSync(TEST_PKG_NAME, networkId) != SOFTBUS_OK);
355 }
356 
357 /**
358  * @tc.name: PublishLNNTest001
359  * @tc.desc: Verify wrong parameter
360  * @tc.type: FUNC
361  * @tc.require: I5I7B9
362  */
363 HWTEST_F(BusCenterSdkTest, PublishLNNTest001, TestSize.Level0)
364 {
365     int32_t ret = PublishLNN(nullptr, &g_pInfo, &g_publishCb);
366     EXPECT_TRUE(ret != 0);
367 
368     ret = PublishLNN(TEST_PKG_NAME, nullptr, &g_publishCb);
369     EXPECT_TRUE(ret != 0);
370 
371     ret = PublishLNN(TEST_PKG_NAME, &g_pInfo, nullptr);
372     EXPECT_TRUE(ret != 0);
373 
374     g_pInfo.medium = (ExchangeMedium)(COAP + 1);
375     ret = PublishLNN(TEST_PKG_NAME, &g_pInfo, &g_publishCb);
376     EXPECT_TRUE(ret != 0);
377     g_pInfo.medium = COAP;
378 
379     g_pInfo.mode = (DiscoverMode)(DISCOVER_MODE_ACTIVE + 1);
380     ret = PublishLNN(TEST_PKG_NAME, &g_pInfo, &g_publishCb);
381     EXPECT_TRUE(ret != 0);
382     g_pInfo.mode = DISCOVER_MODE_ACTIVE;
383 
384     g_pInfo.freq = (ExchangeFreq)(SUPER_HIGH + 1);
385     ret = PublishLNN(TEST_PKG_NAME, &g_pInfo, &g_publishCb);
386     EXPECT_TRUE(ret != 0);
387     g_pInfo.freq = LOW;
388 
389     g_pInfo.capabilityData = nullptr;
390     ret = PublishLNN(TEST_PKG_NAME, &g_pInfo, &g_publishCb);
391     EXPECT_TRUE(ret != 0);
392     g_pInfo.capabilityData = (unsigned char *)"capdata1";
393 
394     g_pInfo.dataLen = ERRO_CAPDATA_LEN;
395     ret = PublishLNN(TEST_PKG_NAME, &g_pInfo, &g_publishCb);
396     EXPECT_TRUE(ret != 0);
397     g_pInfo.dataLen = sizeof("capdata1");
398 }
399 
400 /**
401  * @tc.name: PublishLNNTest002
402  * @tc.desc: Verify normal case
403  * @tc.type: FUNC
404  * @tc.require: I5I7B9 I5PTUS
405  */
406 HWTEST_F(BusCenterSdkTest, PublishLNNTest002, TestSize.Level0)
407 {
408     int32_t ret;
409     int tmpId1 = GetPublishId();
410     int tmpId2 = GetPublishId();
411     int tmpId3 = GetPublishId();
412 
413     g_pInfo.publishId = tmpId1;
414     ret = PublishLNN(TEST_PKG_NAME, &g_pInfo, &g_publishCb);
415     EXPECT_TRUE(ret == 0);
416     g_pInfo1.publishId = tmpId2;
417     ret = PublishLNN(TEST_PKG_NAME, &g_pInfo1, &g_publishCb);
418     EXPECT_TRUE(ret == 0);
419     g_pInfo1.publishId = tmpId3;
420     ret = PublishLNN(TEST_PKG_NAME_1, &g_pInfo1, &g_publishCb);
421     EXPECT_TRUE(ret == 0);
422     ret = StopPublishLNN(TEST_PKG_NAME, tmpId1);
423     EXPECT_TRUE(ret == 0);
424     ret = StopPublishLNN(TEST_PKG_NAME, tmpId2);
425     EXPECT_TRUE(ret == 0);
426     ret = StopPublishLNN(TEST_PKG_NAME_1, tmpId3);
427     EXPECT_TRUE(ret == 0);
428 }
429 
430 /**
431  * @tc.name: RefreshLNNTest001
432  * @tc.desc: Verify wrong parameter
433  * @tc.type: FUNC
434  * @tc.require: I5I7B9
435  */
436 HWTEST_F(BusCenterSdkTest, RefreshLNNTest001, TestSize.Level0)
437 {
438     int ret;
439 
440     ret = RefreshLNN(nullptr, &g_sInfo, &g_refreshCb);
441     EXPECT_TRUE(ret != 0);
442 
443     ret = RefreshLNN(TEST_PKG_NAME, nullptr, &g_refreshCb);
444     EXPECT_TRUE(ret != 0);
445 
446     ret = RefreshLNN(TEST_PKG_NAME, &g_sInfo, nullptr);
447     EXPECT_TRUE(ret != 0);
448 
449     g_sInfo.medium = (ExchangeMedium)(COAP + 1);
450     ret = RefreshLNN(TEST_PKG_NAME, &g_sInfo, &g_refreshCb);
451     EXPECT_TRUE(ret != 0);
452     g_sInfo.medium = COAP;
453 
454     g_sInfo.mode = (DiscoverMode)(DISCOVER_MODE_ACTIVE + 1);
455     ret = RefreshLNN(TEST_PKG_NAME, &g_sInfo, &g_refreshCb);
456     EXPECT_TRUE(ret != 0);
457     g_sInfo.mode = DISCOVER_MODE_ACTIVE;
458 
459     g_sInfo.freq = (ExchangeFreq)(SUPER_HIGH + 1);
460     ret = RefreshLNN(TEST_PKG_NAME, &g_sInfo, &g_refreshCb);
461     EXPECT_TRUE(ret != 0);
462     g_sInfo.freq = LOW;
463 
464     g_sInfo.capabilityData = nullptr;
465     ret = RefreshLNN(TEST_PKG_NAME, &g_sInfo, &g_refreshCb);
466     EXPECT_TRUE(ret != 0);
467     g_sInfo.capabilityData = (unsigned char *)"capdata1";
468 
469     g_sInfo.dataLen = ERRO_CAPDATA_LEN;
470     ret = RefreshLNN(TEST_PKG_NAME, &g_sInfo, &g_refreshCb);
471     EXPECT_TRUE(ret != 0);
472     g_sInfo.dataLen = sizeof("capdata1");
473 }
474 
475 /**
476  * @tc.name: RefreshLNNTest002
477  * @tc.desc: Verify normal case
478  * @tc.type: FUNC
479  * @tc.require: I5I7B9 I5PTUS
480  */
481 HWTEST_F(BusCenterSdkTest, RefreshLNNTest002, TestSize.Level0)
482 {
483     int32_t ret;
484     int tmpId1 = GetSubscribeId();
485     int tmpId2 = GetSubscribeId();
486     int tmpId3 = GetSubscribeId();
487 
488     g_sInfo.subscribeId = tmpId1;
489     ret = RefreshLNN(TEST_PKG_NAME, &g_sInfo, &g_refreshCb);
490     EXPECT_TRUE(ret == 0);
491     g_sInfo1.subscribeId = tmpId2;
492     ret = RefreshLNN(TEST_PKG_NAME, &g_sInfo1, &g_refreshCb);
493     EXPECT_TRUE(ret == 0);
494     g_sInfo1.subscribeId = tmpId3;
495     ret = RefreshLNN(TEST_PKG_NAME_1, &g_sInfo1, &g_refreshCb);
496     EXPECT_TRUE(ret == 0);
497     ret = StopRefreshLNN(TEST_PKG_NAME, tmpId1);
498     EXPECT_TRUE(ret == 0);
499     ret = StopRefreshLNN(TEST_PKG_NAME, tmpId2);
500     EXPECT_TRUE(ret == 0);
501     ret = StopRefreshLNN(TEST_PKG_NAME_1, tmpId3);
502     EXPECT_TRUE(ret == 0);
503 }
504 
505 /**
506 * @tc.name: SET_NODE_DATA_CHANGE_FLAG_INNER_Test001
507 * @tc.desc: Set Node Data Change Flag Inner
508 * @tc.type: FUNC
509 * @tc.require:
510 */
511 HWTEST_F(BusCenterSdkTest, SET_NODE_DATA_CHANGE_FLAG_INNER_Test001, TestSize.Level0)
512 {
513     char pkgName[] = "test";
514     char *networkId = nullptr;
515     uint16_t dataChangeFlag = 0;
516     int32_t ret = SetNodeDataChangeFlagInner(pkgName, networkId, dataChangeFlag);
517     EXPECT_TRUE(ret == SOFTBUS_INVALID_PARAM);
518 }
519 
520 /*
521 * @tc.name: JOIN_META_NODE_INNER_Test001
522 * @tc.desc: JoinMetaNodeInner
523 * @tc.type: FUNC
524 * @tc.require:
525 */
526 HWTEST_F(BusCenterSdkTest, JOIN_META_NODE_INNER_Test001, TestSize.Level1)
527 {
528     char pkgName[] = "test";
529     CustomData customData;
530     (void)memset_s(&customData, sizeof(CustomData), 0, sizeof(CustomData));
531     OnJoinMetaNodeResult cb = nullptr;
532     ConnectionAddr *target = nullptr;
533     int32_t ret = JoinMetaNodeInner(pkgName, target, &customData, cb);
534     EXPECT_TRUE(ret == SOFTBUS_INVALID_PARAM);
535 }
536 
537 /*
538 * @tc.name: LEAVE_META_NODE_INNER_Test001
539 * @tc.desc: Leave Meta Node Inner
540 * @tc.type: FUNC
541 * @tc.require:
542 */
543 HWTEST_F(BusCenterSdkTest, LEAVE_META_NODE_INNER_Test001, TestSize.Level1)
544 {
545     char pkgName[] = "test";
546     char networkId[] = "0123456789";
547     char *networkId1 = nullptr;
548     OnLeaveMetaNodeResult cb = nullptr;
549     int32_t  ret = LeaveMetaNodeInner(pkgName, networkId1, cb);
550     EXPECT_TRUE(ret == SOFTBUS_INVALID_PARAM);
551     printf("LeaveMetaNodeInner ret2 = %d\n", ret);
552     ret = LeaveMetaNodeInner(pkgName, networkId, cb);
553     EXPECT_TRUE(ret == SOFTBUS_OK);
554     printf("LeaveMetaNodeInner ret3 = %d\n", ret);
555 }
556 
557 /*
558 * @tc.name: META_NODE_ON_JOIN_RESULT_Test001
559 * @tc.desc: Meta Node On Join Result
560 * @tc.type: FUNC
561 * @tc.require:
562 */
563 HWTEST_F(BusCenterSdkTest, META_NODE_ON_JOIN_RESULT_Test001, TestSize.Level1)
564 {
565     void *addr = nullptr;
566     char networkId[] = "0123456789";
567     int32_t retCode = SOFTBUS_OK;
568     int32_t ret = MetaNodeOnJoinResult(addr, networkId, retCode);
569     EXPECT_TRUE(ret == SOFTBUS_INVALID_PARAM);
570     ConnectionAddr connAddr;
571     (void)memset_s(&connAddr, sizeof(ConnectionAddr), 0, sizeof(ConnectionAddr));
572     addr = (void*)&connAddr;
573     ret = MetaNodeOnJoinResult(addr, networkId, retCode);
574     EXPECT_TRUE(ret == SOFTBUS_OK);
575 }
576 
577 /*
578 * @tc.name: META_NODE_ON_LEAVE_RESULT_Test001
579 * @tc.desc: Meta Node On Leave Result
580 * @tc.type: FUNC
581 * @tc.require:
582 */
583 HWTEST_F(BusCenterSdkTest, META_NODE_ON_LEAVE_RESULT_Test001, TestSize.Level1)
584 {
585     int32_t retCode = SOFTBUS_OK;
586     char networkId[] = "ABCDEFG";
587     char *networkId1 = nullptr;
588     int32_t ret = MetaNodeOnLeaveResult(networkId1, retCode);
589     EXPECT_TRUE(ret == SOFTBUS_INVALID_PARAM);
590     ret = MetaNodeOnLeaveResult(networkId, retCode);
591     EXPECT_TRUE(ret == SOFTBUS_OK);
592 }
593 
594 } // namespace OHOS
595