• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 <cstring>
17 #include <securec.h>
18 
19 #include "gtest/gtest.h"
20 
21 #include "disc_log.h"
22 #include "softbus_adapter_mem.h"
23 #include "softbus_ble_utils.h"
24 #include "softbus_broadcast_type.h"
25 #include "softbus_broadcast_utils.h"
26 #include "softbus_error_code.h"
27 
28 using namespace testing::ext;
29 
30 namespace OHOS {
31 
32 /**
33  * @tc.name: SoftbusBleUtilsTest_BtStatusToSoftBus001
34  * @tc.desc: test bt status convert to softbus status
35  * @tc.type: FUNC
36  * @tc.require: 1
37  */
38 HWTEST(SoftbusBleUtilsTest, BtStatusToSoftBus001, TestSize.Level3)
39 {
40     int32_t status = BtStatusToSoftBus(OHOS_BT_STATUS_SUCCESS);
41     EXPECT_EQ(status, SOFTBUS_BC_STATUS_SUCCESS);
42 
43     status = BtStatusToSoftBus(OHOS_BT_STATUS_FAIL);
44     EXPECT_EQ(status, SOFTBUS_BC_STATUS_FAIL);
45 
46     status = BtStatusToSoftBus(OHOS_BT_STATUS_NOT_READY);
47     EXPECT_EQ(status, SOFTBUS_BC_STATUS_NOT_READY);
48 
49     status = BtStatusToSoftBus(OHOS_BT_STATUS_NOMEM);
50     EXPECT_EQ(status, SOFTBUS_BC_STATUS_NOMEM);
51 
52     status = BtStatusToSoftBus(OHOS_BT_STATUS_BUSY);
53     EXPECT_EQ(status, SOFTBUS_BC_STATUS_BUSY);
54 
55     status = BtStatusToSoftBus(OHOS_BT_STATUS_DONE);
56     EXPECT_EQ(status, SOFTBUS_BC_STATUS_DONE);
57 
58     status = BtStatusToSoftBus(OHOS_BT_STATUS_UNSUPPORTED);
59     EXPECT_EQ(status, SOFTBUS_BC_STATUS_UNSUPPORTED);
60 
61     status = BtStatusToSoftBus(OHOS_BT_STATUS_PARM_INVALID);
62     EXPECT_EQ(status, SOFTBUS_BC_STATUS_PARM_INVALID);
63 
64     status = BtStatusToSoftBus(OHOS_BT_STATUS_UNHANDLED);
65     EXPECT_EQ(status, SOFTBUS_BC_STATUS_UNHANDLED);
66 
67     status = BtStatusToSoftBus(OHOS_BT_STATUS_AUTH_FAILURE);
68     EXPECT_EQ(status, SOFTBUS_BC_STATUS_AUTH_FAILURE);
69 
70     status = BtStatusToSoftBus(OHOS_BT_STATUS_RMT_DEV_DOWN);
71     EXPECT_EQ(status, SOFTBUS_BC_STATUS_RMT_DEV_DOWN);
72 
73     status = BtStatusToSoftBus(OHOS_BT_STATUS_AUTH_REJECTED);
74     EXPECT_EQ(status, SOFTBUS_BC_STATUS_AUTH_REJECTED);
75 
76     status = BtStatusToSoftBus(OHOS_BT_STATUS_DUPLICATED_ADDR);
77     EXPECT_EQ(status, SOFTBUS_BC_STATUS_DUPLICATED_ADDR);
78 
79     int32_t invalidStatus = 100;
80     status = BtStatusToSoftBus(static_cast<BtStatus>(invalidStatus));
81     EXPECT_EQ(status, SOFTBUS_BC_STATUS_FAIL);
82 }
83 
84 /**
85  * @tc.name: SoftbusBleUtilsTest_SoftbusAdvParamToBt001
86  * @tc.desc: test softbus adv param convert to bt adv params
87  * @tc.type: FUNC
88  * @tc.require: 1
89  */
90 HWTEST(SoftbusBleUtilsTest, SoftbusAdvParamToBt001, TestSize.Level3)
91 {
92     SoftbusBroadcastParam softbusAdvParam = {};
93     softbusAdvParam.minInterval = 1;
94     softbusAdvParam.maxInterval = 1;
95     softbusAdvParam.advType = 1;
96     softbusAdvParam.advFilterPolicy = 1;
97     softbusAdvParam.ownAddrType = 1;
98     softbusAdvParam.peerAddrType = 1;
99     softbusAdvParam.channelMap = 1;
100     softbusAdvParam.duration = 1;
101     softbusAdvParam.txPower = 1;
102 
103     BleAdvParams bleAdvParams = {};
104     SoftbusAdvParamToBt(&softbusAdvParam, &bleAdvParams);
105 
106     EXPECT_EQ(bleAdvParams.minInterval, softbusAdvParam.minInterval);
107     EXPECT_EQ(bleAdvParams.maxInterval, softbusAdvParam.maxInterval);
108     EXPECT_EQ(bleAdvParams.advType, softbusAdvParam.advType);
109     EXPECT_EQ(bleAdvParams.advFilterPolicy, softbusAdvParam.advFilterPolicy);
110     EXPECT_EQ(bleAdvParams.ownAddrType, softbusAdvParam.ownAddrType);
111     EXPECT_EQ(bleAdvParams.peerAddrType, softbusAdvParam.peerAddrType);
112     EXPECT_EQ(bleAdvParams.channelMap, softbusAdvParam.channelMap);
113     EXPECT_EQ(bleAdvParams.duration, softbusAdvParam.duration);
114     EXPECT_EQ(bleAdvParams.txPower, softbusAdvParam.txPower);
115 
116     softbusAdvParam.advFilterPolicy = SOFTBUS_BC_ADV_FILTER_ALLOW_SCAN_ANY_CON_WLST;
117     softbusAdvParam.advType = SOFTBUS_BC_ADV_SCAN_IND;
118     SoftbusAdvParamToBt(&softbusAdvParam, &bleAdvParams);
119     EXPECT_EQ(static_cast<int>(bleAdvParams.advFilterPolicy), static_cast<int>(softbusAdvParam.advFilterPolicy));
120     EXPECT_EQ(static_cast<int>(bleAdvParams.advType), static_cast<int>(softbusAdvParam.advType));
121 
122     softbusAdvParam.advFilterPolicy = SOFTBUS_BC_ADV_FILTER_ALLOW_SCAN_WLST_CON_WLST;
123     softbusAdvParam.advType = SOFTBUS_BC_ADV_DIRECT_IND_LOW;
124     SoftbusAdvParamToBt(&softbusAdvParam, &bleAdvParams);
125     EXPECT_EQ(static_cast<int>(bleAdvParams.advFilterPolicy), static_cast<int>(softbusAdvParam.advFilterPolicy));
126     EXPECT_EQ(static_cast<int>(bleAdvParams.advType), static_cast<int>(softbusAdvParam.advType));
127 
128     softbusAdvParam.advFilterPolicy = (SOFTBUS_BC_ADV_FILTER_ALLOW_SCAN_WLST_CON_WLST
129                                         + SOFTBUS_BC_ADV_FILTER_ALLOW_SCAN_WLST_CON_ANY);
130     softbusAdvParam.advType = (SOFTBUS_BC_ADV_DIRECT_IND_LOW + SOFTBUS_BC_ADV_DIRECT_IND_HIGH);
131     SoftbusAdvParamToBt(&softbusAdvParam, &bleAdvParams);
132     EXPECT_EQ(static_cast<int>(bleAdvParams.advFilterPolicy),
133              static_cast<int>(SOFTBUS_BC_ADV_FILTER_ALLOW_SCAN_ANY_CON_ANY));
134     EXPECT_EQ(static_cast<int>(bleAdvParams.advType), static_cast<int>(SOFTBUS_BC_ADV_IND));
135 }
136 
137 /**
138  * @tc.name: SoftbusBleUtilsTest_BtScanResultToSoftbus001
139  * @tc.desc: test bt scan result convert to softbus scan result
140  * @tc.type: FUNC
141  * @tc.require: 1
142  */
143 HWTEST(SoftbusBleUtilsTest, BtScanResultToSoftbus001, TestSize.Level3)
144 {
145     BtScanResultData btScanResult = {};
146     btScanResult.eventType = 1;
147     btScanResult.dataStatus = 1;
148     btScanResult.addrType = 1;
149     btScanResult.primaryPhy = 1;
150     btScanResult.secondaryPhy = 1;
151     btScanResult.advSid = 1;
152     btScanResult.txPower = 1;
153     btScanResult.rssi = 1;
154 
155     SoftBusBcScanResult softbusScanResult = {};
156     BtScanResultToSoftbus(&btScanResult, &softbusScanResult);
157 
158     EXPECT_EQ(softbusScanResult.eventType, btScanResult.eventType);
159     EXPECT_EQ(softbusScanResult.dataStatus, btScanResult.dataStatus);
160     EXPECT_EQ(softbusScanResult.addrType, btScanResult.addrType);
161     EXPECT_EQ(softbusScanResult.primaryPhy, btScanResult.primaryPhy);
162     EXPECT_EQ(softbusScanResult.secondaryPhy, btScanResult.secondaryPhy);
163     EXPECT_EQ(softbusScanResult.advSid, btScanResult.advSid);
164     EXPECT_EQ(softbusScanResult.txPower, btScanResult.txPower);
165     EXPECT_EQ(softbusScanResult.rssi, btScanResult.rssi);
166 }
167 
168 
169 /**
170  * @tc.name: SoftbusBleUtilsTest_BtScanResultToSoftbus002
171  * @tc.desc: test bt scan result convert to softbus scan result for BtScanDataStatusToSoftbus
172  * @tc.type: FUNC
173  * @tc.require: 1
174  */
175 HWTEST(SoftbusBleUtilsTest, BtScanResultToSoftbus002, TestSize.Level3)
176 {
177     BtScanResultData btScanResult = {};
178     btScanResult.secondaryPhy = 1;
179     btScanResult.advSid = 1;
180     btScanResult.txPower = 1;
181     btScanResult.rssi = 1;
182 
183     SoftBusBcScanResult softbusScanResult = {};
184 
185     btScanResult.eventType = OHOS_BLE_EVT_NON_CONNECTABLE_NON_SCANNABLE;
186     btScanResult.dataStatus = OHOS_BLE_DATA_INCOMPLETE_TRUNCATED;
187     btScanResult.addrType = OHOS_BLE_PUBLIC_DEVICE_ADDRESS;
188     btScanResult.primaryPhy = OHOS_BLE_SCAN_PHY_NO_PACKET;
189     BtScanResultToSoftbus(&btScanResult, &softbusScanResult);
190     EXPECT_EQ(softbusScanResult.eventType, btScanResult.eventType);
191     EXPECT_EQ(softbusScanResult.dataStatus, btScanResult.dataStatus);
192     EXPECT_EQ(softbusScanResult.addrType, btScanResult.addrType);
193     EXPECT_EQ(softbusScanResult.primaryPhy, btScanResult.primaryPhy);
194 
195     btScanResult.eventType = OHOS_BLE_EVT_SCANNABLE;
196     btScanResult.dataStatus = (OHOS_BLE_DATA_INCOMPLETE_TRUNCATED +
197                                OHOS_BLE_DATA_INCOMPLETE_MORE_TO_COME);
198     btScanResult.addrType = OHOS_BLE_PUBLIC_IDENTITY_ADDRESS;
199     btScanResult.primaryPhy = OHOS_BLE_SCAN_PHY_2M;
200     BtScanResultToSoftbus(&btScanResult, &softbusScanResult);
201     EXPECT_EQ(softbusScanResult.eventType, btScanResult.eventType);
202     EXPECT_EQ(softbusScanResult.dataStatus, SOFTBUS_BC_DATA_INCOMPLETE_TRUNCATED);
203     EXPECT_EQ(softbusScanResult.addrType, btScanResult.addrType);
204     EXPECT_EQ(softbusScanResult.primaryPhy, btScanResult.primaryPhy);
205 
206     btScanResult.eventType = OHOS_BLE_EVT_NON_CONNECTABLE_NON_SCANNABLE_DIRECTED;
207     btScanResult.dataStatus = OHOS_BLE_DATA_INCOMPLETE_MORE_TO_COME;
208     btScanResult.addrType = OHOS_BLE_RANDOM_STATIC_IDENTITY_ADDRESS;
209     btScanResult.primaryPhy = OHOS_BLE_SCAN_PHY_CODED;
210     BtScanResultToSoftbus(&btScanResult, &softbusScanResult);
211     EXPECT_EQ(softbusScanResult.eventType, btScanResult.eventType);
212     EXPECT_EQ(softbusScanResult.addrType, btScanResult.addrType);
213     EXPECT_EQ(softbusScanResult.primaryPhy, btScanResult.primaryPhy);
214 
215     btScanResult.eventType = OHOS_BLE_EVT_CONNECTABLE_DIRECTED;
216     btScanResult.addrType = OHOS_BLE_UNRESOLVABLE_RANDOM_DEVICE_ADDRESS;
217     btScanResult.primaryPhy = (OHOS_BLE_SCAN_PHY_CODED + OHOS_BLE_SCAN_PHY_1M);
218     BtScanResultToSoftbus(&btScanResult, &softbusScanResult);
219     EXPECT_EQ(softbusScanResult.eventType, btScanResult.eventType);
220     EXPECT_EQ(softbusScanResult.addrType, btScanResult.addrType);
221     EXPECT_EQ(softbusScanResult.primaryPhy, SOFTBUS_BC_SCAN_PHY_NO_PACKET);
222 }
223 
224 /**
225  * @tc.name: SoftbusBleUtilsTest_BtScanResultToSoftbus003
226  * @tc.desc: test bt scan result convert to softbus scan result for BtScanDataStatusToSoftbus
227  * @tc.type: FUNC
228  * @tc.require: 1
229  */
230 HWTEST(SoftbusBleUtilsTest, BtScanResultToSoftbus003, TestSize.Level3)
231 {
232     BtScanResultData btScanResult = {};
233     btScanResult.secondaryPhy = 1;
234     btScanResult.advSid = 1;
235     btScanResult.txPower = 1;
236     btScanResult.rssi = 1;
237 
238     SoftBusBcScanResult softbusScanResult = {};
239 
240     btScanResult.eventType = OHOS_BLE_EVT_SCANNABLE_DIRECTED;
241     btScanResult.addrType = OHOS_BLE_NO_ADDRESS;
242     BtScanResultToSoftbus(&btScanResult, &softbusScanResult);
243     EXPECT_EQ(softbusScanResult.eventType, btScanResult.eventType);
244     EXPECT_EQ(softbusScanResult.addrType, btScanResult.addrType);
245 
246     btScanResult.eventType = OHOS_BLE_EVT_LEGACY_NON_CONNECTABLE;
247     btScanResult.addrType = (OHOS_BLE_UNRESOLVABLE_RANDOM_DEVICE_ADDRESS -
248                              OHOS_BLE_RANDOM_STATIC_IDENTITY_ADDRESS);
249     BtScanResultToSoftbus(&btScanResult, &softbusScanResult);
250     EXPECT_EQ(softbusScanResult.eventType, btScanResult.eventType);
251     EXPECT_EQ(softbusScanResult.addrType, OHOS_BLE_NO_ADDRESS);
252 
253     btScanResult.eventType = OHOS_BLE_EVT_LEGACY_SCANNABLE;
254     btScanResult.addrType = OHOS_BLE_RANDOM_DEVICE_ADDRESS;
255     BtScanResultToSoftbus(&btScanResult, &softbusScanResult);
256     EXPECT_EQ(softbusScanResult.eventType, btScanResult.eventType);
257 
258     btScanResult.eventType = OHOS_BLE_EVT_LEGACY_CONNECTABLE_DIRECTED;
259     BtScanResultToSoftbus(&btScanResult, &softbusScanResult);
260     EXPECT_EQ(softbusScanResult.eventType, btScanResult.eventType);
261 
262     btScanResult.eventType = OHOS_BLE_EVT_LEGACY_SCAN_RSP_TO_ADV_SCAN;
263     BtScanResultToSoftbus(&btScanResult, &softbusScanResult);
264     EXPECT_EQ(softbusScanResult.eventType, btScanResult.eventType);
265 
266     btScanResult.eventType = OHOS_BLE_EVT_LEGACY_SCAN_RSP_TO_ADV;
267     BtScanResultToSoftbus(&btScanResult, &softbusScanResult);
268     EXPECT_EQ(softbusScanResult.eventType, btScanResult.eventType);
269 
270     btScanResult.eventType = (OHOS_BLE_EVT_LEGACY_SCAN_RSP_TO_ADV + OHOS_BLE_EVT_CONNECTABLE);
271     BtScanResultToSoftbus(&btScanResult, &softbusScanResult);
272     EXPECT_EQ(softbusScanResult.eventType, SOFTBUS_BC_EVT_NON_CONNECTABLE_NON_SCANNABLE);
273 }
274 
275 /**
276  * @tc.name: SoftbusBleUtilsTest_BtScanResultToSoftbus004
277  * @tc.desc: test bt scan result with invalid params
278  * @tc.type: FUNC
279  * @tc.require: 1
280  */
281  HWTEST(SoftbusBleUtilsTest, BtScanResultToSoftbus004, TestSize.Level3)
282  {
283     BtScanResultData *src = nullptr;
284     SoftBusBcScanResult *dst = nullptr;
285     BtScanResultToSoftbus(src, dst);
286     EXPECT_EQ(dst, nullptr);
287 
288     BtScanResultData btScanResult = {};
289     BtScanResultToSoftbus(&btScanResult, dst);
290     EXPECT_EQ(dst, nullptr);
291 }
292 
293 /**
294  * @tc.name: SoftbusBleUtilsTest_SoftbusFilterToBt001
295  * @tc.desc: test softbus scan filter convert to bt scan filter
296  * @tc.type: FUNC
297  * @tc.require: 1
298  */
299 HWTEST(SoftbusBleUtilsTest, SoftbusFilterToBt001, TestSize.Level3)
300 {
301     SoftBusBcScanFilter softBusBcScanFilter = {};
302     softBusBcScanFilter.address = (int8_t *)"address";
303     softBusBcScanFilter.deviceName = (int8_t *)"deviceName";
304     softBusBcScanFilter.serviceUuid = 1;
305     softBusBcScanFilter.serviceDataLength = 1;
306     softBusBcScanFilter.manufactureId = 1;
307     softBusBcScanFilter.manufactureDataLength = 1;
308 
309     BleScanNativeFilter bleScanNativeFilter = {};
310     SoftbusFilterToBt(&bleScanNativeFilter, &softBusBcScanFilter, 1);
311     SoftBusFree(bleScanNativeFilter.serviceData);
312     SoftBusFree(bleScanNativeFilter.serviceDataMask);
313 
314     EXPECT_EQ(bleScanNativeFilter.address, (char *)softBusBcScanFilter.address);
315     EXPECT_EQ(bleScanNativeFilter.deviceName, (char *)softBusBcScanFilter.deviceName);
316     EXPECT_EQ(bleScanNativeFilter.manufactureId, softBusBcScanFilter.manufactureId);
317     EXPECT_EQ(bleScanNativeFilter.manufactureDataLength, softBusBcScanFilter.manufactureDataLength);
318 }
319 
320 /**
321  * @tc.name: SoftbusBleUtilsTest_FreeBtFilter001
322  * @tc.desc: test free bt scan filter
323  * @tc.type: FUNC
324  * @tc.require: 1
325  */
326 HWTEST(SoftbusBleUtilsTest, FreeBtFilter001, TestSize.Level3)
327 {
328     BleScanNativeFilter *bleScanNativeFilter = (BleScanNativeFilter *)calloc(1, sizeof(BleScanNativeFilter));
329     FreeBtFilter(bleScanNativeFilter, 1);
330 }
331 
332 /**
333  * @tc.name: SoftbusBleUtilsTest_DumpBleScanFilter001
334  * @tc.desc: test dump scan filter
335  * @tc.type: FUNC
336  * @tc.require: 1
337  */
338 HWTEST(SoftbusBleUtilsTest, DumpBleScanFilter001, TestSize.Level3)
339 {
340     BleScanNativeFilter *bleScanNativeFilter = (BleScanNativeFilter *)calloc(1, sizeof(BleScanNativeFilter));
341     DumpBleScanFilter(bleScanNativeFilter, 1);
342     free(bleScanNativeFilter);
343 }
344 
345 /**
346  * @tc.name: SoftbusBleUtilsTest_GetBtScanMode001
347  * @tc.desc: test get bt scan mode
348  * @tc.type: FUNC
349  * @tc.require: 1
350  */
351 HWTEST(SoftbusBleUtilsTest, GetBtScanMode001, TestSize.Level3)
352 {
353     int32_t scanMode = GetBtScanMode(SOFTBUS_BC_SCAN_INTERVAL_P2, SOFTBUS_BC_SCAN_WINDOW_P2);
354     EXPECT_EQ(scanMode, OHOS_BLE_SCAN_MODE_OP_P2_60_3000);
355 
356     scanMode = GetBtScanMode(SOFTBUS_BC_SCAN_INTERVAL_P10, SOFTBUS_BC_SCAN_WINDOW_P10);
357     EXPECT_EQ(scanMode, OHOS_BLE_SCAN_MODE_OP_P10_30_300);
358 
359     scanMode = GetBtScanMode(SOFTBUS_BC_SCAN_INTERVAL_P25, SOFTBUS_BC_SCAN_WINDOW_P25);
360     EXPECT_EQ(scanMode, OHOS_BLE_SCAN_MODE_OP_P25_60_240);
361 
362     scanMode = GetBtScanMode(SOFTBUS_BC_SCAN_INTERVAL_P100, SOFTBUS_BC_SCAN_WINDOW_P100);
363     EXPECT_EQ(scanMode, OHOS_BLE_SCAN_MODE_OP_P100_1000_1000);
364 
365     scanMode = GetBtScanMode(SOFTBUS_BC_SCAN_INTERVAL_P2, SOFTBUS_BC_SCAN_WINDOW_P100);
366     EXPECT_EQ(scanMode, OHOS_BLE_SCAN_MODE_LOW_POWER);
367 
368     scanMode = GetBtScanMode(SOFTBUS_BC_SCAN_INTERVAL_P2_FAST, SOFTBUS_BC_SCAN_WINDOW_P2_FAST);
369     EXPECT_EQ(scanMode, OHOS_BLE_SCAN_MODE_OP_P2_30_1500);
370 
371     scanMode = GetBtScanMode(SOFTBUS_BC_SCAN_INTERVAL_P2_FAST, SOFTBUS_BC_SCAN_WINDOW_P100);
372     EXPECT_NE(scanMode, OHOS_BLE_SCAN_MODE_OP_P2_30_1500);
373 
374     scanMode = GetBtScanMode(SOFTBUS_BC_SCAN_INTERVAL_P10, SOFTBUS_BC_SCAN_WINDOW_P100);
375     EXPECT_NE(scanMode, OHOS_BLE_SCAN_MODE_OP_P10_30_300);
376 
377     scanMode = GetBtScanMode(SOFTBUS_BC_SCAN_INTERVAL_P25, SOFTBUS_BC_SCAN_WINDOW_P100);
378     EXPECT_NE(scanMode, OHOS_BLE_SCAN_MODE_OP_P25_60_240);
379 
380     scanMode = GetBtScanMode(SOFTBUS_BC_SCAN_INTERVAL_P50, SOFTBUS_BC_SCAN_WINDOW_P100);
381     EXPECT_NE(scanMode, OHOS_BLE_SCAN_MODE_OP_P50_30_60);
382 
383     scanMode = GetBtScanMode(SOFTBUS_BC_SCAN_INTERVAL_P75, SOFTBUS_BC_SCAN_WINDOW_P100);
384     EXPECT_NE(scanMode, OHOS_BLE_SCAN_MODE_OP_P75_30_40);
385 
386     scanMode = GetBtScanMode(SOFTBUS_BC_SCAN_INTERVAL_P100, SOFTBUS_BC_SCAN_WINDOW_P75);
387     EXPECT_NE(scanMode, OHOS_BLE_SCAN_MODE_OP_P75_30_40);
388 }
389 
390 /**
391  * @tc.name: SoftbusBleUtilsTest_AssembleAdvData001
392  * @tc.desc: test assemble ble adv data
393  * @tc.type: FUNC
394  * @tc.require: 1
395  */
396 HWTEST(SoftbusBleUtilsTest, AssembleAdvData001, TestSize.Level3)
397 {
398     SoftbusBroadcastData *data = (SoftbusBroadcastData *)calloc(1, sizeof(SoftbusBroadcastData));
399     data->isSupportFlag = true;
400     data->flag = 1;
401     SoftbusBroadcastPayload bcData;
402     bcData.type = BROADCAST_DATA_TYPE_SERVICE;
403     bcData.id = 1;
404     uint8_t *payload = (uint8_t *)"00112233445566";
405     bcData.payloadLen = 15;
406     bcData.payload = payload;
407     data->bcData = bcData;
408     uint16_t dataLen = 0;
409     uint8_t *advData = AssembleAdvData(data, &dataLen);
410     uint16_t expectedDataLen =
411         (data->isSupportFlag) ? bcData.payloadLen + BC_HEAD_LEN : bcData.payloadLen + BC_HEAD_LEN - BC_FLAG_LEN;
412     EXPECT_EQ(dataLen, expectedDataLen);
413     EXPECT_NE(advData, nullptr);
414 
415     SoftBusFree(advData);
416     free(data);
417 }
418 
419 /**
420  * @tc.name: SoftbusBleUtilsTest_AssembleRspData001
421  * @tc.desc: test assemble ble rsp data
422  * @tc.type: FUNC
423  * @tc.require: 1
424  */
425 HWTEST(SoftbusBleUtilsTest, AssembleRspData001, TestSize.Level3)
426 {
427     SoftbusBroadcastPayload rspData = {};
428     rspData.type = BROADCAST_DATA_TYPE_BUTT;
429     rspData.id = 1;
430     uint8_t *payload = (uint8_t *)"00112233445566";
431     rspData.payloadLen = 15;
432     rspData.payload = payload;
433     uint16_t dataLen = 0;
434 
435     uint8_t *data = AssembleRspData(&rspData, &dataLen);
436     EXPECT_NE(data, nullptr);
437     uint16_t expectedDataLen = rspData.payloadLen + RSP_HEAD_LEN;
438     EXPECT_EQ(dataLen, expectedDataLen);
439     SoftBusFree(data);
440 }
441 
442 /**
443  * @tc.name: SoftbusBleUtilsTest_ParseScanResult001
444  * @tc.desc: test parse ble scan result as softbus scan result
445  * @tc.type: FUNC
446  * @tc.require: 1
447  */
448 HWTEST(SoftbusBleUtilsTest, ParseScanResult001, TestSize.Level3)
449 {
450     uint8_t *advData = (uint8_t *)"00112233445566";
451     uint8_t advLen = 23;
452     SoftBusBcScanResult softBusBcScanResult = {};
453     int32_t ret = ParseScanResult(advData, advLen, &softBusBcScanResult);
454     EXPECT_EQ(ret, SOFTBUS_OK);
455     SoftBusFree(softBusBcScanResult.data.bcData.payload);
456     SoftBusFree(softBusBcScanResult.data.rspData.payload);
457 
458     EXPECT_EQ(softBusBcScanResult.data.isSupportFlag, false);
459     EXPECT_EQ(softBusBcScanResult.data.bcData.type, BROADCAST_DATA_TYPE_SERVICE);
460 }
461 
462 /**
463  * @tc.name: SoftbusBleUtilsTest_SoftbusSetManufactureFilterTest001
464  * @tc.desc: test SoftbusSetManufactureFilter when success
465  * @tc.type: FUNC
466  * @tc.require: 1
467  */
468 HWTEST(SoftbusBleUtilsTest, SoftbusSetManufactureFilterTest001, TestSize.Level3)
469 {
470     const uint8_t filterSize = 2;
471     BleScanNativeFilter nativeFilter[filterSize];
472     SoftbusSetManufactureFilter(nativeFilter, filterSize);
473 
474     for (uint8_t i = 0; i < filterSize; i++) {
475         EXPECT_NE(nativeFilter[i].manufactureData, nullptr);
476         EXPECT_EQ(nativeFilter[i].manufactureDataLength, 1);
477         EXPECT_NE(nativeFilter[i].manufactureDataMask, nullptr);
478         EXPECT_EQ(nativeFilter[i].manufactureId, 0x027D);
479         SoftBusFree(nativeFilter[i].manufactureData);
480         SoftBusFree(nativeFilter[i].manufactureDataMask);
481     }
482 }
483 
484 /**
485  * @tc.name: SoftbusBleUtilsTest_SoftbusSetManufactureFilterTest002
486  * @tc.desc: test SoftbusSetManufactureFilter when nativeFilter is nullptr
487  * @tc.type: FUNC
488  * @tc.require: 1
489  */
490 HWTEST(SoftbusBleUtilsTest, SoftbusSetManufactureFilterTest002, TestSize.Level3)
491 {
492     const uint8_t filterSize = 2;
493     SoftbusSetManufactureFilter(nullptr, filterSize);
494     EXPECT_EQ(filterSize, 2);
495 }
496 
497 /**
498  * @tc.name: SoftbusBleUtilsTest_SoftbusSetManufactureFilterTest003
499  * @tc.desc: test SoftbusSetManufactureFilter when filterSize = 0
500  * @tc.type: FUNC
501  * @tc.require: 1
502  */
503 HWTEST(SoftbusBleUtilsTest, SoftbusSetManufactureFilterTest003, TestSize.Level3)
504 {
505     const uint8_t filterSize = 0;
506     BleScanNativeFilter nativeFilter[1];
507     SoftbusSetManufactureFilter(nativeFilter, filterSize);
508     EXPECT_EQ(filterSize, 0);
509 }
510 
511 /**
512  * @tc.name: SoftbusBleUtilsTest_SoftbusAdvDataTypeToBt001
513  * @tc.desc: test SoftbusAdvDataTypeToBt
514  * @tc.type: FUNC
515  * @tc.require: 1
516  */
517 HWTEST(SoftbusBleUtilsTest, SoftbusAdvDataTypeToBt001, TestSize.Level3)
518 {
519     DISC_LOGI(DISC_TEST, "SoftbusAdvDataTypeToBt001 begin");
520 
521     SoftbusBroadcastPayload rspData;
522     (void)memset_s(&rspData, sizeof(SoftbusBroadcastPayload), 0, sizeof(SoftbusBroadcastPayload));
523     rspData.type = BROADCAST_DATA_TYPE_BUTT;
524     rspData.id = 1;
525     uint8_t *payload = (uint8_t *)"00112233445566777888999";
526     rspData.payloadLen = BC_DATA_MAX_LEN;
527     rspData.payload = payload;
528     uint16_t dataLen = 0;
529 
530     uint8_t *data = AssembleRspData(nullptr, nullptr);
531     EXPECT_EQ(data, nullptr);
532     data = AssembleRspData(&rspData, nullptr);
533     EXPECT_EQ(data, nullptr);
534 
535     data = AssembleRspData(&rspData, &dataLen);
536     EXPECT_NE(data, nullptr);
537     uint16_t expectedDataLen = rspData.payloadLen + RSP_HEAD_LEN;
538     EXPECT_EQ(dataLen, expectedDataLen);
539     uint16_t expectedDataType = 0x00;
540     EXPECT_EQ(data[IDX_RSP_TYPE], expectedDataType);
541     SoftBusFree(data);
542 
543     DISC_LOGI(DISC_TEST, "SoftbusAdvDataTypeToBt001 end");
544 }
545 
546 /**
547  * @tc.name: SoftbusBleUtilsTest_SoftbusAdvDataTypeToBt002
548  * @tc.desc: test SoftbusAdvDataTypeToBt
549  * @tc.type: FUNC
550  * @tc.require: 1
551  */
552 HWTEST(SoftbusBleUtilsTest, SoftbusAdvDataTypeToBt002, TestSize.Level3)
553 {
554     DISC_LOGI(DISC_TEST, "SoftbusAdvDataTypeToBt002 begin");
555 
556     SoftbusBroadcastPayload rspData;
557     (void)memset_s(&rspData, sizeof(SoftbusBroadcastPayload), 0, sizeof(SoftbusBroadcastPayload));
558     rspData.id = 1;
559     uint8_t *payload = (uint8_t *)"00112233445566777888999";
560     rspData.payloadLen = BC_DATA_MAX_LEN;
561     rspData.payload = payload;
562     uint16_t dataLen = 0;
563 
564     rspData.type = BROADCAST_DATA_TYPE_SERVICE;
565     uint8_t *data = AssembleRspData(&rspData, &dataLen);
566     EXPECT_NE(data, nullptr);
567     uint16_t expectedDataLen = rspData.payloadLen + RSP_HEAD_LEN;
568     EXPECT_EQ(dataLen, expectedDataLen);
569     uint16_t expectedDataType = SERVICE_BC_TYPE;
570     EXPECT_EQ(data[IDX_RSP_TYPE], expectedDataType);
571     SoftBusFree(data);
572 
573     rspData.type = BROADCAST_DATA_TYPE_MANUFACTURER;
574     data = AssembleRspData(&rspData, &dataLen);
575     EXPECT_NE(data, nullptr);
576     expectedDataLen = rspData.payloadLen + RSP_HEAD_LEN;
577     EXPECT_EQ(dataLen, expectedDataLen);
578     expectedDataType = MANUFACTURE_BC_TYPE;
579     EXPECT_EQ(data[IDX_RSP_TYPE], expectedDataType);
580     SoftBusFree(data);
581 
582     DISC_LOGI(DISC_TEST, "SoftbusAdvDataTypeToBt002 end");
583 }
584 
585 /**
586  * @tc.name: SoftbusBleUtilsTest_SoftbusAdvFilterToBt001
587  * @tc.desc: test SoftbusAdvFilterToBt
588  * @tc.type: FUNC
589  * @tc.require: 1
590  */
591 HWTEST(SoftbusBleUtilsTest, SoftbusAdvFilterToBt001, TestSize.Level3)
592 {
593     DISC_LOGI(DISC_TEST, "SoftbusAdvFilterToBt001 begin");
594 
595     SoftbusBroadcastParam softbusAdvParam;
596     (void)memset_s(&softbusAdvParam, sizeof(SoftbusBroadcastParam), 0, sizeof(SoftbusBroadcastParam));
597     softbusAdvParam.minInterval = 1;
598     softbusAdvParam.maxInterval = 1;
599     softbusAdvParam.advType = 1;
600     softbusAdvParam.ownAddrType = 1;
601     softbusAdvParam.peerAddrType = 1;
602     softbusAdvParam.channelMap = 1;
603     softbusAdvParam.duration = 1;
604     softbusAdvParam.txPower = 1;
605 
606     BleAdvParams bleAdvParams;
607     (void)memset_s(&bleAdvParams, sizeof(BleAdvParams), 0, sizeof(BleAdvParams));
608 
609     softbusAdvParam.advFilterPolicy = SOFTBUS_BC_ADV_FILTER_ALLOW_SCAN_ANY_CON_ANY;
610     SoftbusAdvParamToBt(&softbusAdvParam, &bleAdvParams);
611     EXPECT_EQ(bleAdvParams.advFilterPolicy, OHOS_BLE_ADV_FILTER_ALLOW_SCAN_ANY_CON_ANY);
612 
613     softbusAdvParam.advFilterPolicy = SOFTBUS_BC_ADV_FILTER_ALLOW_SCAN_WLST_CON_ANY;
614     SoftbusAdvParamToBt(&softbusAdvParam, &bleAdvParams);
615     EXPECT_EQ(bleAdvParams.advFilterPolicy, OHOS_BLE_ADV_FILTER_ALLOW_SCAN_WLST_CON_ANY);
616 
617     softbusAdvParam.advFilterPolicy = SOFTBUS_BC_ADV_FILTER_ALLOW_SCAN_ANY_CON_WLST;
618     SoftbusAdvParamToBt(&softbusAdvParam, &bleAdvParams);
619     EXPECT_EQ(bleAdvParams.advFilterPolicy, OHOS_BLE_ADV_FILTER_ALLOW_SCAN_ANY_CON_WLST);
620 
621     softbusAdvParam.advFilterPolicy = SOFTBUS_BC_ADV_FILTER_ALLOW_SCAN_WLST_CON_WLST;
622     SoftbusAdvParamToBt(&softbusAdvParam, &bleAdvParams);
623     EXPECT_EQ(bleAdvParams.advFilterPolicy, OHOS_BLE_ADV_FILTER_ALLOW_SCAN_WLST_CON_WLST);
624 
625     softbusAdvParam.advFilterPolicy = SOFTBUS_BC_ADV_DIRECT_IND_LOW;
626     SoftbusAdvParamToBt(&softbusAdvParam, &bleAdvParams);
627     EXPECT_EQ(bleAdvParams.advFilterPolicy, OHOS_BLE_ADV_FILTER_ALLOW_SCAN_ANY_CON_ANY);
628 
629     DISC_LOGI(DISC_TEST, "SoftbusAdvFilterToBt001 end");
630 }
631 
632 /**
633  * @tc.name: SoftbusBleUtilsTest_SoftbusAdvTypeToBt001
634  * @tc.desc: test SoftbusAdvTypeToBt
635  * @tc.type: FUNC
636  * @tc.require: 1
637  */
638 HWTEST(SoftbusBleUtilsTest, SoftbusAdvTypeToBt001, TestSize.Level3)
639 {
640     DISC_LOGI(DISC_TEST, "SoftbusAdvTypeToBt001 begin");
641 
642     SoftbusBroadcastParam softbusAdvParam;
643     (void)memset_s(&softbusAdvParam, sizeof(SoftbusBroadcastParam), 0, sizeof(SoftbusBroadcastParam));
644     softbusAdvParam.minInterval = 1;
645     softbusAdvParam.maxInterval = 1;
646     softbusAdvParam.advFilterPolicy = 1;
647     softbusAdvParam.ownAddrType = 1;
648     softbusAdvParam.peerAddrType = 1;
649     softbusAdvParam.channelMap = 1;
650     softbusAdvParam.duration = 1;
651     softbusAdvParam.txPower = 1;
652 
653     BleAdvParams bleAdvParams;
654     (void)memset_s(&bleAdvParams, sizeof(BleAdvParams), 0, sizeof(BleAdvParams));
655 
656     softbusAdvParam.advType = SOFTBUS_BC_ADV_IND;
657     SoftbusAdvParamToBt(&softbusAdvParam, &bleAdvParams);
658     EXPECT_EQ(bleAdvParams.advType, OHOS_BLE_ADV_IND);
659 
660     softbusAdvParam.advType = SOFTBUS_BC_ADV_DIRECT_IND_HIGH;
661     SoftbusAdvParamToBt(&softbusAdvParam, &bleAdvParams);
662     EXPECT_EQ(bleAdvParams.advType, OHOS_BLE_ADV_DIRECT_IND_HIGH);
663 
664     softbusAdvParam.advType = SOFTBUS_BC_ADV_SCAN_IND;
665     SoftbusAdvParamToBt(&softbusAdvParam, &bleAdvParams);
666     EXPECT_EQ(bleAdvParams.advType, OHOS_BLE_ADV_SCAN_IND);
667 
668     softbusAdvParam.advType = SOFTBUS_BC_ADV_NONCONN_IND;
669     SoftbusAdvParamToBt(&softbusAdvParam, &bleAdvParams);
670     EXPECT_EQ(bleAdvParams.advType, OHOS_BLE_ADV_NONCONN_IND);
671 
672     softbusAdvParam.advType = SOFTBUS_BC_ADV_DIRECT_IND_LOW;
673     SoftbusAdvParamToBt(&softbusAdvParam, &bleAdvParams);
674     EXPECT_EQ(bleAdvParams.advType, OHOS_BLE_ADV_DIRECT_IND_LOW);
675 
676     softbusAdvParam.advType = SOFTBUS_BC_NO_ADDRESS;
677     SoftbusAdvParamToBt(&softbusAdvParam, &bleAdvParams);
678     EXPECT_EQ(bleAdvParams.advType, OHOS_BLE_ADV_IND);
679 
680     DISC_LOGI(DISC_TEST, "SoftbusAdvTypeToBt001 end");
681 }
682 
683 /**
684  * @tc.name: SoftbusBleUtilsTest_BtScanPhyTypeToSoftbus001
685  * @tc.desc: test BtScanPhyTypeToSoftbus
686  * @tc.type: FUNC
687  * @tc.require: 1
688  */
689 HWTEST(SoftbusBleUtilsTest, BtScanPhyTypeToSoftbus001, TestSize.Level3)
690 {
691     DISC_LOGI(DISC_TEST, "BtScanPhyTypeToSoftbus001 begin");
692 
693     BtScanResultData btScanResult;
694     (void)memset_s(&btScanResult, sizeof(BtScanResultData), 0, sizeof(BtScanResultData));
695     btScanResult.eventType = 1;
696     btScanResult.dataStatus = 1;
697     btScanResult.addrType = 1;
698     btScanResult.secondaryPhy = 1;
699     btScanResult.advSid = 1;
700     btScanResult.txPower = 1;
701     btScanResult.rssi = 1;
702 
703     SoftBusBcScanResult softbusScanResult;
704     (void)memset_s(&softbusScanResult, sizeof(SoftBusBcScanResult), 0, sizeof(SoftBusBcScanResult));
705 
706     btScanResult.primaryPhy = OHOS_BLE_SCAN_PHY_NO_PACKET;
707     BtScanResultToSoftbus(&btScanResult, &softbusScanResult);
708     EXPECT_EQ(softbusScanResult.primaryPhy, SOFTBUS_BC_SCAN_PHY_NO_PACKET);
709 
710     btScanResult.primaryPhy = OHOS_BLE_SCAN_PHY_1M;
711     BtScanResultToSoftbus(&btScanResult, &softbusScanResult);
712     EXPECT_EQ(softbusScanResult.primaryPhy, SOFTBUS_BC_SCAN_PHY_1M);
713 
714     btScanResult.primaryPhy = OHOS_BLE_SCAN_PHY_2M;
715     BtScanResultToSoftbus(&btScanResult, &softbusScanResult);
716     EXPECT_EQ(softbusScanResult.primaryPhy, SOFTBUS_BC_SCAN_PHY_2M);
717 
718     btScanResult.primaryPhy = OHOS_BLE_SCAN_PHY_CODED;
719     BtScanResultToSoftbus(&btScanResult, &softbusScanResult);
720     EXPECT_EQ(softbusScanResult.primaryPhy, SOFTBUS_BC_SCAN_PHY_CODED);
721 
722     btScanResult.primaryPhy = OHOS_BLE_NO_ADDRESS;
723     BtScanResultToSoftbus(&btScanResult, &softbusScanResult);
724     EXPECT_EQ(softbusScanResult.primaryPhy, SOFTBUS_BC_SCAN_PHY_NO_PACKET);
725 
726     DISC_LOGI(DISC_TEST, "BtScanPhyTypeToSoftbus001 end");
727 }
728 
729 /**
730  * @tc.name: SoftbusBleUtilsTest_BtScanAddrTypeToSoftbus001
731  * @tc.desc: test BtScanAddrTypeToSoftbus
732  * @tc.type: FUNC
733  * @tc.require: 1
734  */
735 HWTEST(SoftbusBleUtilsTest, BtScanAddrTypeToSoftbus001, TestSize.Level3)
736 {
737     DISC_LOGI(DISC_TEST, "BtScanAddrTypeToSoftbus001 begin");
738 
739     BtScanResultData btScanResult;
740     (void)memset_s(&btScanResult, sizeof(BtScanResultData), 0, sizeof(BtScanResultData));
741     btScanResult.eventType = 1;
742     btScanResult.dataStatus = 1;
743     btScanResult.primaryPhy = 1;
744     btScanResult.secondaryPhy = 1;
745     btScanResult.advSid = 1;
746     btScanResult.txPower = 1;
747     btScanResult.rssi = 1;
748 
749     SoftBusBcScanResult softbusScanResult;
750     (void)memset_s(&softbusScanResult, sizeof(SoftBusBcScanResult), 0, sizeof(SoftBusBcScanResult));
751 
752     btScanResult.addrType = OHOS_BLE_PUBLIC_DEVICE_ADDRESS;
753     BtScanResultToSoftbus(&btScanResult, &softbusScanResult);
754     EXPECT_EQ(softbusScanResult.addrType, SOFTBUS_BC_PUBLIC_DEVICE_ADDRESS);
755 
756     btScanResult.addrType = OHOS_BLE_RANDOM_DEVICE_ADDRESS;
757     BtScanResultToSoftbus(&btScanResult, &softbusScanResult);
758     EXPECT_EQ(softbusScanResult.addrType, SOFTBUS_BC_RANDOM_DEVICE_ADDRESS);
759 
760     btScanResult.addrType = OHOS_BLE_PUBLIC_IDENTITY_ADDRESS;
761     BtScanResultToSoftbus(&btScanResult, &softbusScanResult);
762     EXPECT_EQ(softbusScanResult.addrType, SOFTBUS_BC_PUBLIC_IDENTITY_ADDRESS);
763 
764     btScanResult.addrType = OHOS_BLE_RANDOM_STATIC_IDENTITY_ADDRESS;
765     BtScanResultToSoftbus(&btScanResult, &softbusScanResult);
766     EXPECT_EQ(softbusScanResult.addrType, SOFTBUS_BC_RANDOM_STATIC_IDENTITY_ADDRESS);
767 
768     btScanResult.addrType = OHOS_BLE_UNRESOLVABLE_RANDOM_DEVICE_ADDRESS;
769     BtScanResultToSoftbus(&btScanResult, &softbusScanResult);
770     EXPECT_EQ(softbusScanResult.addrType, SOFTBUS_BC_UNRESOLVABLE_RANDOM_DEVICE_ADDRESS);
771 
772     btScanResult.addrType = OHOS_BLE_NO_ADDRESS;
773     BtScanResultToSoftbus(&btScanResult, &softbusScanResult);
774     EXPECT_EQ(softbusScanResult.addrType, SOFTBUS_BC_NO_ADDRESS);
775 
776     btScanResult.addrType = OHOS_BLE_EVT_LEGACY_SCAN_RSP_TO_ADV;
777     BtScanResultToSoftbus(&btScanResult, &softbusScanResult);
778     EXPECT_EQ(softbusScanResult.addrType, SOFTBUS_BC_NO_ADDRESS);
779 
780     DISC_LOGI(DISC_TEST, "BtScanAddrTypeToSoftbus001 end");
781 }
782 
783 /**
784  * @tc.name: SoftbusBleUtilsTest_BtScanDataStatusToSoftbus001
785  * @tc.desc: test BtScanDataStatusToSoftbus
786  * @tc.type: FUNC
787  * @tc.require: 1
788  */
789 HWTEST(SoftbusBleUtilsTest, BtScanDataStatusToSoftbus001, TestSize.Level3)
790 {
791     DISC_LOGI(DISC_TEST, "BtScanDataStatusToSoftbus001 begin");
792 
793     BtScanResultData btScanResult;
794     (void)memset_s(&btScanResult, sizeof(BtScanResultData), 0, sizeof(BtScanResultData));
795     btScanResult.eventType = 1;
796     btScanResult.addrType = 1;
797     btScanResult.primaryPhy = 1;
798     btScanResult.secondaryPhy = 1;
799     btScanResult.advSid = 1;
800     btScanResult.txPower = 1;
801     btScanResult.rssi = 1;
802 
803     SoftBusBcScanResult softbusScanResult;
804     (void)memset_s(&softbusScanResult, sizeof(SoftBusBcScanResult), 0, sizeof(SoftBusBcScanResult));
805 
806     btScanResult.dataStatus = OHOS_BLE_DATA_COMPLETE;
807     BtScanResultToSoftbus(&btScanResult, &softbusScanResult);
808     EXPECT_EQ(softbusScanResult.dataStatus, SOFTBUS_BC_DATA_COMPLETE);
809 
810     btScanResult.dataStatus = OHOS_BLE_DATA_INCOMPLETE_MORE_TO_COME;
811     BtScanResultToSoftbus(&btScanResult, &softbusScanResult);
812     EXPECT_EQ(softbusScanResult.dataStatus, SOFTBUS_BC_DATA_INCOMPLETE_MORE_TO_COME);
813 
814     btScanResult.dataStatus = OHOS_BLE_DATA_INCOMPLETE_TRUNCATED;
815     BtScanResultToSoftbus(&btScanResult, &softbusScanResult);
816     EXPECT_EQ(softbusScanResult.dataStatus, SOFTBUS_BC_DATA_INCOMPLETE_TRUNCATED);
817 
818     btScanResult.dataStatus = OHOS_BLE_EVT_LEGACY_SCAN_RSP_TO_ADV;
819     BtScanResultToSoftbus(&btScanResult, &softbusScanResult);
820     EXPECT_EQ(softbusScanResult.dataStatus, SOFTBUS_BC_DATA_INCOMPLETE_TRUNCATED);
821 
822     DISC_LOGI(DISC_TEST, "BtScanDataStatusToSoftbus001 end");
823 }
824 
825 /**
826  * @tc.name: SoftbusBleUtilsTest_BtScanAddrTypeToSoftbus001
827  * @tc.desc: test BtScanEventTypeToSoftbus
828  * @tc.type: FUNC
829  * @tc.require: 1
830  */
831 HWTEST(SoftbusBleUtilsTest, BtScanEventTypeToSoftbus001, TestSize.Level3)
832 {
833     DISC_LOGI(DISC_TEST, "BtScanAddrTypeToSoftbus001 begin");
834 
835     BtScanResultData btScanResult;
836     (void)memset_s(&btScanResult, sizeof(BtScanResultData), 0, sizeof(BtScanResultData));
837     btScanResult.dataStatus = 1;
838     btScanResult.addrType = 1;
839     btScanResult.primaryPhy = 1;
840     btScanResult.secondaryPhy = 1;
841     btScanResult.advSid = 1;
842     btScanResult.txPower = 1;
843     btScanResult.rssi = 1;
844 
845     SoftBusBcScanResult softbusScanResult;
846     (void)memset_s(&softbusScanResult, sizeof(SoftBusBcScanResult), 0, sizeof(SoftBusBcScanResult));
847 
848     btScanResult.eventType = OHOS_BLE_EVT_NON_CONNECTABLE_NON_SCANNABLE;
849     BtScanResultToSoftbus(&btScanResult, &softbusScanResult);
850     EXPECT_EQ(softbusScanResult.eventType, SOFTBUS_BC_EVT_NON_CONNECTABLE_NON_SCANNABLE);
851 
852     btScanResult.eventType = OHOS_BLE_EVT_NON_CONNECTABLE_NON_SCANNABLE_DIRECTED;
853     BtScanResultToSoftbus(&btScanResult, &softbusScanResult);
854     EXPECT_EQ(softbusScanResult.eventType, SOFTBUS_BC_EVT_NON_CONNECTABLE_NON_SCANNABLE_DIRECTED);
855 
856     btScanResult.eventType = OHOS_BLE_EVT_CONNECTABLE;
857     BtScanResultToSoftbus(&btScanResult, &softbusScanResult);
858     EXPECT_EQ(softbusScanResult.eventType, SOFTBUS_BC_EVT_CONNECTABLE);
859 
860     btScanResult.eventType = OHOS_BLE_EVT_CONNECTABLE_DIRECTED;
861     BtScanResultToSoftbus(&btScanResult, &softbusScanResult);
862     EXPECT_EQ(softbusScanResult.eventType, SOFTBUS_BC_EVT_CONNECTABLE_DIRECTED);
863 
864     btScanResult.eventType = OHOS_BLE_EVT_SCANNABLE;
865     BtScanResultToSoftbus(&btScanResult, &softbusScanResult);
866     EXPECT_EQ(softbusScanResult.eventType, SOFTBUS_BC_EVT_SCANNABLE);
867 
868     btScanResult.eventType = OHOS_BLE_EVT_SCANNABLE_DIRECTED;
869     BtScanResultToSoftbus(&btScanResult, &softbusScanResult);
870     EXPECT_EQ(softbusScanResult.eventType, SOFTBUS_BC_EVT_SCANNABLE_DIRECTED);
871 
872     btScanResult.eventType = OHOS_BLE_EVT_LEGACY_NON_CONNECTABLE;
873     BtScanResultToSoftbus(&btScanResult, &softbusScanResult);
874     EXPECT_EQ(softbusScanResult.eventType, SOFTBUS_BC_EVT_LEGACY_NON_CONNECTABLE);
875 
876     DISC_LOGI(DISC_TEST, "BtScanAddrTypeToSoftbus001 end");
877 }
878 
879 /**
880  * @tc.name: SoftbusBleUtilsTest_BtScanAddrTypeToSoftbus002
881  * @tc.desc: test BtScanEventTypeToSoftbus
882  * @tc.type: FUNC
883  * @tc.require: 1
884  */
885 HWTEST(SoftbusBleUtilsTest, BtScanEventTypeToSoftbus002, TestSize.Level3)
886 {
887     DISC_LOGI(DISC_TEST, "BtScanAddrTypeToSoftbus002 begin");
888 
889     BtScanResultData btScanResult;
890     (void)memset_s(&btScanResult, sizeof(BtScanResultData), 0, sizeof(BtScanResultData));
891     btScanResult.dataStatus = 1;
892     btScanResult.addrType = 1;
893     btScanResult.primaryPhy = 1;
894     btScanResult.secondaryPhy = 1;
895     btScanResult.advSid = 1;
896     btScanResult.txPower = 1;
897     btScanResult.rssi = 1;
898 
899     SoftBusBcScanResult softbusScanResult;
900     (void)memset_s(&softbusScanResult, sizeof(SoftBusBcScanResult), 0, sizeof(SoftBusBcScanResult));
901 
902     btScanResult.eventType = OHOS_BLE_EVT_LEGACY_SCANNABLE;
903     BtScanResultToSoftbus(&btScanResult, &softbusScanResult);
904     EXPECT_EQ(softbusScanResult.eventType, SOFTBUS_BC_EVT_LEGACY_SCANNABLE);
905 
906     btScanResult.eventType = OHOS_BLE_EVT_LEGACY_CONNECTABLE;
907     BtScanResultToSoftbus(&btScanResult, &softbusScanResult);
908     EXPECT_EQ(softbusScanResult.eventType, SOFTBUS_BC_EVT_LEGACY_CONNECTABLE);
909 
910     btScanResult.eventType = OHOS_BLE_EVT_LEGACY_CONNECTABLE_DIRECTED;
911     BtScanResultToSoftbus(&btScanResult, &softbusScanResult);
912     EXPECT_EQ(softbusScanResult.eventType, SOFTBUS_BC_EVT_LEGACY_CONNECTABLE_DIRECTED);
913 
914     btScanResult.eventType = OHOS_BLE_EVT_LEGACY_SCAN_RSP_TO_ADV_SCAN;
915     BtScanResultToSoftbus(&btScanResult, &softbusScanResult);
916     EXPECT_EQ(softbusScanResult.eventType, SOFTBUS_BC_EVT_LEGACY_SCAN_RSP_TO_ADV_SCAN);
917 
918     btScanResult.eventType = OHOS_BLE_EVT_LEGACY_SCAN_RSP_TO_ADV;
919     BtScanResultToSoftbus(&btScanResult, &softbusScanResult);
920     EXPECT_EQ(softbusScanResult.eventType, SOFTBUS_BC_EVT_LEGACY_SCAN_RSP_TO_ADV);
921 
922     btScanResult.eventType = OHOS_BLE_SCAN_MODE_OP_P50_30_60;
923     BtScanResultToSoftbus(&btScanResult, &softbusScanResult);
924     EXPECT_EQ(softbusScanResult.eventType, SOFTBUS_BC_EVT_NON_CONNECTABLE_NON_SCANNABLE);
925 
926     DISC_LOGI(DISC_TEST, "BtScanAddrTypeToSoftbus002 end");
927 }
928 } // namespace OHOS
929