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