1 /*
2  * Copyright (c) 2024 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 <cstdio>
17 #include <ctime>
18 #include <gtest/gtest.h>
19 #include <sys/time.h>
20 #include <unistd.h>
21 
22 #include "softbus_access_token_test.h"
23 #include "softbus_bus_center.h"
24 #include "softbus_server_frame.h"
25 #include "softbus_server_proxy.h"
26 #include "softbus_error_code.h"
27 
28 using namespace testing::ext;
29 
30 namespace OHOS {
31 static int g_subscribeId = 0;
32 static const char PKG_NAME1[] = "com.softbus.test";
33 constexpr char TEST_PKG_NAME[] = "com.softbus.test";
34 constexpr char ERRO_PKG_NAME[] = "ErroErroErroErroErroErroErroErroErroErroErroErroErroErroErroErroEErroE";
35 
36 const int32_t ERRO_CAPDATA_LEN = 514;
37 
38 class BusCenterSdkRefresh : public testing::Test {
39 public:
BusCenterSdkRefresh()40     BusCenterSdkRefresh()
41     {}
~BusCenterSdkRefresh()42     ~BusCenterSdkRefresh()
43     {}
44     static void SetUpTestCase(void);
45     static void TearDownTestCase(void);
SetUp()46     void SetUp()
47     {}
TearDown()48     void TearDown()
49     {}
50 };
51 
SetUpTestCase(void)52 void BusCenterSdkRefresh::SetUpTestCase(void)
53 {
54     InitSoftBusServer();
55     SetAceessTokenPermission("busCenterTest");
56 }
57 
TearDownTestCase(void)58 void BusCenterSdkRefresh::TearDownTestCase(void)
59 {
60 }
61 
GetSubscribeId(void)62 static int GetSubscribeId(void)
63 {
64     g_subscribeId++;
65     return g_subscribeId;
66 }
67 
68 static SubscribeInfo g_sInfo2 = {
69     .subscribeId = GetSubscribeId(),
70     .mode = DISCOVER_MODE_ACTIVE,
71     .medium = COAP,
72     .freq = MID,
73     .isSameAccount = true,
74     .isWakeRemote = false,
75     .capability = "dvKit",
76     .capabilityData = (unsigned char *)"capdata3",
77     .dataLen = strlen("capdata3")
78 };
79 
80 static SubscribeInfo g_sInfo3 = {
81     .subscribeId = GetSubscribeId(),
82     .mode = DISCOVER_MODE_ACTIVE,
83     .medium = COAP,
84     .freq = MID,
85     .isSameAccount = true,
86     .isWakeRemote = false,
87     .capability = "hicall",
88     .capabilityData = NULL,
89     .dataLen = 0
90 };
OnDiscoverResult(int32_t refreshId,RefreshResult Reason)91 static void OnDiscoverResult(int32_t refreshId, RefreshResult Reason)
92 {
93     printf("[client]TestDiscoverResult\n");
94 }
95 
TestDeviceFound(const DeviceInfo * device)96 static void TestDeviceFound(const DeviceInfo *device)
97 {
98     printf("[client]TestDeviceFound\n");
99 }
100 
TestRangeDeviceFound(const DeviceInfo * device)101 static void TestRangeDeviceFound(const DeviceInfo *device)
102 {
103     printf("TestRangeDeviceFound rang:%d\n", device->range);
104 }
105 
106 static IRefreshCallback g_refreshCb1 = {
107     .OnDeviceFound = TestDeviceFound,
108     .OnDiscoverResult = OnDiscoverResult
109 };
110 
111 static IRefreshCallback g_refreshCb2 = {
112     .OnDeviceFound = TestRangeDeviceFound,
113     .OnDiscoverResult = OnDiscoverResult
114 };
115 
116 /**
117  * @tc.name: RefreshLNNTest001
118  * @tc.desc: Test active discovery mode, use wrong Subscribeinfo in COAP medium.
119  * @tc.in: Test module, Test number, Test levels.
120  * @tc.out: NonZero
121  * @tc.type: FUNC
122  * @tc.require: The RefreshLNN operates normally.
123  */
124 HWTEST_F(BusCenterSdkRefresh, RefreshLNNTest001, TestSize.Level1)
125 {
126     int ret;
127     SubscribeInfo testInfo = {
128         .subscribeId = GetSubscribeId(),
129         .mode = DISCOVER_MODE_ACTIVE,
130         .medium = COAP,
131         .freq = MID,
132         .isSameAccount = true,
133         .isWakeRemote = false,
134         .capability = "dvKit",
135         .capabilityData = (unsigned char *)"capdata3",
136         .dataLen = strlen("capdata3")
137     };
138 
139     ret = RefreshLNN(NULL, &testInfo, &g_refreshCb1);
140     EXPECT_TRUE(ret != 0);
141 
142     ret = RefreshLNN(TEST_PKG_NAME, NULL, &g_refreshCb1);
143     EXPECT_TRUE(ret != 0);
144 
145     ret = RefreshLNN(TEST_PKG_NAME, &testInfo, NULL);
146     EXPECT_TRUE(ret != 0);
147 
148     testInfo.medium = (ExchangeMedium)(COAP + 1);
149     ret = RefreshLNN(TEST_PKG_NAME, &testInfo, &g_refreshCb1);
150     EXPECT_TRUE(ret != 0);
151     testInfo.medium = COAP;
152 
153     testInfo.mode = (DiscoverMode)(DISCOVER_MODE_ACTIVE + 1);
154     ret = RefreshLNN(TEST_PKG_NAME, &testInfo, &g_refreshCb1);
155     EXPECT_TRUE(ret != 0);
156     testInfo.mode = DISCOVER_MODE_ACTIVE;
157 
158     testInfo.freq = (ExchangeFreq)(FREQ_BUTT);
159     ret = RefreshLNN(TEST_PKG_NAME, &testInfo, &g_refreshCb1);
160     EXPECT_TRUE(ret != 0);
161     testInfo.freq = LOW;
162 
163     testInfo.capabilityData = NULL;
164     ret = RefreshLNN(TEST_PKG_NAME, &testInfo, &g_refreshCb1);
165     EXPECT_TRUE(ret != 0);
166     testInfo.capabilityData = (unsigned char *)"capdata1";
167 
168     testInfo.dataLen = ERRO_CAPDATA_LEN;
169     ret = RefreshLNN(TEST_PKG_NAME, &testInfo, &g_refreshCb1);
170     EXPECT_TRUE(ret != 0);
171 }
172 
173 /**
174  * @tc.name: RefreshLNNTest002
175  * @tc.desc: Test passive discovery mode, use wrong Subscribeinfo in COAP medium.
176  * @tc.in: Test module, Test number, Test levels.
177  * @tc.out: NonZero
178  * @tc.type: FUNC
179  * @tc.require: The RefreshLNN operates normally.
180  */
181 HWTEST_F(BusCenterSdkRefresh, RefreshLNNTest002, TestSize.Level1)
182 {
183     int ret;
184     SubscribeInfo testInfo = {
185         .subscribeId = GetSubscribeId(),
186         .mode = DISCOVER_MODE_PASSIVE,
187         .medium = COAP,
188         .freq = MID,
189         .isSameAccount = true,
190         .isWakeRemote = false,
191         .capability = "dvKit",
192         .capabilityData = (unsigned char *)"capdata3",
193         .dataLen = strlen("capdata3")
194     };
195 
196     ret = RefreshLNN(NULL, &testInfo, &g_refreshCb1);
197     EXPECT_TRUE(ret != 0);
198 
199     ret = RefreshLNN(TEST_PKG_NAME, NULL, &g_refreshCb1);
200     EXPECT_TRUE(ret != 0);
201 
202     ret = RefreshLNN(TEST_PKG_NAME, &testInfo, NULL);
203     EXPECT_TRUE(ret != 0);
204 
205     testInfo.medium = (ExchangeMedium)(COAP + 1);
206     ret = RefreshLNN(TEST_PKG_NAME, &testInfo, &g_refreshCb1);
207     EXPECT_TRUE(ret != 0);
208     testInfo.medium = COAP;
209 
210     testInfo.mode = (DiscoverMode)(DISCOVER_MODE_ACTIVE + 1);
211     ret = RefreshLNN(TEST_PKG_NAME, &testInfo, &g_refreshCb1);
212     EXPECT_TRUE(ret != 0);
213     testInfo.mode = DISCOVER_MODE_ACTIVE;
214 
215     testInfo.freq = (ExchangeFreq)(FREQ_BUTT);
216     ret = RefreshLNN(TEST_PKG_NAME, &testInfo, &g_refreshCb1);
217     EXPECT_TRUE(ret != 0);
218     testInfo.freq = LOW;
219 
220     testInfo.capabilityData = NULL;
221     ret = RefreshLNN(TEST_PKG_NAME, &testInfo, &g_refreshCb1);
222     EXPECT_TRUE(ret != 0);
223     testInfo.capabilityData = (unsigned char *)"capdata1";
224 
225     testInfo.dataLen = ERRO_CAPDATA_LEN;
226     ret = RefreshLNN(TEST_PKG_NAME, &testInfo, &g_refreshCb1);
227     EXPECT_TRUE(ret != 0);
228 }
229 
230 /**
231  * @tc.name: RefreshLNNTest003
232  * @tc.desc: Test active discovery mode, use wrong Subscribeinfo in COAP medium.
233  * @tc.in: Test module, Test number, Test levels.
234  * @tc.out: NonZero
235  * @tc.type: FUNC
236  * @tc.require: The RefreshLNN operates normally.
237  */
238 HWTEST_F(BusCenterSdkRefresh, RefreshLNNTest003, TestSize.Level1)
239 {
240     int ret;
241     SubscribeInfo testInfo = {
242         .subscribeId = GetSubscribeId(),
243         .mode = DISCOVER_MODE_ACTIVE,
244         .medium = COAP,
245         .freq = MID,
246         .isSameAccount = true,
247         .isWakeRemote = false,
248         .capability = "dvKit",
249         .capabilityData = (unsigned char *)"capdata3",
250         .dataLen = strlen("capdata3")
251     };
252 
253     ret = RefreshLNN(NULL, &testInfo, &g_refreshCb1);
254     EXPECT_TRUE(ret != 0);
255 
256     ret = RefreshLNN(PKG_NAME1, NULL, &g_refreshCb1);
257     EXPECT_TRUE(ret != 0);
258 
259     ret = RefreshLNN(PKG_NAME1, &testInfo, NULL);
260     EXPECT_TRUE(ret != 0);
261 
262     testInfo.medium = (ExchangeMedium)(COAP + 1);
263     ret = RefreshLNN(PKG_NAME1, &testInfo, &g_refreshCb1);
264     EXPECT_TRUE(ret != 0);
265     testInfo.medium = COAP;
266 
267     testInfo.mode = (DiscoverMode)(DISCOVER_MODE_ACTIVE + 1);
268     ret = RefreshLNN(PKG_NAME1, &testInfo, &g_refreshCb1);
269     EXPECT_TRUE(ret != 0);
270     testInfo.mode = DISCOVER_MODE_ACTIVE;
271 
272     testInfo.freq = (ExchangeFreq)(FREQ_BUTT);
273     ret = RefreshLNN(PKG_NAME1, &testInfo, &g_refreshCb1);
274     EXPECT_TRUE(ret != 0);
275     testInfo.freq = LOW;
276 
277     testInfo.capabilityData = NULL;
278     ret = RefreshLNN(PKG_NAME1, &testInfo, &g_refreshCb1);
279     EXPECT_TRUE(ret != 0);
280     testInfo.capabilityData = (unsigned char *)"capdata1";
281 
282     testInfo.dataLen = ERRO_CAPDATA_LEN;
283     ret = RefreshLNN(PKG_NAME1, &testInfo, &g_refreshCb1);
284     EXPECT_TRUE(ret != 0);
285 }
286 
287 /**
288  * @tc.name: RefreshLNNTest004
289  * @tc.desc: Test passive discovery mode, use wrong Subscribeinfo in COAP medium.
290  * @tc.in: Test module, Test number, Test levels.
291  * @tc.out: NonZero
292  * @tc.type: FUNC
293  * @tc.require: The RefreshLNN operates normally.
294  */
295 HWTEST_F(BusCenterSdkRefresh, RefreshLNNTest004, TestSize.Level1)
296 {
297     int ret;
298     SubscribeInfo testInfo = {
299         .subscribeId = GetSubscribeId(),
300         .mode = DISCOVER_MODE_PASSIVE,
301         .medium = COAP,
302         .freq = MID,
303         .isSameAccount = true,
304         .isWakeRemote = false,
305         .capability = "dvKit",
306         .capabilityData = (unsigned char *)"capdata3",
307         .dataLen = strlen("capdata3")
308     };
309 
310     ret = RefreshLNN(NULL, &testInfo, &g_refreshCb1);
311     EXPECT_TRUE(ret != 0);
312 
313     ret = RefreshLNN(PKG_NAME1, NULL, &g_refreshCb1);
314     EXPECT_TRUE(ret != 0);
315 
316     ret = RefreshLNN(PKG_NAME1, &testInfo, NULL);
317     EXPECT_TRUE(ret != 0);
318 
319     testInfo.medium = (ExchangeMedium)(COAP + 1);
320     ret = RefreshLNN(PKG_NAME1, &testInfo, &g_refreshCb1);
321     EXPECT_TRUE(ret != 0);
322     testInfo.medium = COAP;
323 
324     testInfo.mode = (DiscoverMode)(DISCOVER_MODE_ACTIVE + 1);
325     ret = RefreshLNN(PKG_NAME1, &testInfo, &g_refreshCb1);
326     EXPECT_TRUE(ret != 0);
327     testInfo.mode = DISCOVER_MODE_ACTIVE;
328 
329     testInfo.freq = (ExchangeFreq)(FREQ_BUTT);
330     ret = RefreshLNN(PKG_NAME1, &testInfo, &g_refreshCb1);
331     EXPECT_TRUE(ret != 0);
332     testInfo.freq = LOW;
333 
334     testInfo.capabilityData = NULL;
335     ret = RefreshLNN(PKG_NAME1, &testInfo, &g_refreshCb1);
336     EXPECT_TRUE(ret != 0);
337     testInfo.capabilityData = (unsigned char *)"capdata1";
338 
339     testInfo.dataLen = ERRO_CAPDATA_LEN;
340     ret = RefreshLNN(PKG_NAME1, &testInfo, &g_refreshCb1);
341     EXPECT_TRUE(ret != 0);
342 }
343 
344 /**
345  * @tc.name: RefreshLNNTest005
346  * @tc.desc: Test active discovery mode, use wrong Subscribeinfo in AUTO medium.
347  * @tc.in: Test module, Test number, Test levels.
348  * @tc.out: NonZero
349  * @tc.type: FUNC
350  * @tc.require: The RefreshLNN operates normally.
351  */
352 HWTEST_F(BusCenterSdkRefresh, RefreshLNNTest005, TestSize.Level1)
353 {
354     int ret;
355     SubscribeInfo testInfo = {
356         .subscribeId = GetSubscribeId(),
357         .mode = DISCOVER_MODE_ACTIVE,
358         .medium = AUTO,
359         .freq = MID,
360         .isSameAccount = true,
361         .isWakeRemote = false,
362         .capability = "dvKit",
363         .capabilityData = (unsigned char *)"capdata3",
364         .dataLen = strlen("capdata3")
365     };
366 
367     ret = RefreshLNN(NULL, &testInfo, &g_refreshCb1);
368     EXPECT_TRUE(ret != 0);
369 
370     ret = RefreshLNN(PKG_NAME1, NULL, &g_refreshCb1);
371     EXPECT_TRUE(ret != 0);
372 
373     ret = RefreshLNN(PKG_NAME1, &testInfo, NULL);
374     EXPECT_TRUE(ret != 0);
375 
376     testInfo.medium = (ExchangeMedium)(AUTO + 3);
377     ret = RefreshLNN(PKG_NAME1, &testInfo, &g_refreshCb1);
378     EXPECT_TRUE(ret != 0);
379     testInfo.medium = AUTO;
380 
381     testInfo.mode = (DiscoverMode)(DISCOVER_MODE_ACTIVE + 1);
382     ret = RefreshLNN(PKG_NAME1, &testInfo, &g_refreshCb1);
383     EXPECT_TRUE(ret != 0);
384     testInfo.mode = DISCOVER_MODE_ACTIVE;
385 
386     testInfo.freq = (ExchangeFreq)(FREQ_BUTT);
387     ret = RefreshLNN(PKG_NAME1, &testInfo, &g_refreshCb1);
388     EXPECT_TRUE(ret != 0);
389     testInfo.freq = LOW;
390 
391     testInfo.capabilityData = NULL;
392     ret = RefreshLNN(PKG_NAME1, &testInfo, &g_refreshCb1);
393     EXPECT_TRUE(ret != 0);
394     testInfo.capabilityData = (unsigned char *)"capdata1";
395 
396     testInfo.dataLen = ERRO_CAPDATA_LEN;
397     ret = RefreshLNN(PKG_NAME1, &testInfo, &g_refreshCb1);
398     EXPECT_TRUE(ret != 0);
399 }
400 
401 /**
402  * @tc.name: RefreshLNNTest006
403  * @tc.desc: Test passive discovery mode, use wrong Subscribeinfo in AUTO medium.
404  * @tc.in: Test module, Test number, Test levels.
405  * @tc.out: NonZero
406  * @tc.type: FUNC
407  * @tc.require: The RefreshLNN operates normally.
408  */
409 HWTEST_F(BusCenterSdkRefresh, RefreshLNNTest006, TestSize.Level1)
410 {
411     int ret;
412     SubscribeInfo testInfo = {
413         .subscribeId = GetSubscribeId(),
414         .mode = DISCOVER_MODE_PASSIVE,
415         .medium = AUTO,
416         .freq = MID,
417         .isSameAccount = true,
418         .isWakeRemote = false,
419         .capability = "dvKit",
420         .capabilityData = (unsigned char *)"capdata3",
421         .dataLen = strlen("capdata3")
422     };
423 
424     ret = RefreshLNN(NULL, &testInfo, &g_refreshCb1);
425     EXPECT_TRUE(ret != 0);
426 
427     ret = RefreshLNN(PKG_NAME1, NULL, &g_refreshCb1);
428     EXPECT_TRUE(ret != 0);
429 
430     ret = RefreshLNN(PKG_NAME1, &testInfo, NULL);
431     EXPECT_TRUE(ret != 0);
432 
433     testInfo.medium = (ExchangeMedium)(AUTO + 3);
434     ret = RefreshLNN(PKG_NAME1, &testInfo, &g_refreshCb1);
435     EXPECT_TRUE(ret != 0);
436     testInfo.medium = AUTO;
437 
438     testInfo.mode = (DiscoverMode)(DISCOVER_MODE_ACTIVE + 1);
439     ret = RefreshLNN(PKG_NAME1, &testInfo, &g_refreshCb1);
440     EXPECT_TRUE(ret != 0);
441     testInfo.mode = DISCOVER_MODE_ACTIVE;
442 
443     testInfo.freq = (ExchangeFreq)(FREQ_BUTT);
444     ret = RefreshLNN(PKG_NAME1, &testInfo, &g_refreshCb1);
445     EXPECT_TRUE(ret != 0);
446     testInfo.freq = LOW;
447 
448     testInfo.capabilityData = NULL;
449     ret = RefreshLNN(PKG_NAME1, &testInfo, &g_refreshCb1);
450     EXPECT_TRUE(ret != 0);
451     testInfo.capabilityData = (unsigned char *)"capdata1";
452 
453     testInfo.dataLen = ERRO_CAPDATA_LEN;
454     ret = RefreshLNN(PKG_NAME1, &testInfo, &g_refreshCb1);
455     EXPECT_TRUE(ret != 0);
456 }
457 
458 /**
459  * @tc.name: RefreshLNNTest007
460  * @tc.desc: Test active discovery mode, use wrong Subscribeinfo in BLE medium.
461  * @tc.in: Test module, Test number, Test levels.
462  * @tc.out: NonZero
463  * @tc.type: FUNC
464  * @tc.require: The RefreshLNN operates normally.
465  */
466 HWTEST_F(BusCenterSdkRefresh, RefreshLNNTest007, TestSize.Level1)
467 {
468     int ret;
469     SubscribeInfo testInfo = {
470         .subscribeId = GetSubscribeId(),
471         .mode = DISCOVER_MODE_ACTIVE,
472         .medium = BLE,
473         .freq = MID,
474         .isSameAccount = true,
475         .isWakeRemote = false,
476         .capability = "dvKit",
477         .capabilityData = (unsigned char *)"capdata3",
478         .dataLen = strlen("capdata3")
479     };
480 
481     ret = RefreshLNN(NULL, &testInfo, &g_refreshCb1);
482     EXPECT_TRUE(ret != 0);
483 
484     ret = RefreshLNN(PKG_NAME1, NULL, &g_refreshCb1);
485     EXPECT_TRUE(ret != 0);
486 
487     ret = RefreshLNN(PKG_NAME1, &testInfo, NULL);
488     EXPECT_TRUE(ret != 0);
489 
490     testInfo.medium = (ExchangeMedium)(BLE + 2);
491     ret = RefreshLNN(PKG_NAME1, &testInfo, &g_refreshCb1);
492     EXPECT_TRUE(ret != 0);
493     testInfo.medium = BLE;
494 
495     testInfo.mode = (DiscoverMode)(DISCOVER_MODE_ACTIVE + 1);
496     ret = RefreshLNN(PKG_NAME1, &testInfo, &g_refreshCb1);
497     EXPECT_TRUE(ret != 0);
498     testInfo.mode = DISCOVER_MODE_ACTIVE;
499 
500     testInfo.freq = (ExchangeFreq)(FREQ_BUTT);
501     ret = RefreshLNN(PKG_NAME1, &testInfo, &g_refreshCb1);
502     EXPECT_TRUE(ret != 0);
503     testInfo.freq = LOW;
504 
505     testInfo.capabilityData = NULL;
506     ret = RefreshLNN(PKG_NAME1, &testInfo, &g_refreshCb1);
507     EXPECT_TRUE(ret != 0);
508     testInfo.capabilityData = (unsigned char *)"capdata1";
509 
510     testInfo.dataLen = ERRO_CAPDATA_LEN;
511     ret = RefreshLNN(PKG_NAME1, &testInfo, &g_refreshCb1);
512     EXPECT_TRUE(ret != 0);
513 }
514 
515 /**
516  * @tc.name: RefreshLNNTest008
517  * @tc.desc: Test passive discovery mode, use wrong Subscribeinfo in BLE medium.
518  * @tc.in: Test module, Test number, Test levels.
519  * @tc.out: NonZero
520  * @tc.type: FUNC
521  * @tc.require: The RefreshLNN operates normally.
522  */
523 HWTEST_F(BusCenterSdkRefresh, RefreshLNNTest008, TestSize.Level1)
524 {
525     int ret;
526     SubscribeInfo testInfo = {
527         .subscribeId = GetSubscribeId(),
528         .mode = DISCOVER_MODE_PASSIVE,
529         .medium = BLE,
530         .freq = MID,
531         .isSameAccount = true,
532         .isWakeRemote = false,
533         .capability = "dvKit",
534         .capabilityData = (unsigned char *)"capdata3",
535         .dataLen = strlen("capdata3")
536     };
537 
538     ret = RefreshLNN(NULL, &testInfo, &g_refreshCb1);
539     EXPECT_TRUE(ret != 0);
540 
541     ret = RefreshLNN(PKG_NAME1, NULL, &g_refreshCb1);
542     EXPECT_TRUE(ret != 0);
543 
544     ret = RefreshLNN(PKG_NAME1, &testInfo, NULL);
545     EXPECT_TRUE(ret != 0);
546 
547     testInfo.medium = (ExchangeMedium)(BLE + 2);
548     ret = RefreshLNN(PKG_NAME1, &testInfo, &g_refreshCb1);
549     EXPECT_TRUE(ret != 0);
550     testInfo.medium = BLE;
551 
552     testInfo.mode = (DiscoverMode)(DISCOVER_MODE_ACTIVE + 1);
553     ret = RefreshLNN(PKG_NAME1, &testInfo, &g_refreshCb1);
554     EXPECT_TRUE(ret != 0);
555     testInfo.mode = DISCOVER_MODE_ACTIVE;
556 
557     testInfo.freq = (ExchangeFreq)(FREQ_BUTT);
558     ret = RefreshLNN(PKG_NAME1, &testInfo, &g_refreshCb1);
559     EXPECT_TRUE(ret != 0);
560     testInfo.freq = LOW;
561 
562     testInfo.capabilityData = NULL;
563     ret = RefreshLNN(PKG_NAME1, &testInfo, &g_refreshCb1);
564     EXPECT_TRUE(ret != 0);
565     testInfo.capabilityData = (unsigned char *)"capdata1";
566 
567     testInfo.dataLen = ERRO_CAPDATA_LEN;
568     ret = RefreshLNN(PKG_NAME1, &testInfo, &g_refreshCb1);
569     EXPECT_TRUE(ret != 0);
570 }
571 
572 /**
573  * @tc.name: StopRefreshLNNTest001
574  * @tc.desc: Verify stop discovery wrong parameter in BLE medium.
575  * @tc.in: Test module, Test number, Test levels.
576  * @tc.out: NonZero
577  * @tc.type: FUNC
578  * @tc.require: The StopRefreshLNN operates normally.
579  */
580 HWTEST_F(BusCenterSdkRefresh, StopRefreshLNNTest001, TestSize.Level1)
581 {
582     int ret;
583     int tmpId = GetSubscribeId();
584     g_sInfo2.subscribeId = tmpId;
585 
586     RefreshLNN(TEST_PKG_NAME, &g_sInfo2, &g_refreshCb1);
587     ret = StopRefreshLNN(NULL, tmpId);
588     EXPECT_TRUE(ret != 0);
589     ret = StopRefreshLNN(ERRO_PKG_NAME, tmpId);
590     EXPECT_TRUE(ret != 0);
591 }
592 
593 /**
594  * @tc.name: StopRefreshLNNTest002
595  * @tc.desc: Verify stop discovery wrong parameter in COAP medium.
596  * @tc.in: Test module, Test number, Test levels.
597  * @tc.out: NonZero
598  * @tc.type: FUNC
599  * @tc.require: The StopRefreshLNN operates normally.
600  */
601 HWTEST_F(BusCenterSdkRefresh, StopRefreshLNNTest002, TestSize.Level1)
602 {
603     int ret;
604     int tmpId = GetSubscribeId();
605     g_sInfo2.subscribeId = tmpId;
606 
607     RefreshLNN(PKG_NAME1, &g_sInfo2, &g_refreshCb1);
608     ret = StopRefreshLNN(NULL, tmpId);
609     EXPECT_TRUE(ret != 0);
610     ret = StopRefreshLNN(ERRO_PKG_NAME, tmpId);
611     EXPECT_TRUE(ret != 0);
612 }
613 
614 /**
615  * @tc.name: StopRefreshLNNTest003
616  * @tc.desc: Verify stop discovery wrong parameter in AUTO medium.
617  * @tc.in: Test module, Test number, Test levels.
618  * @tc.out: NonZero
619  * @tc.type: FUNC
620  * @tc.require: The StopRefreshLNN operates normally.
621  */
622 HWTEST_F(BusCenterSdkRefresh, StopRefreshLNNTest003, TestSize.Level1)
623 {
624     int ret;
625     int tmpId = GetSubscribeId();
626     g_sInfo2.subscribeId = tmpId;
627 
628     RefreshLNN(PKG_NAME1, &g_sInfo2, &g_refreshCb1);
629     ret = StopRefreshLNN(NULL, tmpId);
630     EXPECT_TRUE(ret != 0);
631     ret = StopRefreshLNN(ERRO_PKG_NAME, tmpId);
632     EXPECT_TRUE(ret != 0);
633 }
634 } // namespace OHOS