1060ff233Sopenharmony_ci/* 2060ff233Sopenharmony_ci * Copyright (c) 2021-2024 Huawei Device Co., Ltd. 3060ff233Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 4060ff233Sopenharmony_ci * you may not use this file except in compliance with the License. 5060ff233Sopenharmony_ci * You may obtain a copy of the License at 6060ff233Sopenharmony_ci * 7060ff233Sopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 8060ff233Sopenharmony_ci * 9060ff233Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software 10060ff233Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 11060ff233Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12060ff233Sopenharmony_ci * See the License for the specific language governing permissions and 13060ff233Sopenharmony_ci * limitations under the License. 14060ff233Sopenharmony_ci */ 15060ff233Sopenharmony_ci 16060ff233Sopenharmony_ci#include <cstdio> 17060ff233Sopenharmony_ci#include <ctime> 18060ff233Sopenharmony_ci#include <gtest/gtest.h> 19060ff233Sopenharmony_ci#include <sys/time.h> 20060ff233Sopenharmony_ci#include <unistd.h> 21060ff233Sopenharmony_ci 22060ff233Sopenharmony_ci#include "client_bus_center_manager.h" 23060ff233Sopenharmony_ci#include "disc_sdk_test_bt_status.h" 24060ff233Sopenharmony_ci#include "softbus_access_token_test.h" 25060ff233Sopenharmony_ci#include "softbus_bus_center.h" 26060ff233Sopenharmony_ci#include "softbus_error_code.h" 27060ff233Sopenharmony_ci 28060ff233Sopenharmony_ciusing namespace testing::ext; 29060ff233Sopenharmony_ci 30060ff233Sopenharmony_cinamespace OHOS { 31060ff233Sopenharmony_cistatic int32_t g_subscribeId = 0; 32060ff233Sopenharmony_cistatic int32_t g_publishId = 0; 33060ff233Sopenharmony_cistatic const char *g_pkgName = "Softbus_Kits"; 34060ff233Sopenharmony_cistatic const char *g_pkgName_1 = "Softbus_Kits_1"; 35060ff233Sopenharmony_cistatic const char *g_erroPkgName = "Softbus_Erro_Kits"; 36060ff233Sopenharmony_cistatic const char *g_erroPkgName1 = "ErroErroErroErroErroErroErroErroErroErroErroErroErroErroErroErroEErroE"; 37060ff233Sopenharmony_ci 38060ff233Sopenharmony_ciconst int32_t ERRO_CAPDATA_LEN = 514; 39060ff233Sopenharmony_ci 40060ff233Sopenharmony_ciclass DiscSdkTest : public testing::Test { 41060ff233Sopenharmony_cipublic: 42060ff233Sopenharmony_ci DiscSdkTest() 43060ff233Sopenharmony_ci {} 44060ff233Sopenharmony_ci ~DiscSdkTest() 45060ff233Sopenharmony_ci {} 46060ff233Sopenharmony_ci static void SetUpTestCase(void); 47060ff233Sopenharmony_ci static void TearDownTestCase(void); 48060ff233Sopenharmony_ci void SetUp() override 49060ff233Sopenharmony_ci {} 50060ff233Sopenharmony_ci void TearDown() override 51060ff233Sopenharmony_ci {} 52060ff233Sopenharmony_ci}; 53060ff233Sopenharmony_ci 54060ff233Sopenharmony_civoid DiscSdkTest::SetUpTestCase(void) 55060ff233Sopenharmony_ci{ 56060ff233Sopenharmony_ci SetAceessTokenPermission("discTest"); 57060ff233Sopenharmony_ci} 58060ff233Sopenharmony_ci 59060ff233Sopenharmony_civoid DiscSdkTest::TearDownTestCase(void) 60060ff233Sopenharmony_ci{} 61060ff233Sopenharmony_ci 62060ff233Sopenharmony_cistatic int32_t GetSubscribeId(void) 63060ff233Sopenharmony_ci{ 64060ff233Sopenharmony_ci g_subscribeId++; 65060ff233Sopenharmony_ci return g_subscribeId; 66060ff233Sopenharmony_ci} 67060ff233Sopenharmony_ci 68060ff233Sopenharmony_cistatic int32_t GetPublishId(void) 69060ff233Sopenharmony_ci{ 70060ff233Sopenharmony_ci g_publishId++; 71060ff233Sopenharmony_ci return g_publishId; 72060ff233Sopenharmony_ci} 73060ff233Sopenharmony_ci 74060ff233Sopenharmony_cistatic SubscribeInfo g_sInfo = { 75060ff233Sopenharmony_ci .subscribeId = 1, 76060ff233Sopenharmony_ci .mode = DISCOVER_MODE_PASSIVE, 77060ff233Sopenharmony_ci .medium = COAP, 78060ff233Sopenharmony_ci .freq = MID, 79060ff233Sopenharmony_ci .isSameAccount = true, 80060ff233Sopenharmony_ci .isWakeRemote = false, 81060ff233Sopenharmony_ci .capability = "dvKit", 82060ff233Sopenharmony_ci .capabilityData = (unsigned char *)"capdata3", 83060ff233Sopenharmony_ci .dataLen = (unsigned int) strlen("capdata3") 84060ff233Sopenharmony_ci}; 85060ff233Sopenharmony_ci 86060ff233Sopenharmony_cistatic PublishInfo g_pInfo = { 87060ff233Sopenharmony_ci .publishId = 1, 88060ff233Sopenharmony_ci .mode = DISCOVER_MODE_PASSIVE, 89060ff233Sopenharmony_ci .medium = COAP, 90060ff233Sopenharmony_ci .freq = MID, 91060ff233Sopenharmony_ci .capability = "dvKit", 92060ff233Sopenharmony_ci .capabilityData = (unsigned char *)"capdata4", 93060ff233Sopenharmony_ci .dataLen = (unsigned int) strlen("capdata4") 94060ff233Sopenharmony_ci}; 95060ff233Sopenharmony_ci 96060ff233Sopenharmony_cistatic PublishInfo g_pInfo1 = { 97060ff233Sopenharmony_ci .publishId = 1, 98060ff233Sopenharmony_ci .mode = DISCOVER_MODE_PASSIVE, 99060ff233Sopenharmony_ci .medium = COAP, 100060ff233Sopenharmony_ci .freq = MID, 101060ff233Sopenharmony_ci .capability = "dvKit", 102060ff233Sopenharmony_ci .capabilityData = nullptr, 103060ff233Sopenharmony_ci .dataLen = 0 104060ff233Sopenharmony_ci}; 105060ff233Sopenharmony_ci 106060ff233Sopenharmony_cistatic SubscribeInfo g_sInfo1 = { 107060ff233Sopenharmony_ci .subscribeId = 1, 108060ff233Sopenharmony_ci .mode = DISCOVER_MODE_PASSIVE, 109060ff233Sopenharmony_ci .medium = COAP, 110060ff233Sopenharmony_ci .freq = MID, 111060ff233Sopenharmony_ci .isSameAccount = true, 112060ff233Sopenharmony_ci .isWakeRemote = false, 113060ff233Sopenharmony_ci .capability = "hicall", 114060ff233Sopenharmony_ci .capabilityData = nullptr, 115060ff233Sopenharmony_ci .dataLen = 0 116060ff233Sopenharmony_ci}; 117060ff233Sopenharmony_ci 118060ff233Sopenharmony_cistatic PublishInfo g_publishInfo = { 119060ff233Sopenharmony_ci .publishId = 1, 120060ff233Sopenharmony_ci .mode = DISCOVER_MODE_PASSIVE, 121060ff233Sopenharmony_ci .medium = COAP, 122060ff233Sopenharmony_ci .freq = MID, 123060ff233Sopenharmony_ci .capability = "dvKit", 124060ff233Sopenharmony_ci .capabilityData = nullptr, 125060ff233Sopenharmony_ci .dataLen = 0 126060ff233Sopenharmony_ci}; 127060ff233Sopenharmony_ci 128060ff233Sopenharmony_cistatic SubscribeInfo g_subscribeInfo = { 129060ff233Sopenharmony_ci .subscribeId = 1, 130060ff233Sopenharmony_ci .mode = DISCOVER_MODE_PASSIVE, 131060ff233Sopenharmony_ci .medium = COAP, 132060ff233Sopenharmony_ci .freq = MID, 133060ff233Sopenharmony_ci .isSameAccount = true, 134060ff233Sopenharmony_ci .isWakeRemote = false, 135060ff233Sopenharmony_ci .capability = "dvKit", 136060ff233Sopenharmony_ci .capabilityData = nullptr, 137060ff233Sopenharmony_ci .dataLen = 0 138060ff233Sopenharmony_ci}; 139060ff233Sopenharmony_ci 140060ff233Sopenharmony_cistatic void TestDeviceFound(const DeviceInfo *device) 141060ff233Sopenharmony_ci{ 142060ff233Sopenharmony_ci (void)device; 143060ff233Sopenharmony_ci printf("[client]TestDeviceFound\n"); 144060ff233Sopenharmony_ci} 145060ff233Sopenharmony_ci 146060ff233Sopenharmony_cistatic void TestOnDiscoverResult(int32_t refreshId, RefreshResult reason) 147060ff233Sopenharmony_ci{ 148060ff233Sopenharmony_ci (void)refreshId; 149060ff233Sopenharmony_ci (void)reason; 150060ff233Sopenharmony_ci printf("[client]TestDiscoverResult\n"); 151060ff233Sopenharmony_ci} 152060ff233Sopenharmony_ci 153060ff233Sopenharmony_cistatic const IRefreshCallback g_refreshCb = { 154060ff233Sopenharmony_ci .OnDeviceFound = TestDeviceFound, 155060ff233Sopenharmony_ci .OnDiscoverResult = TestOnDiscoverResult 156060ff233Sopenharmony_ci}; 157060ff233Sopenharmony_ci 158060ff233Sopenharmony_cistatic void TestOnPublishResult(int32_t publishId, PublishResult reason) 159060ff233Sopenharmony_ci{ 160060ff233Sopenharmony_ci (void)publishId; 161060ff233Sopenharmony_ci (void)reason; 162060ff233Sopenharmony_ci printf("[client]TestPublishResult\n"); 163060ff233Sopenharmony_ci} 164060ff233Sopenharmony_ci 165060ff233Sopenharmony_cistatic const IPublishCb g_publishCb = { 166060ff233Sopenharmony_ci .OnPublishResult = TestOnPublishResult, 167060ff233Sopenharmony_ci}; 168060ff233Sopenharmony_ci 169060ff233Sopenharmony_ci/** 170060ff233Sopenharmony_ci * @tc.name: PublishLNNTest001 171060ff233Sopenharmony_ci * @tc.desc: Test for invalid parameters 172060ff233Sopenharmony_ci * @tc.type: FUNC 173060ff233Sopenharmony_ci * @tc.require: 174060ff233Sopenharmony_ci */ 175060ff233Sopenharmony_ciHWTEST_F(DiscSdkTest, PublishLNNTest001, TestSize.Level1) 176060ff233Sopenharmony_ci{ 177060ff233Sopenharmony_ci int32_t ret = PublishLNN(nullptr, &g_pInfo, &g_publishCb); 178060ff233Sopenharmony_ci EXPECT_EQ(ret, SOFTBUS_INVALID_PARAM); 179060ff233Sopenharmony_ci 180060ff233Sopenharmony_ci ret = PublishLNN(g_pkgName, nullptr, &g_publishCb); 181060ff233Sopenharmony_ci EXPECT_EQ(ret, SOFTBUS_INVALID_PARAM); 182060ff233Sopenharmony_ci 183060ff233Sopenharmony_ci ret = PublishLNN(g_pkgName, &g_pInfo, nullptr); 184060ff233Sopenharmony_ci EXPECT_EQ(ret, SOFTBUS_INVALID_PARAM); 185060ff233Sopenharmony_ci} 186060ff233Sopenharmony_ci 187060ff233Sopenharmony_ci/** 188060ff233Sopenharmony_ci * @tc.name: PublishLNNTest002 189060ff233Sopenharmony_ci * @tc.desc: Test for invalid packageName. 190060ff233Sopenharmony_ci * @tc.type: FUNC 191060ff233Sopenharmony_ci * @tc.require:The PublishLNN operates normally. 192060ff233Sopenharmony_ci */ 193060ff233Sopenharmony_ciHWTEST_F(DiscSdkTest, PublishLNNTest002, TestSize.Level1) 194060ff233Sopenharmony_ci{ 195060ff233Sopenharmony_ci g_pInfo.publishId = GetPublishId(); 196060ff233Sopenharmony_ci int32_t ret = PublishLNN(g_erroPkgName1, &g_pInfo, &g_publishCb); 197060ff233Sopenharmony_ci EXPECT_NE(ret, SOFTBUS_OK); 198060ff233Sopenharmony_ci} 199060ff233Sopenharmony_ci 200060ff233Sopenharmony_ci/** 201060ff233Sopenharmony_ci * @tc.name: PublishLNNTest003 202060ff233Sopenharmony_ci * @tc.desc: Test for invalid PublishInfo 203060ff233Sopenharmony_ci * @tc.type: FUNC 204060ff233Sopenharmony_ci * @tc.require: 205060ff233Sopenharmony_ci */ 206060ff233Sopenharmony_ciHWTEST_F(DiscSdkTest, PublishLNNTest003, TestSize.Level1) 207060ff233Sopenharmony_ci{ 208060ff233Sopenharmony_ci PublishInfo testInfo = { 209060ff233Sopenharmony_ci .publishId = GetPublishId(), 210060ff233Sopenharmony_ci .mode = DISCOVER_MODE_ACTIVE, 211060ff233Sopenharmony_ci .medium = COAP, 212060ff233Sopenharmony_ci .freq = MID, 213060ff233Sopenharmony_ci .capability = "dvKit", 214060ff233Sopenharmony_ci .capabilityData = (unsigned char *)"capdata2", 215060ff233Sopenharmony_ci .dataLen = (unsigned int) strlen("capdata2"), 216060ff233Sopenharmony_ci .ranging = false 217060ff233Sopenharmony_ci }; 218060ff233Sopenharmony_ci 219060ff233Sopenharmony_ci testInfo.mode = (DiscoverMode)(DISCOVER_MODE_ACTIVE + 1); 220060ff233Sopenharmony_ci int32_t ret = PublishLNN(g_pkgName, &testInfo, &g_publishCb); 221060ff233Sopenharmony_ci EXPECT_EQ(ret, SOFTBUS_INVALID_PARAM); 222060ff233Sopenharmony_ci testInfo.mode = (DiscoverMode)(DISCOVER_MODE_PASSIVE - 1); 223060ff233Sopenharmony_ci ret = PublishLNN(g_pkgName, &testInfo, &g_publishCb); 224060ff233Sopenharmony_ci EXPECT_EQ(ret, SOFTBUS_INVALID_PARAM); 225060ff233Sopenharmony_ci testInfo.mode = DISCOVER_MODE_PASSIVE; 226060ff233Sopenharmony_ci 227060ff233Sopenharmony_ci testInfo.medium = (ExchangeMedium)(COAP + 1); 228060ff233Sopenharmony_ci ret = PublishLNN(g_pkgName, &testInfo, &g_publishCb); 229060ff233Sopenharmony_ci EXPECT_EQ(ret, SOFTBUS_INVALID_PARAM); 230060ff233Sopenharmony_ci testInfo.medium = (ExchangeMedium)(AUTO - 1); 231060ff233Sopenharmony_ci ret = PublishLNN(g_pkgName, &testInfo, &g_publishCb); 232060ff233Sopenharmony_ci EXPECT_EQ(ret, SOFTBUS_INVALID_PARAM); 233060ff233Sopenharmony_ci testInfo.medium = COAP; 234060ff233Sopenharmony_ci 235060ff233Sopenharmony_ci testInfo.freq = (ExchangeFreq)(FREQ_BUTT); 236060ff233Sopenharmony_ci ret = PublishLNN(g_pkgName, &testInfo, &g_publishCb); 237060ff233Sopenharmony_ci EXPECT_EQ(ret, SOFTBUS_INVALID_PARAM); 238060ff233Sopenharmony_ci testInfo.freq = (ExchangeFreq)(LOW - 1); 239060ff233Sopenharmony_ci ret = PublishLNN(g_pkgName, &testInfo, &g_publishCb); 240060ff233Sopenharmony_ci EXPECT_EQ(ret, SOFTBUS_INVALID_PARAM); 241060ff233Sopenharmony_ci testInfo.freq = LOW; 242060ff233Sopenharmony_ci 243060ff233Sopenharmony_ci testInfo.capabilityData = nullptr; 244060ff233Sopenharmony_ci ret = PublishLNN(g_pkgName, &testInfo, &g_publishCb); 245060ff233Sopenharmony_ci EXPECT_EQ(ret, SOFTBUS_INVALID_PARAM); 246060ff233Sopenharmony_ci testInfo.capabilityData = (unsigned char *)"capdata1"; 247060ff233Sopenharmony_ci 248060ff233Sopenharmony_ci testInfo.dataLen = ERRO_CAPDATA_LEN; 249060ff233Sopenharmony_ci ret = PublishLNN(g_pkgName, &testInfo, &g_publishCb); 250060ff233Sopenharmony_ci EXPECT_EQ(ret, SOFTBUS_INVALID_PARAM); 251060ff233Sopenharmony_ci} 252060ff233Sopenharmony_ci 253060ff233Sopenharmony_ci/** 254060ff233Sopenharmony_ci * @tc.name: PublishLNNTest004 255060ff233Sopenharmony_ci * @tc.desc: Test GetPublishId and PublishLNN to see if they are running properly. 256060ff233Sopenharmony_ci * @tc.type: FUNC 257060ff233Sopenharmony_ci * @tc.require: 258060ff233Sopenharmony_ci */ 259060ff233Sopenharmony_ciHWTEST_F(DiscSdkTest, PublishLNNTest004, TestSize.Level1) 260060ff233Sopenharmony_ci{ 261060ff233Sopenharmony_ci g_pInfo.publishId = GetPublishId(); 262060ff233Sopenharmony_ci int32_t ret = PublishLNN(g_pkgName, &g_pInfo, &g_publishCb); 263060ff233Sopenharmony_ci EXPECT_EQ(ret, SOFTBUS_OK); 264060ff233Sopenharmony_ci ret = StopPublishLNN(g_pkgName, g_pInfo.publishId); 265060ff233Sopenharmony_ci 266060ff233Sopenharmony_ci g_pInfo1.publishId = GetPublishId(); 267060ff233Sopenharmony_ci ret = PublishLNN(g_pkgName, &g_pInfo1, &g_publishCb); 268060ff233Sopenharmony_ci EXPECT_EQ(ret, SOFTBUS_OK); 269060ff233Sopenharmony_ci ret = StopPublishLNN(g_pkgName, g_pInfo1.publishId); 270060ff233Sopenharmony_ci 271060ff233Sopenharmony_ci g_pInfo1.publishId = GetPublishId(); 272060ff233Sopenharmony_ci ret = PublishLNN(g_pkgName_1, &g_pInfo1, &g_publishCb); 273060ff233Sopenharmony_ci EXPECT_EQ(ret, SOFTBUS_OK); 274060ff233Sopenharmony_ci ret = StopPublishLNN(g_pkgName_1, g_pInfo1.publishId); 275060ff233Sopenharmony_ci} 276060ff233Sopenharmony_ci 277060ff233Sopenharmony_ci/** 278060ff233Sopenharmony_ci * @tc.name: PublishLNNTest005 279060ff233Sopenharmony_ci * @tc.desc: Test different freq with passive CoAP publish. 280060ff233Sopenharmony_ci * @tc.type: FUNC 281060ff233Sopenharmony_ci * @tc.require: The PublishLNN and StopPublishLNN operates normally. 282060ff233Sopenharmony_ci */ 283060ff233Sopenharmony_ciHWTEST_F(DiscSdkTest, PublishLNNTest005, TestSize.Level1) 284060ff233Sopenharmony_ci{ 285060ff233Sopenharmony_ci g_publishInfo.publishId = GetPublishId(); 286060ff233Sopenharmony_ci g_publishInfo.mode = DISCOVER_MODE_PASSIVE; 287060ff233Sopenharmony_ci g_publishInfo.medium = COAP; 288060ff233Sopenharmony_ci 289060ff233Sopenharmony_ci int32_t ret = PublishLNN(g_pkgName, &g_publishInfo, &g_publishCb); 290060ff233Sopenharmony_ci EXPECT_EQ(ret, SOFTBUS_OK); 291060ff233Sopenharmony_ci ret = StopPublishLNN(g_pkgName, g_publishInfo.publishId); 292060ff233Sopenharmony_ci EXPECT_EQ(ret, SOFTBUS_OK); 293060ff233Sopenharmony_ci 294060ff233Sopenharmony_ci g_publishInfo.freq = MID; 295060ff233Sopenharmony_ci ret = PublishLNN(g_pkgName, &g_publishInfo, &g_publishCb); 296060ff233Sopenharmony_ci EXPECT_EQ(ret, SOFTBUS_OK); 297060ff233Sopenharmony_ci ret = StopPublishLNN(g_pkgName, g_publishInfo.publishId); 298060ff233Sopenharmony_ci EXPECT_EQ(ret, SOFTBUS_OK); 299060ff233Sopenharmony_ci 300060ff233Sopenharmony_ci g_publishInfo.freq = HIGH; 301060ff233Sopenharmony_ci ret = PublishLNN(g_pkgName, &g_publishInfo, &g_publishCb); 302060ff233Sopenharmony_ci EXPECT_EQ(ret, SOFTBUS_OK); 303060ff233Sopenharmony_ci ret = StopPublishLNN(g_pkgName, g_publishInfo.publishId); 304060ff233Sopenharmony_ci EXPECT_EQ(ret, SOFTBUS_OK); 305060ff233Sopenharmony_ci 306060ff233Sopenharmony_ci g_publishInfo.freq = SUPER_HIGH; 307060ff233Sopenharmony_ci ret = PublishLNN(g_pkgName, &g_publishInfo, &g_publishCb); 308060ff233Sopenharmony_ci EXPECT_EQ(ret, SOFTBUS_OK); 309060ff233Sopenharmony_ci ret = StopPublishLNN(g_pkgName, g_publishInfo.publishId); 310060ff233Sopenharmony_ci EXPECT_EQ(ret, SOFTBUS_OK); 311060ff233Sopenharmony_ci 312060ff233Sopenharmony_ci g_publishInfo.freq = EXTREME_HIGH; 313060ff233Sopenharmony_ci ret = PublishLNN(g_pkgName, &g_publishInfo, &g_publishCb); 314060ff233Sopenharmony_ci EXPECT_EQ(ret, SOFTBUS_OK); 315060ff233Sopenharmony_ci ret = StopPublishLNN(g_pkgName, g_publishInfo.publishId); 316060ff233Sopenharmony_ci EXPECT_EQ(ret, SOFTBUS_OK); 317060ff233Sopenharmony_ci} 318060ff233Sopenharmony_ci 319060ff233Sopenharmony_ci/** 320060ff233Sopenharmony_ci * @tc.name: PublishLNNTest006 321060ff233Sopenharmony_ci * @tc.desc: Test different freq with passive BLE publish. 322060ff233Sopenharmony_ci * @tc.type: FUNC 323060ff233Sopenharmony_ci * @tc.require: The PublishLNN and StopPublishLNN operates normally. 324060ff233Sopenharmony_ci */ 325060ff233Sopenharmony_ciHWTEST_F(DiscSdkTest, PublishLNNTest006, TestSize.Level1) 326060ff233Sopenharmony_ci{ 327060ff233Sopenharmony_ci g_publishInfo.publishId = GetPublishId(); 328060ff233Sopenharmony_ci g_publishInfo.mode = DISCOVER_MODE_PASSIVE; 329060ff233Sopenharmony_ci g_publishInfo.medium = BLE; 330060ff233Sopenharmony_ci 331060ff233Sopenharmony_ci bool isBtOn = SoftbusTestGetBtStatus(); 332060ff233Sopenharmony_ci printf("bt status %s\n", isBtOn ? "on" : "off"); 333060ff233Sopenharmony_ci 334060ff233Sopenharmony_ci int32_t ret = PublishLNN(g_pkgName, &g_publishInfo, &g_publishCb); 335060ff233Sopenharmony_ci EXPECT_EQ(isBtOn, (ret == SOFTBUS_OK)); 336060ff233Sopenharmony_ci ret = StopPublishLNN(g_pkgName, g_publishInfo.publishId); 337060ff233Sopenharmony_ci EXPECT_EQ(isBtOn, (ret == SOFTBUS_OK)); 338060ff233Sopenharmony_ci 339060ff233Sopenharmony_ci g_publishInfo.freq = MID; 340060ff233Sopenharmony_ci ret = PublishLNN(g_pkgName, &g_publishInfo, &g_publishCb); 341060ff233Sopenharmony_ci EXPECT_EQ(isBtOn, (ret == SOFTBUS_OK)); 342060ff233Sopenharmony_ci ret = StopPublishLNN(g_pkgName, g_publishInfo.publishId); 343060ff233Sopenharmony_ci EXPECT_EQ(isBtOn, (ret == SOFTBUS_OK)); 344060ff233Sopenharmony_ci 345060ff233Sopenharmony_ci g_publishInfo.freq = HIGH; 346060ff233Sopenharmony_ci ret = PublishLNN(g_pkgName, &g_publishInfo, &g_publishCb); 347060ff233Sopenharmony_ci EXPECT_EQ(isBtOn, (ret == SOFTBUS_OK)); 348060ff233Sopenharmony_ci ret = StopPublishLNN(g_pkgName, g_publishInfo.publishId); 349060ff233Sopenharmony_ci EXPECT_EQ(isBtOn, (ret == SOFTBUS_OK)); 350060ff233Sopenharmony_ci 351060ff233Sopenharmony_ci g_publishInfo.freq = SUPER_HIGH; 352060ff233Sopenharmony_ci ret = PublishLNN(g_pkgName, &g_publishInfo, &g_publishCb); 353060ff233Sopenharmony_ci EXPECT_EQ(isBtOn, (ret == SOFTBUS_OK)); 354060ff233Sopenharmony_ci ret = StopPublishLNN(g_pkgName, g_publishInfo.publishId); 355060ff233Sopenharmony_ci EXPECT_EQ(isBtOn, (ret == SOFTBUS_OK)); 356060ff233Sopenharmony_ci 357060ff233Sopenharmony_ci g_publishInfo.freq = EXTREME_HIGH; 358060ff233Sopenharmony_ci ret = PublishLNN(g_pkgName, &g_publishInfo, &g_publishCb); 359060ff233Sopenharmony_ci EXPECT_EQ(isBtOn, (ret == SOFTBUS_OK)); 360060ff233Sopenharmony_ci ret = StopPublishLNN(g_pkgName, g_publishInfo.publishId); 361060ff233Sopenharmony_ci EXPECT_EQ(isBtOn, (ret == SOFTBUS_OK)); 362060ff233Sopenharmony_ci} 363060ff233Sopenharmony_ci 364060ff233Sopenharmony_ci/** 365060ff233Sopenharmony_ci * @tc.name: PublishLNNTest007 366060ff233Sopenharmony_ci * @tc.desc: Test different capability with passive CoAP publish. 367060ff233Sopenharmony_ci * @tc.type: FUNC 368060ff233Sopenharmony_ci * @tc.require: The PublishLNN and StopPublishLNN operates normally. 369060ff233Sopenharmony_ci */ 370060ff233Sopenharmony_ciHWTEST_F(DiscSdkTest, PublishLNNTest007, TestSize.Level1) 371060ff233Sopenharmony_ci{ 372060ff233Sopenharmony_ci g_publishInfo.publishId = GetPublishId(); 373060ff233Sopenharmony_ci g_publishInfo.mode = DISCOVER_MODE_PASSIVE; 374060ff233Sopenharmony_ci g_publishInfo.medium = COAP; 375060ff233Sopenharmony_ci 376060ff233Sopenharmony_ci int32_t ret = PublishLNN(g_pkgName, &g_publishInfo, &g_publishCb); 377060ff233Sopenharmony_ci EXPECT_EQ(ret, SOFTBUS_OK); 378060ff233Sopenharmony_ci ret = StopPublishLNN(g_pkgName, g_publishInfo.publishId); 379060ff233Sopenharmony_ci 380060ff233Sopenharmony_ci g_publishInfo.capability = "hicall"; 381060ff233Sopenharmony_ci ret = PublishLNN(g_pkgName, &g_publishInfo, &g_publishCb); 382060ff233Sopenharmony_ci EXPECT_EQ(ret, SOFTBUS_OK); 383060ff233Sopenharmony_ci ret = StopPublishLNN(g_pkgName, g_publishInfo.publishId); 384060ff233Sopenharmony_ci 385060ff233Sopenharmony_ci g_publishInfo.capability = "profile"; 386060ff233Sopenharmony_ci ret = PublishLNN(g_pkgName, &g_publishInfo, &g_publishCb); 387060ff233Sopenharmony_ci EXPECT_EQ(ret, SOFTBUS_OK); 388060ff233Sopenharmony_ci ret = StopPublishLNN(g_pkgName, g_publishInfo.publishId); 389060ff233Sopenharmony_ci 390060ff233Sopenharmony_ci g_publishInfo.capability = "homevisionPic"; 391060ff233Sopenharmony_ci ret = PublishLNN(g_pkgName, &g_publishInfo, &g_publishCb); 392060ff233Sopenharmony_ci EXPECT_EQ(ret, SOFTBUS_OK); 393060ff233Sopenharmony_ci ret = StopPublishLNN(g_pkgName, g_publishInfo.publishId); 394060ff233Sopenharmony_ci 395060ff233Sopenharmony_ci g_publishInfo.capability = "castPlus"; 396060ff233Sopenharmony_ci g_publishInfo.capabilityData = (unsigned char *)"{\"castPlus\":\"capdata2\"}"; 397060ff233Sopenharmony_ci g_publishInfo.dataLen = (unsigned int) strlen("{\"castPlus\":\"capdata2\"}"); 398060ff233Sopenharmony_ci ret = PublishLNN(g_pkgName, &g_publishInfo, &g_publishCb); 399060ff233Sopenharmony_ci EXPECT_EQ(ret, SOFTBUS_OK); 400060ff233Sopenharmony_ci g_publishInfo.capabilityData = (unsigned char *)"capdata2"; 401060ff233Sopenharmony_ci g_publishInfo.dataLen = (unsigned int) strlen("capdata2"); 402060ff233Sopenharmony_ci ret = StopPublishLNN(g_pkgName, g_publishInfo.publishId); 403060ff233Sopenharmony_ci 404060ff233Sopenharmony_ci g_publishInfo.capability = "aaCapability"; 405060ff233Sopenharmony_ci ret = PublishLNN(g_pkgName, &g_publishInfo, &g_publishCb); 406060ff233Sopenharmony_ci EXPECT_EQ(ret, SOFTBUS_OK); 407060ff233Sopenharmony_ci ret = StopPublishLNN(g_pkgName, g_publishInfo.publishId); 408060ff233Sopenharmony_ci 409060ff233Sopenharmony_ci g_publishInfo.capability = "ddmpCapability"; 410060ff233Sopenharmony_ci ret = PublishLNN(g_pkgName, &g_publishInfo, &g_publishCb); 411060ff233Sopenharmony_ci EXPECT_EQ(ret, SOFTBUS_OK); 412060ff233Sopenharmony_ci ret = StopPublishLNN(g_pkgName, g_publishInfo.publishId); 413060ff233Sopenharmony_ci 414060ff233Sopenharmony_ci g_publishInfo.capability = "osdCapability"; 415060ff233Sopenharmony_ci ret = PublishLNN(g_pkgName, &g_publishInfo, &g_publishCb); 416060ff233Sopenharmony_ci EXPECT_EQ(ret, SOFTBUS_OK); 417060ff233Sopenharmony_ci ret = StopPublishLNN(g_pkgName, g_publishInfo.publishId); 418060ff233Sopenharmony_ci} 419060ff233Sopenharmony_ci 420060ff233Sopenharmony_ci/** 421060ff233Sopenharmony_ci * @tc.name: PublishLNNTest008 422060ff233Sopenharmony_ci * @tc.desc: Test different capability with passive BLE publish: dvKit, castPlus, osdCapability 423060ff233Sopenharmony_ci * @tc.type: FUNC 424060ff233Sopenharmony_ci * @tc.require: The PublishLNN and StopPublishLNN operates normally. 425060ff233Sopenharmony_ci */ 426060ff233Sopenharmony_ciHWTEST_F(DiscSdkTest, PublishLNNTest008, TestSize.Level1) 427060ff233Sopenharmony_ci{ 428060ff233Sopenharmony_ci g_publishInfo.publishId = GetPublishId(); 429060ff233Sopenharmony_ci g_publishInfo.mode = DISCOVER_MODE_PASSIVE; 430060ff233Sopenharmony_ci g_publishInfo.medium = BLE; 431060ff233Sopenharmony_ci 432060ff233Sopenharmony_ci bool isBtOn = SoftbusTestGetBtStatus(); 433060ff233Sopenharmony_ci printf("bt status %s\n", isBtOn ? "on" : "off"); 434060ff233Sopenharmony_ci 435060ff233Sopenharmony_ci g_publishInfo.capability = "dvKit"; 436060ff233Sopenharmony_ci int32_t ret = PublishLNN(g_pkgName, &g_publishInfo, &g_publishCb); 437060ff233Sopenharmony_ci EXPECT_EQ(isBtOn, (ret == SOFTBUS_OK)); 438060ff233Sopenharmony_ci ret = StopPublishLNN(g_pkgName, g_publishInfo.publishId); 439060ff233Sopenharmony_ci 440060ff233Sopenharmony_ci g_publishInfo.capability = "castPlus"; 441060ff233Sopenharmony_ci g_publishInfo.capabilityData = (unsigned char *)"{\"castPlus\":\"capdata2\"}"; 442060ff233Sopenharmony_ci g_publishInfo.dataLen = (unsigned int) strlen("{\"castPlus\":\"capdata2\"}"); 443060ff233Sopenharmony_ci ret = PublishLNN(g_pkgName, &g_publishInfo, &g_publishCb); 444060ff233Sopenharmony_ci EXPECT_EQ(isBtOn, (ret == SOFTBUS_OK)); 445060ff233Sopenharmony_ci g_publishInfo.capabilityData = (unsigned char *)"capdata2"; 446060ff233Sopenharmony_ci g_publishInfo.dataLen = (unsigned int) strlen("capdata2"); 447060ff233Sopenharmony_ci ret = StopPublishLNN(g_pkgName, g_publishInfo.publishId); 448060ff233Sopenharmony_ci 449060ff233Sopenharmony_ci g_publishInfo.capability = "osdCapability"; 450060ff233Sopenharmony_ci ret = PublishLNN(g_pkgName, &g_publishInfo, &g_publishCb); 451060ff233Sopenharmony_ci EXPECT_EQ(isBtOn, (ret == SOFTBUS_OK)); 452060ff233Sopenharmony_ci ret = StopPublishLNN(g_pkgName, g_publishInfo.publishId); 453060ff233Sopenharmony_ci} 454060ff233Sopenharmony_ci 455060ff233Sopenharmony_ci/** 456060ff233Sopenharmony_ci * @tc.name: RefreshLNNTest001 457060ff233Sopenharmony_ci * @tc.desc: Test for invalid parameters 458060ff233Sopenharmony_ci * @tc.type: FUNC 459060ff233Sopenharmony_ci * @tc.require: 460060ff233Sopenharmony_ci */ 461060ff233Sopenharmony_ciHWTEST_F(DiscSdkTest, RefreshLNNTest001, TestSize.Level1) 462060ff233Sopenharmony_ci{ 463060ff233Sopenharmony_ci int32_t ret = RefreshLNN(nullptr, &g_sInfo, &g_refreshCb); 464060ff233Sopenharmony_ci EXPECT_EQ(ret, SOFTBUS_INVALID_PARAM); 465060ff233Sopenharmony_ci 466060ff233Sopenharmony_ci ret = RefreshLNN(g_pkgName, nullptr, &g_refreshCb); 467060ff233Sopenharmony_ci EXPECT_EQ(ret, SOFTBUS_INVALID_PARAM); 468060ff233Sopenharmony_ci 469060ff233Sopenharmony_ci ret = RefreshLNN(g_pkgName, &g_sInfo, nullptr); 470060ff233Sopenharmony_ci EXPECT_EQ(ret, SOFTBUS_INVALID_PARAM); 471060ff233Sopenharmony_ci} 472060ff233Sopenharmony_ci 473060ff233Sopenharmony_ci/** 474060ff233Sopenharmony_ci * @tc.name: RefreshLNNTest002 475060ff233Sopenharmony_ci * @tc.desc: Test for invalid packageName. 476060ff233Sopenharmony_ci * @tc.type: FUNC 477060ff233Sopenharmony_ci * @tc.require:The PublishLNN operates normally. 478060ff233Sopenharmony_ci */ 479060ff233Sopenharmony_ciHWTEST_F(DiscSdkTest, RefreshLNNTest002, TestSize.Level1) 480060ff233Sopenharmony_ci{ 481060ff233Sopenharmony_ci g_sInfo.subscribeId = GetSubscribeId(); 482060ff233Sopenharmony_ci int32_t ret = RefreshLNN(g_erroPkgName1, &g_sInfo, &g_refreshCb); 483060ff233Sopenharmony_ci EXPECT_NE(ret, SOFTBUS_OK); 484060ff233Sopenharmony_ci} 485060ff233Sopenharmony_ci 486060ff233Sopenharmony_ci/** 487060ff233Sopenharmony_ci * @tc.name: RefreshLNNTest003 488060ff233Sopenharmony_ci * @tc.desc: Test for invalid SubscribeInfo. 489060ff233Sopenharmony_ci * @tc.type: FUNC 490060ff233Sopenharmony_ci * @tc.require: 491060ff233Sopenharmony_ci */ 492060ff233Sopenharmony_ciHWTEST_F(DiscSdkTest, RefreshLNNTest003, TestSize.Level1) 493060ff233Sopenharmony_ci{ 494060ff233Sopenharmony_ci SubscribeInfo testInfo = { 495060ff233Sopenharmony_ci .subscribeId = GetSubscribeId(), 496060ff233Sopenharmony_ci .mode = DISCOVER_MODE_ACTIVE, 497060ff233Sopenharmony_ci .medium = COAP, 498060ff233Sopenharmony_ci .freq = MID, 499060ff233Sopenharmony_ci .isSameAccount = true, 500060ff233Sopenharmony_ci .isWakeRemote = false, 501060ff233Sopenharmony_ci .capability = "dvKit", 502060ff233Sopenharmony_ci .capabilityData = (unsigned char *)"capdata3", 503060ff233Sopenharmony_ci .dataLen = (unsigned int) strlen("capdata3") 504060ff233Sopenharmony_ci }; 505060ff233Sopenharmony_ci 506060ff233Sopenharmony_ci testInfo.mode = (DiscoverMode)(DISCOVER_MODE_ACTIVE + 1); 507060ff233Sopenharmony_ci int32_t ret = RefreshLNN(g_pkgName, &testInfo, &g_refreshCb); 508060ff233Sopenharmony_ci EXPECT_EQ(ret, SOFTBUS_INVALID_PARAM); 509060ff233Sopenharmony_ci testInfo.mode = (DiscoverMode)(DISCOVER_MODE_PASSIVE - 1); 510060ff233Sopenharmony_ci ret = RefreshLNN(g_pkgName, &testInfo, &g_refreshCb); 511060ff233Sopenharmony_ci EXPECT_EQ(ret, SOFTBUS_INVALID_PARAM); 512060ff233Sopenharmony_ci testInfo.mode = DISCOVER_MODE_PASSIVE; 513060ff233Sopenharmony_ci 514060ff233Sopenharmony_ci testInfo.medium = (ExchangeMedium)(COAP + 1); 515060ff233Sopenharmony_ci ret = RefreshLNN(g_pkgName, &testInfo, &g_refreshCb); 516060ff233Sopenharmony_ci EXPECT_EQ(ret, SOFTBUS_INVALID_PARAM); 517060ff233Sopenharmony_ci testInfo.medium = (ExchangeMedium)(AUTO - 1); 518060ff233Sopenharmony_ci ret = RefreshLNN(g_pkgName, &testInfo, &g_refreshCb); 519060ff233Sopenharmony_ci EXPECT_EQ(ret, SOFTBUS_INVALID_PARAM); 520060ff233Sopenharmony_ci testInfo.medium = COAP; 521060ff233Sopenharmony_ci 522060ff233Sopenharmony_ci testInfo.freq = (ExchangeFreq)(FREQ_BUTT); 523060ff233Sopenharmony_ci ret = RefreshLNN(g_pkgName, &testInfo, &g_refreshCb); 524060ff233Sopenharmony_ci EXPECT_EQ(ret, SOFTBUS_INVALID_PARAM); 525060ff233Sopenharmony_ci testInfo.freq = (ExchangeFreq)(LOW - 1); 526060ff233Sopenharmony_ci ret = RefreshLNN(g_pkgName, &testInfo, &g_refreshCb); 527060ff233Sopenharmony_ci EXPECT_EQ(ret, SOFTBUS_INVALID_PARAM); 528060ff233Sopenharmony_ci testInfo.freq = LOW; 529060ff233Sopenharmony_ci 530060ff233Sopenharmony_ci testInfo.capabilityData = nullptr; 531060ff233Sopenharmony_ci ret = RefreshLNN(g_pkgName, &testInfo, &g_refreshCb); 532060ff233Sopenharmony_ci EXPECT_EQ(ret, SOFTBUS_INVALID_PARAM); 533060ff233Sopenharmony_ci testInfo.capabilityData = (unsigned char *)"capdata1"; 534060ff233Sopenharmony_ci 535060ff233Sopenharmony_ci testInfo.dataLen = ERRO_CAPDATA_LEN; 536060ff233Sopenharmony_ci ret = RefreshLNN(g_pkgName, &testInfo, &g_refreshCb); 537060ff233Sopenharmony_ci EXPECT_EQ(ret, SOFTBUS_INVALID_PARAM); 538060ff233Sopenharmony_ci} 539060ff233Sopenharmony_ci 540060ff233Sopenharmony_ci/** 541060ff233Sopenharmony_ci * @tc.name: RefreshLNNTest004 542060ff233Sopenharmony_ci * @tc.desc: Verify the RefreshLNN normal case. 543060ff233Sopenharmony_ci * @tc.type: FUNC 544060ff233Sopenharmony_ci * @tc.require: 545060ff233Sopenharmony_ci */ 546060ff233Sopenharmony_ciHWTEST_F(DiscSdkTest, RefreshLNNTest004, TestSize.Level1) 547060ff233Sopenharmony_ci{ 548060ff233Sopenharmony_ci g_sInfo.subscribeId = GetSubscribeId(); 549060ff233Sopenharmony_ci int32_t ret = RefreshLNN(g_pkgName, &g_sInfo, &g_refreshCb); 550060ff233Sopenharmony_ci EXPECT_EQ(ret, SOFTBUS_OK); 551060ff233Sopenharmony_ci ret = StopRefreshLNN(g_pkgName, g_sInfo.subscribeId); 552060ff233Sopenharmony_ci 553060ff233Sopenharmony_ci g_sInfo1.subscribeId = GetSubscribeId(); 554060ff233Sopenharmony_ci ret = RefreshLNN(g_pkgName, &g_sInfo1, &g_refreshCb); 555060ff233Sopenharmony_ci EXPECT_EQ(ret, SOFTBUS_OK); 556060ff233Sopenharmony_ci ret = StopRefreshLNN(g_pkgName, g_sInfo1.subscribeId); 557060ff233Sopenharmony_ci 558060ff233Sopenharmony_ci g_sInfo1.subscribeId = GetSubscribeId(); 559060ff233Sopenharmony_ci ret = RefreshLNN(g_pkgName_1, &g_sInfo1, &g_refreshCb); 560060ff233Sopenharmony_ci EXPECT_EQ(ret, SOFTBUS_OK); 561060ff233Sopenharmony_ci ret = StopRefreshLNN(g_pkgName, g_sInfo1.subscribeId); 562060ff233Sopenharmony_ci} 563060ff233Sopenharmony_ci 564060ff233Sopenharmony_ci/** 565060ff233Sopenharmony_ci * @tc.name: RefreshLNNTest005 566060ff233Sopenharmony_ci * @tc.desc: Test different freq with passive CoAP discovery. 567060ff233Sopenharmony_ci * @tc.type: FUNC 568060ff233Sopenharmony_ci * @tc.require: The RefreshLNN and StopRefreshLNN operates normally. 569060ff233Sopenharmony_ci */ 570060ff233Sopenharmony_ciHWTEST_F(DiscSdkTest, RefreshLNNTest005, TestSize.Level1) 571060ff233Sopenharmony_ci{ 572060ff233Sopenharmony_ci g_subscribeInfo.subscribeId = GetSubscribeId(); 573060ff233Sopenharmony_ci g_subscribeInfo.mode = DISCOVER_MODE_PASSIVE; 574060ff233Sopenharmony_ci g_subscribeInfo.medium = COAP; 575060ff233Sopenharmony_ci 576060ff233Sopenharmony_ci int32_t ret = RefreshLNN(g_pkgName, &g_subscribeInfo, &g_refreshCb); 577060ff233Sopenharmony_ci EXPECT_EQ(ret, SOFTBUS_OK); 578060ff233Sopenharmony_ci ret = StopRefreshLNN(g_pkgName, g_subscribeInfo.subscribeId); 579060ff233Sopenharmony_ci EXPECT_EQ(ret, SOFTBUS_OK); 580060ff233Sopenharmony_ci 581060ff233Sopenharmony_ci g_subscribeInfo.freq = MID; 582060ff233Sopenharmony_ci ret = RefreshLNN(g_pkgName, &g_subscribeInfo, &g_refreshCb); 583060ff233Sopenharmony_ci EXPECT_EQ(ret, SOFTBUS_OK); 584060ff233Sopenharmony_ci ret = StopRefreshLNN(g_pkgName, g_subscribeInfo.subscribeId); 585060ff233Sopenharmony_ci EXPECT_EQ(ret, SOFTBUS_OK); 586060ff233Sopenharmony_ci 587060ff233Sopenharmony_ci g_subscribeInfo.freq = HIGH; 588060ff233Sopenharmony_ci ret = RefreshLNN(g_pkgName, &g_subscribeInfo, &g_refreshCb); 589060ff233Sopenharmony_ci EXPECT_EQ(ret, SOFTBUS_OK); 590060ff233Sopenharmony_ci ret = StopRefreshLNN(g_pkgName, g_subscribeInfo.subscribeId); 591060ff233Sopenharmony_ci EXPECT_EQ(ret, SOFTBUS_OK); 592060ff233Sopenharmony_ci 593060ff233Sopenharmony_ci g_subscribeInfo.freq = SUPER_HIGH; 594060ff233Sopenharmony_ci ret = RefreshLNN(g_pkgName, &g_subscribeInfo, &g_refreshCb); 595060ff233Sopenharmony_ci EXPECT_EQ(ret, SOFTBUS_OK); 596060ff233Sopenharmony_ci ret = StopRefreshLNN(g_pkgName, g_subscribeInfo.subscribeId); 597060ff233Sopenharmony_ci EXPECT_EQ(ret, SOFTBUS_OK); 598060ff233Sopenharmony_ci 599060ff233Sopenharmony_ci g_subscribeInfo.freq = EXTREME_HIGH; 600060ff233Sopenharmony_ci ret = RefreshLNN(g_pkgName, &g_subscribeInfo, &g_refreshCb); 601060ff233Sopenharmony_ci EXPECT_EQ(ret, SOFTBUS_OK); 602060ff233Sopenharmony_ci ret = StopRefreshLNN(g_pkgName, g_subscribeInfo.subscribeId); 603060ff233Sopenharmony_ci EXPECT_EQ(ret, SOFTBUS_OK); 604060ff233Sopenharmony_ci} 605060ff233Sopenharmony_ci 606060ff233Sopenharmony_ci/** 607060ff233Sopenharmony_ci * @tc.name: RefreshLNNTest006 608060ff233Sopenharmony_ci * @tc.desc: Test different freq with passive BLE discovery. 609060ff233Sopenharmony_ci * @tc.type: FUNC 610060ff233Sopenharmony_ci * @tc.require: The RefreshLNN and StopRefreshLNN operates normally. 611060ff233Sopenharmony_ci */ 612060ff233Sopenharmony_ciHWTEST_F(DiscSdkTest, RefreshLNNTest006, TestSize.Level1) 613060ff233Sopenharmony_ci{ 614060ff233Sopenharmony_ci g_subscribeInfo.subscribeId = GetSubscribeId(); 615060ff233Sopenharmony_ci g_subscribeInfo.mode = DISCOVER_MODE_PASSIVE; 616060ff233Sopenharmony_ci g_subscribeInfo.medium = BLE; 617060ff233Sopenharmony_ci 618060ff233Sopenharmony_ci bool isBtOn = SoftbusTestGetBtStatus(); 619060ff233Sopenharmony_ci printf("bt status %s\n", isBtOn ? "on" : "off"); 620060ff233Sopenharmony_ci 621060ff233Sopenharmony_ci int32_t ret = RefreshLNN(g_pkgName, &g_subscribeInfo, &g_refreshCb); 622060ff233Sopenharmony_ci EXPECT_EQ(isBtOn, (ret == SOFTBUS_OK)); 623060ff233Sopenharmony_ci ret = StopRefreshLNN(g_pkgName, g_subscribeInfo.subscribeId); 624060ff233Sopenharmony_ci EXPECT_EQ(isBtOn, (ret == SOFTBUS_OK)); 625060ff233Sopenharmony_ci 626060ff233Sopenharmony_ci g_subscribeInfo.freq = MID; 627060ff233Sopenharmony_ci ret = RefreshLNN(g_pkgName, &g_subscribeInfo, &g_refreshCb); 628060ff233Sopenharmony_ci EXPECT_EQ(isBtOn, (ret == SOFTBUS_OK)); 629060ff233Sopenharmony_ci ret = StopRefreshLNN(g_pkgName, g_subscribeInfo.subscribeId); 630060ff233Sopenharmony_ci EXPECT_EQ(isBtOn, (ret == SOFTBUS_OK)); 631060ff233Sopenharmony_ci 632060ff233Sopenharmony_ci g_subscribeInfo.freq = HIGH; 633060ff233Sopenharmony_ci ret = RefreshLNN(g_pkgName, &g_subscribeInfo, &g_refreshCb); 634060ff233Sopenharmony_ci EXPECT_EQ(isBtOn, (ret == SOFTBUS_OK)); 635060ff233Sopenharmony_ci ret = StopRefreshLNN(g_pkgName, g_subscribeInfo.subscribeId); 636060ff233Sopenharmony_ci EXPECT_EQ(isBtOn, (ret == SOFTBUS_OK)); 637060ff233Sopenharmony_ci 638060ff233Sopenharmony_ci g_subscribeInfo.freq = SUPER_HIGH; 639060ff233Sopenharmony_ci ret = RefreshLNN(g_pkgName, &g_subscribeInfo, &g_refreshCb); 640060ff233Sopenharmony_ci EXPECT_EQ(isBtOn, (ret == SOFTBUS_OK)); 641060ff233Sopenharmony_ci ret = StopRefreshLNN(g_pkgName, g_subscribeInfo.subscribeId); 642060ff233Sopenharmony_ci EXPECT_EQ(isBtOn, (ret == SOFTBUS_OK)); 643060ff233Sopenharmony_ci 644060ff233Sopenharmony_ci g_subscribeInfo.freq = EXTREME_HIGH; 645060ff233Sopenharmony_ci ret = RefreshLNN(g_pkgName, &g_subscribeInfo, &g_refreshCb); 646060ff233Sopenharmony_ci EXPECT_EQ(isBtOn, (ret == SOFTBUS_OK)); 647060ff233Sopenharmony_ci ret = StopRefreshLNN(g_pkgName, g_subscribeInfo.subscribeId); 648060ff233Sopenharmony_ci EXPECT_EQ(isBtOn, (ret == SOFTBUS_OK)); 649060ff233Sopenharmony_ci} 650060ff233Sopenharmony_ci 651060ff233Sopenharmony_ci/** 652060ff233Sopenharmony_ci * @tc.name: RefreshLNNTest007 653060ff233Sopenharmony_ci * @tc.desc: Test different capability with passive CoAP discovery. 654060ff233Sopenharmony_ci * @tc.type: FUNC 655060ff233Sopenharmony_ci * @tc.require: The RefreshLNN and StopRefreshLNN operates normally. 656060ff233Sopenharmony_ci */ 657060ff233Sopenharmony_ciHWTEST_F(DiscSdkTest, RefreshLNNTest007, TestSize.Level1) 658060ff233Sopenharmony_ci{ 659060ff233Sopenharmony_ci g_subscribeInfo.subscribeId = GetSubscribeId(); 660060ff233Sopenharmony_ci g_subscribeInfo.mode = DISCOVER_MODE_PASSIVE; 661060ff233Sopenharmony_ci g_subscribeInfo.medium = COAP; 662060ff233Sopenharmony_ci 663060ff233Sopenharmony_ci int32_t ret = RefreshLNN(g_pkgName, &g_subscribeInfo, &g_refreshCb); 664060ff233Sopenharmony_ci EXPECT_EQ(ret, SOFTBUS_OK); 665060ff233Sopenharmony_ci ret = StopRefreshLNN(g_pkgName, g_subscribeInfo.subscribeId); 666060ff233Sopenharmony_ci 667060ff233Sopenharmony_ci g_subscribeInfo.capability = "hicall"; 668060ff233Sopenharmony_ci ret = RefreshLNN(g_pkgName, &g_subscribeInfo, &g_refreshCb); 669060ff233Sopenharmony_ci EXPECT_EQ(ret, SOFTBUS_OK); 670060ff233Sopenharmony_ci ret = StopRefreshLNN(g_pkgName, g_subscribeInfo.subscribeId); 671060ff233Sopenharmony_ci 672060ff233Sopenharmony_ci g_subscribeInfo.capability = "profile"; 673060ff233Sopenharmony_ci ret = RefreshLNN(g_pkgName, &g_subscribeInfo, &g_refreshCb); 674060ff233Sopenharmony_ci EXPECT_EQ(ret, SOFTBUS_OK); 675060ff233Sopenharmony_ci ret = StopRefreshLNN(g_pkgName, g_subscribeInfo.subscribeId); 676060ff233Sopenharmony_ci 677060ff233Sopenharmony_ci g_subscribeInfo.capability = "homevisionPic"; 678060ff233Sopenharmony_ci ret = RefreshLNN(g_pkgName, &g_subscribeInfo, &g_refreshCb); 679060ff233Sopenharmony_ci EXPECT_EQ(ret, SOFTBUS_OK); 680060ff233Sopenharmony_ci ret = StopRefreshLNN(g_pkgName, g_subscribeInfo.subscribeId); 681060ff233Sopenharmony_ci 682060ff233Sopenharmony_ci g_subscribeInfo.capability = "castPlus"; 683060ff233Sopenharmony_ci ret = RefreshLNN(g_pkgName, &g_subscribeInfo, &g_refreshCb); 684060ff233Sopenharmony_ci EXPECT_EQ(ret, SOFTBUS_OK); 685060ff233Sopenharmony_ci ret = StopRefreshLNN(g_pkgName, g_subscribeInfo.subscribeId); 686060ff233Sopenharmony_ci 687060ff233Sopenharmony_ci g_subscribeInfo.capability = "aaCapability"; 688060ff233Sopenharmony_ci ret = RefreshLNN(g_pkgName, &g_subscribeInfo, &g_refreshCb); 689060ff233Sopenharmony_ci EXPECT_EQ(ret, SOFTBUS_OK); 690060ff233Sopenharmony_ci ret = StopRefreshLNN(g_pkgName, g_subscribeInfo.subscribeId); 691060ff233Sopenharmony_ci 692060ff233Sopenharmony_ci g_subscribeInfo.capability = "ddmpCapability"; 693060ff233Sopenharmony_ci ret = RefreshLNN(g_pkgName, &g_subscribeInfo, &g_refreshCb); 694060ff233Sopenharmony_ci EXPECT_EQ(ret, SOFTBUS_OK); 695060ff233Sopenharmony_ci ret = StopRefreshLNN(g_pkgName, g_subscribeInfo.subscribeId); 696060ff233Sopenharmony_ci 697060ff233Sopenharmony_ci g_subscribeInfo.capability = "osdCapability"; 698060ff233Sopenharmony_ci ret = RefreshLNN(g_pkgName, &g_subscribeInfo, &g_refreshCb); 699060ff233Sopenharmony_ci EXPECT_EQ(ret, SOFTBUS_OK); 700060ff233Sopenharmony_ci ret = StopRefreshLNN(g_pkgName, g_subscribeInfo.subscribeId); 701060ff233Sopenharmony_ci} 702060ff233Sopenharmony_ci 703060ff233Sopenharmony_ci/** 704060ff233Sopenharmony_ci * @tc.name: RefreshLNNTest008 705060ff233Sopenharmony_ci * @tc.desc: Test different capability with passive BLE discovery: dvKit, castPlus, osdCapability 706060ff233Sopenharmony_ci * @tc.type: FUNC 707060ff233Sopenharmony_ci * @tc.require: The RefreshLNN and StopRefreshLNN operates normally. 708060ff233Sopenharmony_ci */ 709060ff233Sopenharmony_ciHWTEST_F(DiscSdkTest, RefreshLNNTest008, TestSize.Level1) 710060ff233Sopenharmony_ci{ 711060ff233Sopenharmony_ci g_subscribeInfo.subscribeId = GetSubscribeId(); 712060ff233Sopenharmony_ci g_subscribeInfo.mode = DISCOVER_MODE_PASSIVE; 713060ff233Sopenharmony_ci g_subscribeInfo.medium = BLE; 714060ff233Sopenharmony_ci 715060ff233Sopenharmony_ci bool isBtOn = SoftbusTestGetBtStatus(); 716060ff233Sopenharmony_ci printf("bt status %s\n", isBtOn ? "on" : "off"); 717060ff233Sopenharmony_ci 718060ff233Sopenharmony_ci g_subscribeInfo.capability = "dvKit"; 719060ff233Sopenharmony_ci int32_t ret = RefreshLNN(g_pkgName, &g_subscribeInfo, &g_refreshCb); 720060ff233Sopenharmony_ci EXPECT_EQ(isBtOn, (ret == SOFTBUS_OK)); 721060ff233Sopenharmony_ci ret = StopRefreshLNN(g_pkgName, g_subscribeInfo.subscribeId); 722060ff233Sopenharmony_ci 723060ff233Sopenharmony_ci g_subscribeInfo.capability = "castPlus"; 724060ff233Sopenharmony_ci ret = RefreshLNN(g_pkgName, &g_subscribeInfo, &g_refreshCb); 725060ff233Sopenharmony_ci EXPECT_EQ(isBtOn, (ret == SOFTBUS_OK)); 726060ff233Sopenharmony_ci ret = StopRefreshLNN(g_pkgName, g_subscribeInfo.subscribeId); 727060ff233Sopenharmony_ci 728060ff233Sopenharmony_ci g_subscribeInfo.capability = "osdCapability"; 729060ff233Sopenharmony_ci ret = RefreshLNN(g_pkgName, &g_subscribeInfo, &g_refreshCb); 730060ff233Sopenharmony_ci EXPECT_EQ(isBtOn, (ret == SOFTBUS_OK)); 731060ff233Sopenharmony_ci ret = StopRefreshLNN(g_pkgName, g_subscribeInfo.subscribeId); 732060ff233Sopenharmony_ci} 733060ff233Sopenharmony_ci 734060ff233Sopenharmony_ci/** 735060ff233Sopenharmony_ci * @tc.name: StopPublishLNNTest001 736060ff233Sopenharmony_ci * @tc.desc: Verify StopPublishLNN invalid parameter. 737060ff233Sopenharmony_ci * @tc.type: FUNC 738060ff233Sopenharmony_ci * @tc.require: 739060ff233Sopenharmony_ci */ 740060ff233Sopenharmony_ciHWTEST_F(DiscSdkTest, StopPublishLNNTest001, TestSize.Level1) 741060ff233Sopenharmony_ci{ 742060ff233Sopenharmony_ci int32_t tmpId = GetPublishId(); 743060ff233Sopenharmony_ci g_pInfo.publishId = tmpId; 744060ff233Sopenharmony_ci PublishLNN(g_pkgName, &g_pInfo, &g_publishCb); 745060ff233Sopenharmony_ci 746060ff233Sopenharmony_ci int32_t ret = StopPublishLNN(nullptr, tmpId); 747060ff233Sopenharmony_ci EXPECT_EQ(ret, SOFTBUS_INVALID_PARAM); 748060ff233Sopenharmony_ci 749060ff233Sopenharmony_ci ret = StopPublishLNN(g_erroPkgName, tmpId); 750060ff233Sopenharmony_ci EXPECT_NE(ret, SOFTBUS_OK); 751060ff233Sopenharmony_ci} 752060ff233Sopenharmony_ci 753060ff233Sopenharmony_ci/** 754060ff233Sopenharmony_ci * @tc.name: StopPublishLNNTest002 755060ff233Sopenharmony_ci * @tc.desc: Verify PublishLNN and StopPublishLNN normal case. 756060ff233Sopenharmony_ci * @tc.type: FUNC 757060ff233Sopenharmony_ci * @tc.require: 758060ff233Sopenharmony_ci */ 759060ff233Sopenharmony_ciHWTEST_F(DiscSdkTest, StopPublishLNNTest002, TestSize.Level1) 760060ff233Sopenharmony_ci{ 761060ff233Sopenharmony_ci int32_t tmpId1 = GetPublishId(); 762060ff233Sopenharmony_ci int32_t tmpId2 = GetPublishId(); 763060ff233Sopenharmony_ci 764060ff233Sopenharmony_ci g_pInfo.publishId = tmpId1; 765060ff233Sopenharmony_ci PublishLNN(g_pkgName, &g_pInfo, &g_publishCb); 766060ff233Sopenharmony_ci g_pInfo1.publishId = tmpId2; 767060ff233Sopenharmony_ci PublishLNN(g_pkgName, &g_pInfo1, &g_publishCb); 768060ff233Sopenharmony_ci 769060ff233Sopenharmony_ci int32_t ret = StopPublishLNN(g_pkgName, tmpId1); 770060ff233Sopenharmony_ci EXPECT_EQ(ret, SOFTBUS_OK); 771060ff233Sopenharmony_ci ret = StopPublishLNN(g_pkgName, tmpId2); 772060ff233Sopenharmony_ci EXPECT_EQ(ret, SOFTBUS_OK); 773060ff233Sopenharmony_ci} 774060ff233Sopenharmony_ci 775060ff233Sopenharmony_ci/** 776060ff233Sopenharmony_ci * @tc.name: StopPublishLNNTest003 777060ff233Sopenharmony_ci * @tc.desc: Verify PublishLNN and StopPublishLNN same parameter again. 778060ff233Sopenharmony_ci * @tc.type: FUNC 779060ff233Sopenharmony_ci * @tc.require: 780060ff233Sopenharmony_ci */ 781060ff233Sopenharmony_ciHWTEST_F(DiscSdkTest, StopPublishLNNTest003, TestSize.Level1) 782060ff233Sopenharmony_ci{ 783060ff233Sopenharmony_ci int32_t tmpId = GetPublishId(); 784060ff233Sopenharmony_ci g_pInfo.publishId = tmpId; 785060ff233Sopenharmony_ci PublishLNN(g_pkgName, &g_pInfo, &g_publishCb); 786060ff233Sopenharmony_ci 787060ff233Sopenharmony_ci int32_t ret = StopPublishLNN(g_pkgName, tmpId); 788060ff233Sopenharmony_ci EXPECT_EQ(ret, SOFTBUS_OK); 789060ff233Sopenharmony_ci} 790060ff233Sopenharmony_ci 791060ff233Sopenharmony_ci/** 792060ff233Sopenharmony_ci * @tc.name: StopPublishLNNTest004 793060ff233Sopenharmony_ci * @tc.desc: Test different freq with stop passive CoAP publish. 794060ff233Sopenharmony_ci * @tc.type: FUNC 795060ff233Sopenharmony_ci * @tc.require: The StopPublishLNN operates normally. 796060ff233Sopenharmony_ci */ 797060ff233Sopenharmony_ciHWTEST_F(DiscSdkTest, StopPublishLNNTest004, TestSize.Level1) 798060ff233Sopenharmony_ci{ 799060ff233Sopenharmony_ci g_publishInfo.publishId = GetPublishId(); 800060ff233Sopenharmony_ci g_publishInfo.mode = DISCOVER_MODE_PASSIVE; 801060ff233Sopenharmony_ci g_publishInfo.medium = COAP; 802060ff233Sopenharmony_ci 803060ff233Sopenharmony_ci PublishLNN(g_pkgName, &g_publishInfo, &g_publishCb); 804060ff233Sopenharmony_ci int32_t ret = StopPublishLNN(g_pkgName, g_publishInfo.publishId); 805060ff233Sopenharmony_ci EXPECT_EQ(ret, SOFTBUS_OK); 806060ff233Sopenharmony_ci 807060ff233Sopenharmony_ci g_publishInfo.freq = MID; 808060ff233Sopenharmony_ci PublishLNN(g_pkgName, &g_publishInfo, &g_publishCb); 809060ff233Sopenharmony_ci ret = StopPublishLNN(g_pkgName, g_publishInfo.publishId); 810060ff233Sopenharmony_ci EXPECT_EQ(ret, SOFTBUS_OK); 811060ff233Sopenharmony_ci 812060ff233Sopenharmony_ci g_publishInfo.freq = HIGH; 813060ff233Sopenharmony_ci PublishLNN(g_pkgName, &g_publishInfo, &g_publishCb); 814060ff233Sopenharmony_ci ret = StopPublishLNN(g_pkgName, g_publishInfo.publishId); 815060ff233Sopenharmony_ci EXPECT_EQ(ret, SOFTBUS_OK); 816060ff233Sopenharmony_ci 817060ff233Sopenharmony_ci g_publishInfo.freq = SUPER_HIGH; 818060ff233Sopenharmony_ci PublishLNN(g_pkgName, &g_publishInfo, &g_publishCb); 819060ff233Sopenharmony_ci ret = StopPublishLNN(g_pkgName, g_publishInfo.publishId); 820060ff233Sopenharmony_ci EXPECT_EQ(ret, SOFTBUS_OK); 821060ff233Sopenharmony_ci 822060ff233Sopenharmony_ci g_publishInfo.freq = EXTREME_HIGH; 823060ff233Sopenharmony_ci PublishLNN(g_pkgName, &g_publishInfo, &g_publishCb); 824060ff233Sopenharmony_ci ret = StopPublishLNN(g_pkgName, g_publishInfo.publishId); 825060ff233Sopenharmony_ci EXPECT_EQ(ret, SOFTBUS_OK); 826060ff233Sopenharmony_ci} 827060ff233Sopenharmony_ci 828060ff233Sopenharmony_ci/** 829060ff233Sopenharmony_ci * @tc.name: StopPublishLNNTest005 830060ff233Sopenharmony_ci * @tc.desc: Test different freq with stop passive BLE publish. 831060ff233Sopenharmony_ci * @tc.type: FUNC 832060ff233Sopenharmony_ci * @tc.require: The StopPublishLNN operates normally. 833060ff233Sopenharmony_ci */ 834060ff233Sopenharmony_ciHWTEST_F(DiscSdkTest, StopPublishLNNTest005, TestSize.Level1) 835060ff233Sopenharmony_ci{ 836060ff233Sopenharmony_ci g_publishInfo.publishId = GetPublishId(); 837060ff233Sopenharmony_ci g_publishInfo.mode = DISCOVER_MODE_PASSIVE; 838060ff233Sopenharmony_ci g_publishInfo.medium = BLE; 839060ff233Sopenharmony_ci 840060ff233Sopenharmony_ci bool isBtOn = SoftbusTestGetBtStatus(); 841060ff233Sopenharmony_ci printf("bt status %s\n", isBtOn ? "on" : "off"); 842060ff233Sopenharmony_ci 843060ff233Sopenharmony_ci PublishLNN(g_pkgName, &g_publishInfo, &g_publishCb); 844060ff233Sopenharmony_ci int32_t ret = StopPublishLNN(g_pkgName, g_publishInfo.publishId); 845060ff233Sopenharmony_ci EXPECT_EQ(isBtOn, (ret == SOFTBUS_OK)); 846060ff233Sopenharmony_ci 847060ff233Sopenharmony_ci g_publishInfo.freq = MID; 848060ff233Sopenharmony_ci PublishLNN(g_pkgName, &g_publishInfo, &g_publishCb); 849060ff233Sopenharmony_ci ret = StopPublishLNN(g_pkgName, g_publishInfo.publishId); 850060ff233Sopenharmony_ci EXPECT_EQ(isBtOn, (ret == SOFTBUS_OK)); 851060ff233Sopenharmony_ci 852060ff233Sopenharmony_ci g_publishInfo.freq = HIGH; 853060ff233Sopenharmony_ci PublishLNN(g_pkgName, &g_publishInfo, &g_publishCb); 854060ff233Sopenharmony_ci ret = StopPublishLNN(g_pkgName, g_publishInfo.publishId); 855060ff233Sopenharmony_ci EXPECT_EQ(isBtOn, (ret == SOFTBUS_OK)); 856060ff233Sopenharmony_ci 857060ff233Sopenharmony_ci g_publishInfo.freq = SUPER_HIGH; 858060ff233Sopenharmony_ci PublishLNN(g_pkgName, &g_publishInfo, &g_publishCb); 859060ff233Sopenharmony_ci ret = StopPublishLNN(g_pkgName, g_publishInfo.publishId); 860060ff233Sopenharmony_ci EXPECT_EQ(isBtOn, (ret == SOFTBUS_OK)); 861060ff233Sopenharmony_ci 862060ff233Sopenharmony_ci g_publishInfo.freq = EXTREME_HIGH; 863060ff233Sopenharmony_ci PublishLNN(g_pkgName, &g_publishInfo, &g_publishCb); 864060ff233Sopenharmony_ci ret = StopPublishLNN(g_pkgName, g_publishInfo.publishId); 865060ff233Sopenharmony_ci EXPECT_EQ(isBtOn, (ret == SOFTBUS_OK)); 866060ff233Sopenharmony_ci} 867060ff233Sopenharmony_ci 868060ff233Sopenharmony_ci/** 869060ff233Sopenharmony_ci * @tc.name: StopRefreshLNNTest001 870060ff233Sopenharmony_ci * @tc.desc: Verify StopRefreshLNN invalid parameter. 871060ff233Sopenharmony_ci * @tc.type: FUNC 872060ff233Sopenharmony_ci * @tc.require: 873060ff233Sopenharmony_ci */ 874060ff233Sopenharmony_ciHWTEST_F(DiscSdkTest, StopRefreshLNNTest001, TestSize.Level1) 875060ff233Sopenharmony_ci{ 876060ff233Sopenharmony_ci int32_t tmpId = GetSubscribeId(); 877060ff233Sopenharmony_ci g_sInfo.subscribeId = tmpId; 878060ff233Sopenharmony_ci RefreshLNN(g_pkgName, &g_sInfo, &g_refreshCb); 879060ff233Sopenharmony_ci 880060ff233Sopenharmony_ci int32_t ret = StopRefreshLNN(nullptr, tmpId); 881060ff233Sopenharmony_ci EXPECT_EQ(ret, SOFTBUS_INVALID_PARAM); 882060ff233Sopenharmony_ci ret = StopRefreshLNN(g_erroPkgName, tmpId); 883060ff233Sopenharmony_ci EXPECT_NE(ret, SOFTBUS_OK); 884060ff233Sopenharmony_ci} 885060ff233Sopenharmony_ci 886060ff233Sopenharmony_ci/** 887060ff233Sopenharmony_ci * @tc.name: StopRefreshLNNTest002 888060ff233Sopenharmony_ci * @tc.desc: test under normal conditions. 889060ff233Sopenharmony_ci * @tc.type: FUNC 890060ff233Sopenharmony_ci * @tc.require: 891060ff233Sopenharmony_ci */ 892060ff233Sopenharmony_ciHWTEST_F(DiscSdkTest, StopRefreshLNNTest002, TestSize.Level1) 893060ff233Sopenharmony_ci{ 894060ff233Sopenharmony_ci int32_t tmpId1 = GetSubscribeId(); 895060ff233Sopenharmony_ci int32_t tmpId2 = GetSubscribeId(); 896060ff233Sopenharmony_ci 897060ff233Sopenharmony_ci g_sInfo.subscribeId = tmpId1; 898060ff233Sopenharmony_ci RefreshLNN(g_pkgName, &g_sInfo, &g_refreshCb); 899060ff233Sopenharmony_ci g_sInfo1.subscribeId = tmpId2; 900060ff233Sopenharmony_ci RefreshLNN(g_pkgName, &g_sInfo1, &g_refreshCb); 901060ff233Sopenharmony_ci 902060ff233Sopenharmony_ci int32_t ret = StopRefreshLNN(g_pkgName, tmpId1); 903060ff233Sopenharmony_ci EXPECT_EQ(ret, SOFTBUS_OK); 904060ff233Sopenharmony_ci ret = StopRefreshLNN(g_pkgName, tmpId2); 905060ff233Sopenharmony_ci EXPECT_EQ(ret, SOFTBUS_OK); 906060ff233Sopenharmony_ci} 907060ff233Sopenharmony_ci 908060ff233Sopenharmony_ci/** 909060ff233Sopenharmony_ci * @tc.name: StopRefreshLNNTest003 910060ff233Sopenharmony_ci * @tc.desc: Verify RefreshLNN and StopRefreshLNN same parameter again. 911060ff233Sopenharmony_ci * @tc.type: FUNC 912060ff233Sopenharmony_ci * @tc.require: 913060ff233Sopenharmony_ci */ 914060ff233Sopenharmony_ciHWTEST_F(DiscSdkTest, StopRefreshLNNTest003, TestSize.Level1) 915060ff233Sopenharmony_ci{ 916060ff233Sopenharmony_ci int32_t tmpId = GetSubscribeId(); 917060ff233Sopenharmony_ci g_sInfo.subscribeId = tmpId; 918060ff233Sopenharmony_ci RefreshLNN(g_pkgName, &g_sInfo, &g_refreshCb); 919060ff233Sopenharmony_ci 920060ff233Sopenharmony_ci int32_t ret = StopRefreshLNN(g_pkgName, tmpId); 921060ff233Sopenharmony_ci EXPECT_EQ(ret, SOFTBUS_OK); 922060ff233Sopenharmony_ci} 923060ff233Sopenharmony_ci 924060ff233Sopenharmony_ci/** 925060ff233Sopenharmony_ci * @tc.name: StopRefreshLNNTest004 926060ff233Sopenharmony_ci * @tc.desc:Test different freq with stop passive CoAP discovery. 927060ff233Sopenharmony_ci * @tc.type: FUNC 928060ff233Sopenharmony_ci * @tc.require: The StopRefreshLNN operates normally 929060ff233Sopenharmony_ci */ 930060ff233Sopenharmony_ciHWTEST_F(DiscSdkTest, StopRefreshLNNTest004, TestSize.Level1) 931060ff233Sopenharmony_ci{ 932060ff233Sopenharmony_ci g_subscribeInfo.subscribeId = GetSubscribeId(); 933060ff233Sopenharmony_ci g_subscribeInfo.mode = DISCOVER_MODE_PASSIVE; 934060ff233Sopenharmony_ci g_subscribeInfo.medium = COAP; 935060ff233Sopenharmony_ci 936060ff233Sopenharmony_ci RefreshLNN(g_pkgName, &g_subscribeInfo, &g_refreshCb); 937060ff233Sopenharmony_ci int32_t ret = StopRefreshLNN(g_pkgName, g_subscribeInfo.subscribeId); 938060ff233Sopenharmony_ci EXPECT_EQ(ret, SOFTBUS_OK); 939060ff233Sopenharmony_ci 940060ff233Sopenharmony_ci g_subscribeInfo.freq = MID; 941060ff233Sopenharmony_ci RefreshLNN(g_pkgName, &g_subscribeInfo, &g_refreshCb); 942060ff233Sopenharmony_ci ret = StopRefreshLNN(g_pkgName, g_subscribeInfo.subscribeId); 943060ff233Sopenharmony_ci EXPECT_EQ(ret, SOFTBUS_OK); 944060ff233Sopenharmony_ci 945060ff233Sopenharmony_ci g_subscribeInfo.freq = HIGH; 946060ff233Sopenharmony_ci RefreshLNN(g_pkgName, &g_subscribeInfo, &g_refreshCb); 947060ff233Sopenharmony_ci ret = StopRefreshLNN(g_pkgName, g_subscribeInfo.subscribeId); 948060ff233Sopenharmony_ci EXPECT_EQ(ret, SOFTBUS_OK); 949060ff233Sopenharmony_ci 950060ff233Sopenharmony_ci g_subscribeInfo.freq = SUPER_HIGH; 951060ff233Sopenharmony_ci RefreshLNN(g_pkgName, &g_subscribeInfo, &g_refreshCb); 952060ff233Sopenharmony_ci ret = StopRefreshLNN(g_pkgName, g_subscribeInfo.subscribeId); 953060ff233Sopenharmony_ci EXPECT_EQ(ret, SOFTBUS_OK); 954060ff233Sopenharmony_ci 955060ff233Sopenharmony_ci g_subscribeInfo.freq = EXTREME_HIGH; 956060ff233Sopenharmony_ci RefreshLNN(g_pkgName, &g_subscribeInfo, &g_refreshCb); 957060ff233Sopenharmony_ci ret = StopRefreshLNN(g_pkgName, g_subscribeInfo.subscribeId); 958060ff233Sopenharmony_ci EXPECT_EQ(ret, SOFTBUS_OK); 959060ff233Sopenharmony_ci} 960060ff233Sopenharmony_ci 961060ff233Sopenharmony_ci/** 962060ff233Sopenharmony_ci * @tc.name: StopRefreshLNNTest005 963060ff233Sopenharmony_ci * @tc.desc:Test different freq with stop passive BLE discovery. 964060ff233Sopenharmony_ci * @tc.type: FUNC 965060ff233Sopenharmony_ci * @tc.require: The StopRefreshLNN operates normally 966060ff233Sopenharmony_ci */ 967060ff233Sopenharmony_ciHWTEST_F(DiscSdkTest, StopRefreshLNNTest005, TestSize.Level1) 968060ff233Sopenharmony_ci{ 969060ff233Sopenharmony_ci g_subscribeInfo.subscribeId = GetSubscribeId(); 970060ff233Sopenharmony_ci g_subscribeInfo.mode = DISCOVER_MODE_PASSIVE; 971060ff233Sopenharmony_ci g_subscribeInfo.medium = BLE; 972060ff233Sopenharmony_ci 973060ff233Sopenharmony_ci bool isBtOn = SoftbusTestGetBtStatus(); 974060ff233Sopenharmony_ci printf("bt status %s\n", isBtOn ? "on" : "off"); 975060ff233Sopenharmony_ci 976060ff233Sopenharmony_ci RefreshLNN(g_pkgName, &g_subscribeInfo, &g_refreshCb); 977060ff233Sopenharmony_ci int32_t ret = StopRefreshLNN(g_pkgName, g_subscribeInfo.subscribeId); 978060ff233Sopenharmony_ci EXPECT_EQ(isBtOn, (ret == SOFTBUS_OK)); 979060ff233Sopenharmony_ci 980060ff233Sopenharmony_ci g_subscribeInfo.freq = MID; 981060ff233Sopenharmony_ci RefreshLNN(g_pkgName, &g_subscribeInfo, &g_refreshCb); 982060ff233Sopenharmony_ci ret = StopRefreshLNN(g_pkgName, g_subscribeInfo.subscribeId); 983060ff233Sopenharmony_ci EXPECT_EQ(isBtOn, (ret == SOFTBUS_OK)); 984060ff233Sopenharmony_ci 985060ff233Sopenharmony_ci g_subscribeInfo.freq = HIGH; 986060ff233Sopenharmony_ci RefreshLNN(g_pkgName, &g_subscribeInfo, &g_refreshCb); 987060ff233Sopenharmony_ci ret = StopRefreshLNN(g_pkgName, g_subscribeInfo.subscribeId); 988060ff233Sopenharmony_ci EXPECT_EQ(isBtOn, (ret == SOFTBUS_OK)); 989060ff233Sopenharmony_ci 990060ff233Sopenharmony_ci g_subscribeInfo.freq = SUPER_HIGH; 991060ff233Sopenharmony_ci RefreshLNN(g_pkgName, &g_subscribeInfo, &g_refreshCb); 992060ff233Sopenharmony_ci ret = StopRefreshLNN(g_pkgName, g_subscribeInfo.subscribeId); 993060ff233Sopenharmony_ci EXPECT_EQ(isBtOn, (ret == SOFTBUS_OK)); 994060ff233Sopenharmony_ci 995060ff233Sopenharmony_ci g_subscribeInfo.freq = EXTREME_HIGH; 996060ff233Sopenharmony_ci RefreshLNN(g_pkgName, &g_subscribeInfo, &g_refreshCb); 997060ff233Sopenharmony_ci ret = StopRefreshLNN(g_pkgName, g_subscribeInfo.subscribeId); 998060ff233Sopenharmony_ci EXPECT_EQ(isBtOn, (ret == SOFTBUS_OK)); 999060ff233Sopenharmony_ci} 1000060ff233Sopenharmony_ci 1001060ff233Sopenharmony_ci/** 1002060ff233Sopenharmony_ci * @tc.name:DiscRecoveryPublishTest01 1003060ff233Sopenharmony_ci * @tc.desc: Test recovery publish. 1004060ff233Sopenharmony_ci * @tc.in: Test module, Test number, Test levels. 1005060ff233Sopenharmony_ci * @tc.out: Zero 1006060ff233Sopenharmony_ci * @tc.type: FUNC 1007060ff233Sopenharmony_ci * @tc.require:The DiscRecoveryPublish operates normally 1008060ff233Sopenharmony_ci */ 1009060ff233Sopenharmony_ciHWTEST_F(DiscSdkTest, DiscRecoveryPublishTest01, TestSize.Level1) 1010060ff233Sopenharmony_ci{ 1011060ff233Sopenharmony_ci int32_t ret; 1012060ff233Sopenharmony_ci PublishInfo testInfo = { 1013060ff233Sopenharmony_ci .publishId = GetPublishId(), 1014060ff233Sopenharmony_ci .mode = DISCOVER_MODE_PASSIVE, 1015060ff233Sopenharmony_ci .medium = COAP, 1016060ff233Sopenharmony_ci .freq = LOW, 1017060ff233Sopenharmony_ci .capability = "dvKit", 1018060ff233Sopenharmony_ci .capabilityData = (unsigned char *)"capdata2", 1019060ff233Sopenharmony_ci .dataLen = (unsigned int) strlen("capdata2") 1020060ff233Sopenharmony_ci }; 1021060ff233Sopenharmony_ci BusCenterClientDeinit(); 1022060ff233Sopenharmony_ci BusCenterClientInit(); 1023060ff233Sopenharmony_ci ret = DiscRecoveryPublish(); 1024060ff233Sopenharmony_ci EXPECT_EQ(ret, SOFTBUS_OK); 1025060ff233Sopenharmony_ci 1026060ff233Sopenharmony_ci ret = PublishLNN(g_pkgName, &testInfo, &g_publishCb); 1027060ff233Sopenharmony_ci EXPECT_EQ(ret, SOFTBUS_OK); 1028060ff233Sopenharmony_ci ret = DiscRecoveryPublish(); 1029060ff233Sopenharmony_ci EXPECT_TRUE(ret != 0); 1030060ff233Sopenharmony_ci ret = StopPublishLNN(g_pkgName, testInfo.publishId); 1031060ff233Sopenharmony_ci 1032060ff233Sopenharmony_ci ret = PublishLNN(g_pkgName, &testInfo, &g_publishCb); 1033060ff233Sopenharmony_ci EXPECT_EQ(ret, SOFTBUS_OK); 1034060ff233Sopenharmony_ci ret = StopPublishLNN(g_pkgName, testInfo.publishId); 1035060ff233Sopenharmony_ci ret = DiscRecoveryPublish(); 1036060ff233Sopenharmony_ci EXPECT_EQ(ret, SOFTBUS_OK); 1037060ff233Sopenharmony_ci} 1038060ff233Sopenharmony_ci 1039060ff233Sopenharmony_ci/** 1040060ff233Sopenharmony_ci * @tc.name:DiscRecoverySubscribeTest01 1041060ff233Sopenharmony_ci * @tc.desc: Test recovery subscribe. 1042060ff233Sopenharmony_ci * @tc.in: Test module, Test number, Test levels. 1043060ff233Sopenharmony_ci * @tc.out: Zero 1044060ff233Sopenharmony_ci * @tc.type: FUNC 1045060ff233Sopenharmony_ci * @tc.require:The DiscRecoverySubscribe operates normally 1046060ff233Sopenharmony_ci */ 1047060ff233Sopenharmony_ciHWTEST_F(DiscSdkTest, DiscRecoverySubscribeTest01, TestSize.Level1) 1048060ff233Sopenharmony_ci{ 1049060ff233Sopenharmony_ci int32_t ret; 1050060ff233Sopenharmony_ci SubscribeInfo testInfo = { 1051060ff233Sopenharmony_ci .subscribeId = GetSubscribeId(), 1052060ff233Sopenharmony_ci .mode = DISCOVER_MODE_PASSIVE, 1053060ff233Sopenharmony_ci .medium = AUTO, 1054060ff233Sopenharmony_ci .freq = LOW, 1055060ff233Sopenharmony_ci .isSameAccount = true, 1056060ff233Sopenharmony_ci .isWakeRemote = false, 1057060ff233Sopenharmony_ci .capability = "dvKit", 1058060ff233Sopenharmony_ci .capabilityData = (unsigned char *)"capdata3", 1059060ff233Sopenharmony_ci .dataLen = (unsigned int) strlen("capdata3") 1060060ff233Sopenharmony_ci }; 1061060ff233Sopenharmony_ci BusCenterClientDeinit(); 1062060ff233Sopenharmony_ci BusCenterClientInit(); 1063060ff233Sopenharmony_ci ret = DiscRecoverySubscribe(); 1064060ff233Sopenharmony_ci EXPECT_EQ(ret, SOFTBUS_OK); 1065060ff233Sopenharmony_ci 1066060ff233Sopenharmony_ci ret = RefreshLNN(g_pkgName, &testInfo, &g_refreshCb); 1067060ff233Sopenharmony_ci EXPECT_EQ(ret, SOFTBUS_OK); 1068060ff233Sopenharmony_ci ret = DiscRecoverySubscribe(); 1069060ff233Sopenharmony_ci EXPECT_TRUE(ret != 0); 1070060ff233Sopenharmony_ci ret = StopRefreshLNN(g_pkgName, testInfo.subscribeId); 1071060ff233Sopenharmony_ci 1072060ff233Sopenharmony_ci ret = RefreshLNN(g_pkgName, &testInfo, &g_refreshCb); 1073060ff233Sopenharmony_ci EXPECT_EQ(ret, SOFTBUS_OK); 1074060ff233Sopenharmony_ci ret = StopRefreshLNN(g_pkgName, testInfo.subscribeId); 1075060ff233Sopenharmony_ci ret = DiscRecoverySubscribe(); 1076060ff233Sopenharmony_ci EXPECT_EQ(ret, SOFTBUS_OK); 1077060ff233Sopenharmony_ci} 1078060ff233Sopenharmony_ci} // namespace OHOS