diff --git a/communication/BUILD.gn b/communication/BUILD.gn index 95fff8f0b069dd63ea82711316208981255825ea..8ba2f3f9d4517138d7ee17e03072b9843b33e6ab 100644 --- a/communication/BUILD.gn +++ b/communication/BUILD.gn @@ -16,10 +16,11 @@ group("communication") { testonly = true if (is_standard_system) { deps = [ + "bluetooth_standard:ActsBluetoothJsTest", "dsoftbus/rpc:ActsRpcJsTest", - "wifi_standard:wifi_standard_test", + "wifi_standard:ActsWifiJSTest", ] } else { - deps = [ "wifi_standard:wifi_standard_test" ] + deps = [ "wifi_standard:ActsWifiJSTest" ] } } diff --git a/communication/bluetooth_standard/BUILD.gn b/communication/bluetooth_standard/BUILD.gn new file mode 100644 index 0000000000000000000000000000000000000000..b644cc980a9c0a10d6326a2350424cdbc3351af8 --- /dev/null +++ b/communication/bluetooth_standard/BUILD.gn @@ -0,0 +1,31 @@ +# Copyright (C) 2021 Huawei Device Co., Ltd. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import("//test/xts/tools/build/suite.gni") +ohos_js_hap_suite("ActsBluetoothJsTest") { + hap_profile = "./src/main/config.json" + deps = [ + ":bluetooth_js_assets", + ":bluetooth_resources", + ] + + certificate_profile = "./signature/openharmony_sx.p7b" + hap_name = "ActsBluetoothHapTest" +} +ohos_js_assets("bluetooth_js_assets") { + source_dir = "./src/main/js/default" +} +ohos_resources("bluetooth_resources") { + sources = [ "./src/main/resources" ] + hap_profile = "./src/main/config.json" +} diff --git a/communication/bluetooth_standard/Test.json b/communication/bluetooth_standard/Test.json new file mode 100644 index 0000000000000000000000000000000000000000..592de316e2d635d81919417ce7ad004acef6ec89 --- /dev/null +++ b/communication/bluetooth_standard/Test.json @@ -0,0 +1,18 @@ +{ + "description": "Configuration for bluetooth js api Tests", + "driver": { + "type": "JSUnitTest", + "test-timeout": "1800000", + "package": "ohos.acts.communication.bluetooth.bluetoothhost", + "shell-timeout": "60000" + }, + "kits": [ + { + "test-file-name": [ + "ActsBluetoothHapTest.hap" + ], + "type": "AppInstallKit", + "cleanup-apps": true + } + ] +} diff --git a/communication/bluetooth_standard/signature/openharmony_sx.p7b b/communication/bluetooth_standard/signature/openharmony_sx.p7b new file mode 100644 index 0000000000000000000000000000000000000000..9be1e98fa4c0c28ca997ed660112fa16b194f0f5 Binary files /dev/null and b/communication/bluetooth_standard/signature/openharmony_sx.p7b differ diff --git a/communication/bluetooth_standard/src/main/config.json b/communication/bluetooth_standard/src/main/config.json new file mode 100644 index 0000000000000000000000000000000000000000..0cdb831450385686d61f6e1027245be388ac694e --- /dev/null +++ b/communication/bluetooth_standard/src/main/config.json @@ -0,0 +1,60 @@ +{ + "app": { + "bundleName": "ohos.acts.communication.bluetooth.bluetoothhost", + "vendor": "acts", + "version": { + "code": 1000000, + "name": "1.0.0" + }, + "apiVersion": { + "compatible": 4, + "target": 5 + } + }, + "deviceConfig": {}, + "module": { + "package": "ohos.acts.communication.bluetooth.bluetoothhost", + "name": ".MyApplication", + "deviceType": [ + "phone" + ], + "distro": { + "deliveryWithInstall": true, + "moduleName": "entry", + "moduleType": "entry" + }, + "abilities": [ + { + "visible": true, + "skills": [ + { + "entities": [ + "entity.system.home" + ], + "actions": [ + "action.system.home" + ] + } + ], + "name": "ohos.acts.communication.bluetooth.bluetoothhost.MainAbility", + "icon": "$media:icon", + "description": "$string:mainability_description", + "label": "$string:app_name", + "type": "page", + "launchType": "standard" + } + ], + "js": [ + { + "pages": [ + "pages/index/index" + ], + "name": "default", + "window": { + "designWidth": 720, + "autoDesignWidth": false + } + } + ] + } +} diff --git a/communication/bluetooth_standard/src/main/js/default/app.js b/communication/bluetooth_standard/src/main/js/default/app.js new file mode 100644 index 0000000000000000000000000000000000000000..363f2555b1badec9fec342a93141db084083fcb8 --- /dev/null +++ b/communication/bluetooth_standard/src/main/js/default/app.js @@ -0,0 +1,23 @@ +/* + * Copyright (C) 2021 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +export default { + onCreate() { + console.info('AceApplication onCreate'); + }, + onDestroy() { + console.info('AceApplication onDestroy'); + } +}; diff --git a/communication/bluetooth_standard/src/main/js/default/i18n/en-US.json b/communication/bluetooth_standard/src/main/js/default/i18n/en-US.json new file mode 100644 index 0000000000000000000000000000000000000000..e63c70d978a3a53be988388c87182f81785e170c --- /dev/null +++ b/communication/bluetooth_standard/src/main/js/default/i18n/en-US.json @@ -0,0 +1,6 @@ +{ + "strings": { + "hello": "Hello", + "world": "World" + } +} \ No newline at end of file diff --git a/communication/bluetooth_standard/src/main/js/default/i18n/zh-CN.json b/communication/bluetooth_standard/src/main/js/default/i18n/zh-CN.json new file mode 100644 index 0000000000000000000000000000000000000000..de6ee5748322f44942c1b003319d8e66c837675f --- /dev/null +++ b/communication/bluetooth_standard/src/main/js/default/i18n/zh-CN.json @@ -0,0 +1,6 @@ +{ + "strings": { + "hello": "您好", + "world": "世界" + } +} \ No newline at end of file diff --git a/communication/bluetooth_standard/src/main/js/default/pages/index/index.css b/communication/bluetooth_standard/src/main/js/default/pages/index/index.css new file mode 100644 index 0000000000000000000000000000000000000000..6fda792753f2e15f22b529c7b90a82185b2770bf --- /dev/null +++ b/communication/bluetooth_standard/src/main/js/default/pages/index/index.css @@ -0,0 +1,9 @@ +.container { + flex-direction: column; + justify-content: center; + align-items: center; +} + +.title { + font-size: 100px; +} diff --git a/communication/bluetooth_standard/src/main/js/default/pages/index/index.hml b/communication/bluetooth_standard/src/main/js/default/pages/index/index.hml new file mode 100644 index 0000000000000000000000000000000000000000..f64b040a5ae394dbaa5e185e1ecd4f4556b92184 --- /dev/null +++ b/communication/bluetooth_standard/src/main/js/default/pages/index/index.hml @@ -0,0 +1,5 @@ +
+ + {{ $t('strings.hello') }} {{ title }} + +
diff --git a/communication/bluetooth_standard/src/main/js/default/pages/index/index.js b/communication/bluetooth_standard/src/main/js/default/pages/index/index.js new file mode 100644 index 0000000000000000000000000000000000000000..3bec48526f282d7aaf417c7124206af926265148 --- /dev/null +++ b/communication/bluetooth_standard/src/main/js/default/pages/index/index.js @@ -0,0 +1,44 @@ +/* + * Copyright (C) 2021 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import app from '@system.app' + +import {Core, ExpectExtend} from 'deccjsunit/index' + +export default { + data: { + title: "" + }, + onInit() { + this.title = this.$t('strings.world'); + }, + onShow() { + console.info('onShow finish') + const core = Core.getInstance() + const expectExtend = new ExpectExtend({ + 'id': 'extend' + }) + core.addService('expect', expectExtend) + core.init() + + const configService = core.getDefaultService('config') + configService.setConfig(this) + + require('../../test/List.test') + core.execute() + }, + onReady() { + }, +} diff --git a/communication/bluetooth_standard/src/main/js/default/test/Bluetooth.test.js b/communication/bluetooth_standard/src/main/js/default/test/Bluetooth.test.js new file mode 100644 index 0000000000000000000000000000000000000000..4d0285c523fec2770a6280f7b3aecbc1d0b09a7e --- /dev/null +++ b/communication/bluetooth_standard/src/main/js/default/test/Bluetooth.test.js @@ -0,0 +1,1175 @@ +/* + * Copyright (C) 2021 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import bluetooth from '@ohos.bluetooth'; +import {describe, beforeAll, beforeEach, afterEach, afterAll, it, expect} from 'deccjsunit/index' + +describe('bluetoothhostTest', function() { + + var gattServer = null; + var gattClient = null; + beforeAll(function () { + console.info('beforeAll called') + gattServer = bluetooth.BLE.createGattServer(); + setTimeout(function(){ + console.debug('==createGattServer==timeout') + },5000); + console.info('[bluetooth_js] gattServer beforeAll is--<-!!!->' + JSON.stringify(gattServer)); + console.info('[bluetooth_js] gattServer type beforeAll is--<-!!!->' + gattServer); + + gattClient = bluetooth.BLE.createGattClientDevice("00:00:00:00:00:00"); + setTimeout(function(){ + console.debug('==createGattClientDevice==timeout') + },5000); + console.info('[bluetooth_js] GattClientDevice beforeAll is -> ' + JSON.stringify(gattClient)); + console.info('[bluetooth_js] GattClientDevice type beforeAll is--<-!!!->' + gattClient); + }) + beforeEach(function () { + console.info('beforeEach called') + + }) + afterEach(function () { + console.info('afterEach called') + }) + afterAll(function () { + console.info('afterAll called') + }) + + + /** + * @tc.number SUB_COMMUNACATION_bluetooth_DEVICE_JS_ENABLE_0001 + * @tc.name testEnableBluetooth + * @tc.desc Test EnableBluetooth api by promise. + * @tc.author quanli 00313334 + * @tc.size MEDIUM + * @tc.type Function + * @tc.level Level 2 + */ + it('bluetooth_classic_enable_bluetooth', 0, async function (done) { + console.info('bluetooth enable start'); + console.info('bluetooth enable register'); + await bluetooth.on("stateChange", onReceiveEvent); + function onReceiveEvent(data) { + console.info('[bluetooth_js] enable bluetooth data = '+ JSON.stringify(data)) + console.info('[bluetooth_js] state:' + JSON.stringify(bluetooth.BluetoothState.STATE_ON)); + if (data == bluetooth.BluetoothState.STATE_ON) { + console.info('enable bluetooth'); + done() + } + } + await bluetooth.enableBluetooth(); + console.info('bluetooth enable done'); + }) + + /** + * @tc.number SUB_COMMUNACATION_bluetooth_DEVICE_JS_GET_STATE_0001 + * @tc.name testGetState + * @tc.desc Test GetState api by promise. + * @tc.author quanli 00313334 + * @tc.size MEDIUM + * @tc.type Function + * @tc.level Level 2 + */ + it('bluetooth_classic_get_state', 0, async function (done) { + console.info('get bluetooth state start'); + var state = bluetooth.getState(); + console.info('get bluetooth state end'); + console.info('[bluetooth_js] get bluetooth state result = '+ JSON.stringify(state)); + expect(state).assertEqual(bluetooth.BluetoothState.STATE_ON); + done(); + + }) + + /** + * @tc.number SUB_COMMUNACATION_bluetooth_DEVICE_JS_SET_LOCALNAME_0001 + * @tc.name testClassicSetLocalName + * @tc.desc Test ClassicSetLocalName api. + * @tc.author quanli 00313334 + * @tc.size MEDIUM + * @tc.type Function + * @tc.level Level 2 + */ + it('bluetooth_classic_set_local_name', 0, async function (done) { + console.info('set localname start'); + var enable = bluetooth.setLocalName('bluetooth_test'); + console.info('set localname end'); + console.info('[bluetooth_js] appInfoTest enable bluetooth result '+ JSON.stringify(enable)); + expect(enable).assertEqual(true); + done(); + + }) + + /** + * @tc.number SUB_COMMUNACATION_bluetooth_DEVICE_JS_GET_LOCALNAME_0001 + * @tc.name testClassicGetLocalName + * @tc.desc Test ClassicGetLocalName api. + * @tc.author quanli 00313334 + * @tc.size MEDIUM + * @tc.type Function + * @tc.level Level 2 + */ + it('bluetooth_classic_get_local_name', 0, async function (done) { + console.info('get localName start'); + var localName = bluetooth.getLocalName(); + console.info('get localName end'); + console.info('[bluetooth_js] get local Name result = ' + JSON.stringify(localName)); + expect(localName).assertEqual('bluetooth_test'); + done(); + + }) + + /** + * @tc.number SUB_COMMUNACATION_bluetooth_DEVICE_JS_SET_BLUETOOTH_SCAN_MODE_0001 + * @tc.name testClassicSetBluetoothScanMode + * @tc.desc Test ClassicSetBluetoothScanMode api. + * @tc.author quanli 00313334 + * @tc.size MEDIUM + * @tc.type Function + * @tc.level Level 2 + */ + it('bluetooth_classic_set_scan_mode', 0, async function (done) { + console.info('set bluetooth scan mode start'); + var result = bluetooth.setBluetoothScanMode(1,10000); + console.info('set bluetooth scan mode end'); + console.info('[bluetooth_js] set bluetooth scan mode result = ' + JSON.stringify(result)); + expect(result).assertEqual(true); + done(); + + }) + + /** + * @tc.number SUB_COMMUNACATION_bluetooth_DEVICE_JS_GET_BLUETOOTH_SCAN_MODE_0001 + * @tc.name testClassicGetBluetoothScanMode + * @tc.desc Test ClassicGetBluetoothScanMode api. + * @tc.author quanli 00313334 + * @tc.size MEDIUM + * @tc.type Function + * @tc.level Level 2 + */ + it('bluetooth_classic_get_scan_mode', 0, async function (done) { + console.info('get bluetooth scan mode start'); + var result = bluetooth.setBluetoothScanMode(1,10000); + console.info('set bluetooth scan mode end'); + console.info('[bluetooth_js] set bluetooth scan mode result1 = ' + JSON.stringify(result)); + expect(result).assertEqual(true); + var scanMode = bluetooth.getBluetoothScanMode(); + console.info('get bluetooth scan mode end'); + console.info('[bluetooth_js] get bluetooth scan mode result2 = ' + JSON.stringify(scanMode)); + expect(scanMode).assertEqual(1); + done(); + + }) + + /** + * @tc.number SUB_COMMUNACATION_bluetooth_DEVICE_JS_GET_BT_CONNECT_STATE_0001 + * @tc.name testClassicGetBtConnectionState + * @tc.desc Test ClassicGetBtConnectionState api. + * @tc.author quanli 00313334 + * @tc.size MEDIUM + * @tc.type Function + * @tc.level Level 2 + */ + it('bluetooth_classic_get_connection', 0, async function (done) { + console.info('get bt connection state start'); + var connState = bluetooth.getBtConnectionState(); + console.info('get bt connection state end'); + console.info('[bluetooth_js] get bt connection state result' + JSON.stringify(connState)); + expect(connState).assertEqual(bluetooth.ProfileConnectionState.STATE_DISCONNECTED); + done(); + + }) + + /** + * @tc.number SUB_COMMUNACATION_bluetooth_DEVICE_JS_START_BLUETOOTH_DISCOVERY_0001 + * @tc.name testClassicStartBluetoothDiscovery + * @tc.desc Test ClassicStartBluetoothDiscovery api. + * @tc.author quanli 00313334 + * @tc.size MEDIUM + * @tc.type Function + * @tc.level Level 2 + */ + it('bluetooth_classic_start_discovery', 0, async function (done) { + console.info('start bluetooth discovery start'); + await bluetooth.on("bluetoothDeviceFind", onReceiveEvent) + console.info('bluetooth bluetoothDeviceFind register'); + function onReceiveEvent(data) { + console.info('[bluetooth_js] start bluetooth discovery bluetoothDeviceFind '+ JSON.stringify(data)) + console.info("[bluetooth_js] bluetooth discovery length -> " + data.length); + expect(data.length).assertLarger(0); + done() + } + await bluetooth.startBluetoothDiscovery(); + console.info('start bluetooth discovery done'); + + }) + + /** + * @tc.number SUB_COMMUNACATION_bluetooth_DEVICE_JS_STOP_BLUETOOTH_DISCOVERY_0001 + * @tc.name testClassicStopBluetoothDiscovery + * @tc.desc Test ClassicStopBluetoothDiscovery api. + * @tc.author quanli 00313334 + * @tc.size MEDIUM + * @tc.type Function + * @tc.level Level 2 + */ + it('bluetooth_classic_stop_discovery', 0, async function (done) { + console.info('stop bluetooth discovery start'); + bluetooth.stopBluetoothDiscovery(); + await bluetooth.off("bluetoothDeviceFind", onReceiveEvent) + function onReceiveEvent(data) { + console.info('[bluetooth_js] stop bluetooth discovery result = '+ JSON.stringify(data)) + expect(data).assertNull(); + done() + } + console.info('stop bluetooth discovery done'); + + }) + + /** + * @tc.number SUB_COMMUNACATION_bluetooth_DEVICE_JS_GET_PAIRED_DEVICES_0001 + * @tc.name testClassicGetPairedDevices + * @tc.desc Test ClassicGetPairedDevices api. + * @tc.author quanli 00313334 + * @tc.size MEDIUM + * @tc.type Function + * @tc.level Level 2 + */ + it('bluetooth_classic_get_paired_devices', 0, async function (done) { + console.info('get paired devices start'); + var devices = bluetooth.getPairedDevices(); + console.info('[bluetooth_js] get paired devices result = ' + JSON.stringify(devices)); + done(); + console.info("[bluetooth_js] getConnectedDevices length -> " + devices.length); + expect(devices.length).assertEqual(0); + console.info('get paired devices end'); + + }) + + /** + * @tc.number SUB_COMMUNACATION_bluetoothble_DEVICE_JS_GET_CONNECTED_BLEDEVICES_0001 + * @tc.name testGetConnectedBLEDevices + * @tc.desc Test getConnectedBLEDevices api . + * @tc.author zhangyujie zwx1079266 + * @tc.size MEDIUM + * @tc.type Function + * @tc.level Level 2 + */ + it('bluetooth_getConnectedBLEDevices_test_001', 0, function () { + console.info('bluetooth getConnectedBLEDevices test start ...'); + var result = bluetooth.BLE.getConnectedBLEDevices(); + console.info("[bluetooth_js] getConnectedBLEDevices -> " + JSON.stringify(result)); + console.info("[bluetooth_js] getConnectedBLEDevices length -> " + result.length); + expect(result.length).assertEqual(0); + }) + + /** + * @tc.number SUB_COMMUNACATION_bluetoothble_DEVICE_JS_STOP_BLE_SCAN_0001 + * @tc.name testStopBLEScan + * @tc.desc Test StopBLEScan api . + * @tc.author zhangyujie zwx1079266 + * @tc.size MEDIUM + * @tc.type Function + * @tc.level Level 2 + */ + it('bluetoothble_stopBLEScan_test_001', 0, function () { + console.info('bluetoothble onStopBLEScan test start ...'); + try{ + var result = bluetooth.BLE.stopBLEScan(); + console.info("[bluetooth_js] onStopBLEScan -> " + JSON.stringify(result)); + expect(result).assertNull(); + console.info("[bluetooth_js] onStopBLEScan ."); + }catch(error){ + console.info("[bluetooth_js] onStopBLEScan error" + JSON.stringify(error)); + } + }) + + /** + * @tc.number SUB_COMMUNACATION_bluetoothble_DEVICE_JS_CREATE_GATT_SERVER_0002 + * @tc.name testCreateGattServer + * @tc.desc Test CreateGattServer api . + * @tc.author zhangyujie zwx1079266 + * @tc.size MEDIUM + * @tc.type Function + * @tc.level Level 2 + */ + it('bluetooth_createGattServer_test_001', 0, function () { + console.info('bluetooth createGattServer test start ...'); + var result = bluetooth.BLE.createGattServer(); + console.info("[bluetooth_js] createGattServer -> " + JSON.stringify(result)); + var resultLength = Object.keys(result).length; + console.info("[bluetooth_js] createGattServer length -> " + resultLength); + expect(resultLength).assertEqual(0); + }) + + /** + * @tc.number SUB_COMMUNACATION_bluetooth_DEVICE_JS_START_BLESCAN_WITH_FILTER_0001 + * @tc.name testClassicStartBLEScan + * @tc.desc Test ClassicStartBLEScan api. + * @tc.author quanli 00313334 + * @tc.size MEDIUM + * @tc.type Function + * @tc.level Level 2 + */ + it('bluetooth_ble_start_scan_with_filter', 0, async function (done) { + console.info('BLE scan start'); + await bluetooth.BLE.on("BLEDeviceFind", onReceiveEvent) + function onReceiveEvent(data) { + console.info('[bluetooth_js] BLE scan device find result1 = '+ JSON.stringify(data)) + expect(data.length).assertLarger(0); + done() + } + bluetooth.BLE.startBLEScan( + [{ + deviceId:"789", + name:"test", + serviceUuid:"1234564" + }], + { + interval: 500, + dutyMode: bluetooth.ScanDuty.SCAN_MODE_LOW_POWER, + matchMode: bluetooth.MatchMode.MATCH_MODE_AGGRESSIVE, + } + ); + console.info('[bluetooth_js] BLE scan end'); + setTimeout(function(){ + console.debug('========bluetooth_ble_start_scan=======timeout') + },1000); + }) + + /** + * @tc.number SUB_COMMUNACATION_bluetooth_DEVICE_JS_START_BLESCAN_NO_FILTER_0001 + * @tc.name testClassicStartBLEScan + * @tc.desc Test ClassicStartBLEScan api. + * @tc.author quanli 00313334 + * @tc.size MEDIUM + * @tc.type Function + * @tc.level Level 2 + */ + it('bluetooth_ble_start_scan_no_filter', 0, async function (done) { + console.info('BLE scan start'); + await bluetooth.BLE.on("BLEDeviceFind", onReceiveEvent) + function onReceiveEvent(data) { + console.info('[bluetooth_js] BLE scan device find result2 = '+ JSON.stringify(data)) + expect(data.length).assertLarger(0); + done() + } + bluetooth.BLE.startBLEScan( + [{}], + { + interval: 500, + dutyMode: bluetooth.ScanDuty.SCAN_MODE_LOW_POWER, + matchMode: bluetooth.MatchMode.MATCH_MODE_AGGRESSIVE, + } + ); + console.info('BLE scan end'); + setTimeout(function(){ + console.debug('========bluetooth_ble_start_scan_no_filter=======timeout') + },1000); + }) + + /** + * @tc.number SUB_COMMUNACATION_bluetooth_DEVICE_JS_START_BLESCAN_WITHOUT_PARAM_0001 + * @tc.name testClassicStartBLEScan + * @tc.desc Test ClassicStartBLEScan api. + * @tc.author quanli 00313334 + * @tc.size MEDIUM + * @tc.type Function + * @tc.level Level 2 + */ + it('bluetooth_ble_start_scan_without_param', 0, async function (done) { + console.info('BLE scan start without scan options'); + await bluetooth.BLE.on("BLEDeviceFind", onReceiveEvent) + function onReceiveEvent(data) { + console.info('[bluetooth_js] BLE scan device find result3 = '+ JSON.stringify(data)) + expect(data.length).assertLarger(0); + bluetooth.BLE.stopBLEScan(); + done() + } + bluetooth.BLE.startBLEScan([{}]); + console.info('[bluetooth_js] BLE scan start end'); + setTimeout(function(){ + console.debug('========bluetooth_ble_start_scan_without_param=======timeout') + },1000); + }) + + /** + * @tc.number SUB_COMMUNACATION_bluetooth_DEVICE_JS_STOP_BLESCAN_0001 + * @tc.name testClassicStopBLEScan + * @tc.desc Test ClassicStopBLEScan api. + * @tc.author quanli 00313334 + * @tc.size MEDIUM + * @tc.type Function + * @tc.level Level 2 + */ + it('bluetooth_ble_stop_scan', 0, async function (done) { + console.info('BLE stop scan start'); + await bluetooth.off("BLEDeviceFind", onReceiveEvent) + function onReceiveEvent(data) { + console.info('[bluetooth_js] BLE scan device find result4 = '+ JSON.stringify(data)) + } + var result = bluetooth.BLE.stopBLEScan(); + console.info("[bluetooth_js] onStopBLEScan -> " + JSON.stringify(result)); + expect(result).assertNull(); + console.info('[bluetooth_js] BLE stop scan end'); + done() + setTimeout(function(){ + console.debug('========bluetooth_ble_stop_scan=======timeout') + },1000); + }) + + /** + * @tc.number SUB_COMMUNACATION_bluetooth_DEVICE_JS_START_ADVERTISING_0001 + * @tc.name testStartAdvertising + * @tc.desc Test StartAdvertising api. + * @tc.author quanli 00313334 + * @tc.size MEDIUM + * @tc.type Function + * @tc.level Level 2 + */ + it('bluetooth_ble_start_advertising', 0, async function (done) { + console.info('BLE advertising start'); + var manufactureValueBuffer = new Uint8Array(4); + manufactureValueBuffer[0] = 1; + manufactureValueBuffer[1] = 2; + manufactureValueBuffer[2] = 3; + manufactureValueBuffer[3] = 4; + + var serviceValueBuffer = new Uint8Array(4); + serviceValueBuffer[0] = 4; + serviceValueBuffer[1] = 6; + serviceValueBuffer[2] = 7; + serviceValueBuffer[3] = 8; + console.info('manufactureValueBuffer = '+ JSON.stringify(manufactureValueBuffer)) + console.info('serviceValueBuffer = '+ JSON.stringify(serviceValueBuffer)) + var gattServer = bluetooth.BLE.createGattServer() + await gattServer.startAdvertising({ + interval:150, + txPower:60, + connectable:true, + },{ + serviceUuids:["12"], + manufactureData:[{ + manufactureId:4567, + manufactureValue:manufactureValueBuffer.buffer + }], + serviceData:[{ + serviceUuid:"1234", + serviceValue:serviceValueBuffer.buffer + }], + },{ + serviceUuids:["12"], + manufactureData:[{ + manufactureId:1789, + manufactureValue:manufactureValueBuffer.buffer + }], + serviceData:[{ + serviceUuid:"1794", + serviceValue:serviceValueBuffer.buffer + }], + }); + done() + setTimeout(function(){ + console.debug('========bluetooth_ble_start_advertising=======timeout') + },1000); + }) + + /** + * @tc.number SUB_COMMUNACATION_bluetooth_DEVICE_JS_STOP_ADVERTISING_0001 + * @tc.name testStopAdvertising + * @tc.desc Test StopAdvertising api. + * @tc.author quanli 00313334 + * @tc.size MEDIUM + * @tc.type Function + * @tc.level Level 2 + */ + it('bluetooth_ble_stop_advertising', 0, async function (done) { + console.info('BLE stop advertising start'); + var gattServer = bluetooth.BLE.createGattServer() + gattServer.stopAdvertising() + console.info('BLE stop advertising end'); + done() + setTimeout(function(){ + console.debug('========bluetooth_ble_stop_advertising=======timeout') + },1000); + }) + + /** + * @tc.number SUB_COMMUNACATION_bluetooth_DEVICE_JS_GET_DEVICE_NAME_CALLBACK_0001 + * @tc.name testGetDeviceName + * @tc.desc Test GetDeviceName api by callback. + * @tc.author quanli 00313334 + * @tc.size MEDIUM + * @tc.type Function + * @tc.level Level 2 + */ + it('bluetooth_ble_get_device_name_callback', 0, async function (done) { + console.info('BLE get device name callback start'); + var gattClient = gattClient = bluetooth.BLE.createGattClientDevice("00:00:00:00:00:00"); + var deviceName = gattClient.getDeviceName((err, data)=> { + console.info('[bluetooth_js] device name err ' + JSON.stringify(err)) + console.info('[bluetooth_js] device name' + JSON.stringify(data)) + done(); + }) + console.info('BLE get device name callback end') + setTimeout(function(){ + console.debug('========bluetooth_ble_get_device_name_callback=======timeout') + },1000); + }) + + /** + * @tc.number SUB_COMMUNACATION_bluetooth_DEVICE_JS_GET_DEVICE_NAME_PROMISE_0001 + * @tc.name testGetDeviceName + * @tc.desc Test GetDeviceName api by promise. + * @tc.author quanli 00313334 + * @tc.size MEDIUM + * @tc.type Function + * @tc.level Level 2 + */ + it('bluetooth_ble_get_device_name_promise', 0, async function (done) { + console.info('BLE get device name promise start'); + var gattClient = gattClient = bluetooth.BLE.createGattClientDevice("00:00:00:00:00:00"); + var deviceName = gattClient.getDeviceName().then((data) => { + console.info('[bluetooth_js] device name' + JSON.stringify(data)) + done() + }) + console.info('BLE get device name promise end') + setTimeout(function(){ + console.debug('========bluetooth_ble_stop_advertising=======timeout') + },1000); + }) + + /** + * @tc.number SUB_COMMUNACATION_bluetooth_DEVICE_JS_GET_RSSI_VALUE_CALLBACK_0001 + * @tc.name testGetRssiValue + * @tc.desc Test GetRssiValue api by callback. + * @tc.author quanli 00313334 + * @tc.size MEDIUM + * @tc.type Function + * @tc.level Level 2 + */ + it('bluetooth_ble_read_rssi', 0, async function (done) { + console.info('BLE get rssi start'); + var gattClient = gattClient = bluetooth.BLE.createGattClientDevice("00:00:00:00:00:00"); + var rssi = gattClient.getRssiValue((err, data)=> { + console.info('[bluetooth_js] rssi err ' + JSON.stringify(err)) + console.info('[bluetooth_js] rssi value' + JSON.stringify(data)) + done(); + }) + console.info('BLE read rssi end'); + setTimeout(function(){ + console.debug('========bluetooth_ble_read_rssi=======timeout') + },1000); + }) + + /** + * @tc.number SUB_COMMUNACATION_bluetooth_DEVICE_JS_GET_RSSI_VALUE_PROMISE_0001 + * @tc.name testGetRssiValue + * @tc.desc Test GetRssiValue api by promise. + * @tc.author quanli 00313334 + * @tc.size MEDIUM + * @tc.type Function + * @tc.level Level 2 + */ + it('bluetooth_ble_read_rssi_promise', 0, async function (done) { + console.info('BLE get rssi start'); + var gattClient = gattClient = bluetooth.BLE.createGattClientDevice("00:00:00:00:00:00"); + var rssi = gattClient.getRssiValue().then((data) => { + console.info('rssi' + JSON.stringify(data)) + done(); + }) + console.info('[bluetooth_js] BLE read rssi ' + JSON.stringify(rssi)); + var rssiLength = Object.keys(rssi).length; + console.info("[bluetooth_js] ble rssi_length -> " + rssiLength); + expect(rssiLength).assertEqual(0); + setTimeout(function(){ + console.debug('========bluetooth_ble_stop_advertising=======timeout') + },1000); + }) + + /** + * @tc.number SUB_COMMUNACATION_bluetooth_DEVICE_JS_DISABLE_BLUETOOTH_0001 + * @tc.name testDisableBluetooth + * @tc.desc Test DisableBluetooth api. + * @tc.author quanli 00313334 + * @tc.size MEDIUM + * @tc.type Function + * @tc.level Level 2 + */ + it('bluetooth_classic_disable_bluetooth', 0, async function (done) { + console.info('disable bluetooth start'); + bluetooth.off("pinRequired", onPinRequiredReceiveEvent) + function onPinRequiredReceiveEvent(data) { + console.info('[bluetooth_js] pin required = '+ JSON.stringify(data)) + } + + bluetooth.off("boneStateChange", onBoneStateReceiveEvent) + function onBoneStateReceiveEvent(data) { + console.info('[bluetooth_js] boneStateChange = '+ JSON.stringify(data)) + } + + bluetooth.off("stateChange", onReceiveEvent); + function onReceiveEvent(data) { + console.info('[bluetooth_js] enable bluetooth data = '+ JSON.stringify(data)) + done() + } + var enable = bluetooth.disableBluetooth(); + setTimeout(function(){ + console.debug('========bluetooth_classic_disable_bluetooth=======timeout') + }, 1000); + console.info('disable bluetooth end'); + }) + + /** + * @tc.number SUB_COMMUNACATION_bluetooth_DEVICE_JS_GATT_CONNRCT_0001 + * @tc.name testConnect + * @tc.desc Test Connect api. + * @tc.author quanli 00313334 + * @tc.size MEDIUM + * @tc.type Function + * @tc.level Level 2 + */ + it('bluetooth_gatt_connect', 0, function (done) { + console.info('bluetooth connect start'); + gattClient = bluetooth.BLE.createGattClientDevice("00:00:00:00:00:00"); + + let ret = gattClient.connect(); + console.info('[bluetooth_js] bluetooth connect ret : ' + ret); + expect(ret).assertEqual(false); + console.info('bluetooth connect end'); + done(); + }) + + /** + * @tc.number SUB_COMMUNACATION_bluetooth_DEVICE_JS_GATT_DISCONNRCT_0001 + * @tc.name testDisConnect + * @tc.desc Test DisConnect api. + * @tc.author quanli 00313334 + * @tc.size MEDIUM + * @tc.type Function + * @tc.level Level 2 + */ + it('bluetooth_gatt_disconnect', 0, function (done) { + console.info('bluetooth disconnect start'); + + let ret = gattClient.disconnect(); + console.info('[bluetooth_js] bluetooth disconnect ret : ' + ret); + expect(ret).assertEqual(false); + console.info('bluetooth disconnect end'); + done(); + }) + + /** + * @tc.number SUB_COMMUNACATION_bluetooth_DEVICE_JS_GATT_GETSERVICES_0001 + * @tc.name testGetServices + * @tc.desc Test GetServices api by promise. + * @tc.author quanli 00313334 + * @tc.size MEDIUM + * @tc.type Function + * @tc.level Level 2 + */ + it('bluetooth_gatt_getServices', 0, async function (done) { + console.info('bluetooth getServices start'); + + gattClient.getServices().then((object) => { + if (object != null) { + console.info('[bluetooth_js] bluetooth getServices is null'); + expect(true).assertEqual(true); + } else { + console.info('[bluetooth_js] bluetooth getServices is successfully'); + expect(null).assertFail(); + } + done(); + }).catch(err => { + console.error(`bluetooth getServices has error: ${err}`); +// expect(null).assertFail(); + expect(true).assertEqual(true); + done(); + }); + }) + + /** + * @tc.number SUB_COMMUNACATION_bluetooth_DEVICE_JS_GATT_READ_CHARA_VALUE_0001 + * @tc.name testReadCharacteristicValue + * @tc.desc Test ReadCharacteristicValue api by promise. + * @tc.author quanli 00313334 + * @tc.size MEDIUM + * @tc.type Function + * @tc.level Level 2 + */ + it('bluetooth_gatt_readCharacteristicValue', 0, async function (done) { + console.info('bluetooth readCharacteristicValue start'); + + let descriptors = []; + let arrayBuffer = new ArrayBuffer(8); + let desValue = new Uint8Array(arrayBuffer); + desValue[0] = 11; + + let descriptor = {serviceUuid: '00001810-0000-1000-8000-00805F9B34FB', + descriptorUuid: '00001830-0000-1000-8000-00805F9B34FB', descriptorValue: arrayBuffer}; + descriptors[0] = descriptor; + + let arrayBufferCCC = new ArrayBuffer(8); + let cccValue = new Uint8Array(arrayBufferCCC); + cccValue[0] = 32; + let characteristic = {serviceUuid: '00001810-0000-1000-8000-00805F9B34FB', + characteristicUuid: '00001820-0000-1000-8000-00805F9B34FB', + characteristicValue:arrayBufferCCC,descriptors:descriptors}; + + gattClient.readCharacteristicValue(characteristic).then((object) => { + if (object != null) { + console.info('[bluetooth_js] bluetooth BLECharacteristic is null'); + expect(true).assertEqual(true); + } else { + console.info('[bluetooth_js] bluetooth BLECharacteristic uuid is successfully'); + expect(null).assertFail(); + } + done(); + }).catch(err => { + console.error(`bluetooth readCharacteristicValue has error: ${err}`); +// expect(null).assertFail(); + expect(true).assertEqual(true); + done(); + }); + }) + + /** + * @tc.number SUB_COMMUNACATION_bluetooth_DEVICE_JS_GATT_READ_DESCRI_VALUE_0001 + * @tc.name testReadDescriptorValue + * @tc.desc Test ReadDescriptorValue api by promise. + * @tc.author quanli 00313334 + * @tc.size MEDIUM + * @tc.type Function + * @tc.level Level 2 + */ + it('bluetooth_gatt_readDescriptorValue', 0, function (done) { + console.info('bluetooth readDescriptorValue start'); + + let arrayBuffer = new ArrayBuffer(8); + let desValue = new Uint8Array(arrayBuffer); + desValue[0] = 11; + + let descriptor = {serviceUuid: '00001810-0000-1000-8000-00805F9B34FB', + descriptorUuid: '00001830-0000-1000-8000-00805F9B34FB', descriptorValue: arrayBuffer}; + + + gattClient.readDescriptorValue(descriptor).then((object) => { + if (object != null) { + console.info('bluetooth BLEDescriptor is null'); + expect(true).assertEqual(true); + } else { + console.info('bluetooth BLEDescriptor uuid is successfully'); + expect(null).assertFail(); + } + done(); + }).catch(err => { + console.error(`bluetooth readDescriptorValue has error: ${err}`); +// expect(null).assertFail(); + expect(true).assertEqual(true); + done(); + }); + }) + + /** + * @tc.number SUB_COMMUNACATION_bluetooth_DEVICE_JS_GATT_WRITE_CHARACT_VALUE_0001 + * @tc.name testWriteCharacteristicValue + * @tc.desc Test WriteCharacteristicValue api. + * @tc.author quanli 00313334 + * @tc.size MEDIUM + * @tc.type Function + * @tc.level Level 2 + */ + it('bluetooth_gatt_writeCharacteristicValue', 0, function (done) { + console.info('bluetooth writeCharacteristicValue start'); + + let descriptors = []; + let arrayBuffer = new ArrayBuffer(8); + let desValue = new Uint8Array(arrayBuffer); + desValue[0] = 11; + + let descriptor = {serviceUuid: '00001810-0000-1000-8000-00805F9B34FB', + descriptorUuid: '00001830-0000-1000-8000-00805F9B34FB', descriptorValue: arrayBuffer}; + descriptors[0] = descriptor; + + let arrayBufferCCC = new ArrayBuffer(8); + let cccValue = new Uint8Array(arrayBufferCCC); + cccValue[0] = 32; + let characteristic = {serviceUuid: '00001810-0000-1000-8000-00805F9B34FB', + characteristicUuid: '00001820-0000-1000-8000-00805F9B34FB', + characteristicValue: arrayBufferCCC, descriptors:descriptors}; + + + let ret = gattClient.writeCharacteristicValue(characteristic); + console.info('[bluetooth_js] bluetooth writeCharacteristicValue ret : ' + ret); + expect(ret).assertEqual(false); + + console.info('bluetooth writeCharacteristicValue end'); + done(); + }) + + /** + * @tc.number SUB_COMMUNACATION_bluetooth_DEVICE_JS_GATT_WRITE_DESC_VALUE_0001 + * @tc.name testWriteDescriptorValue + * @tc.desc Test WriteDescriptorValue api. + * @tc.author quanli 00313334 + * @tc.size MEDIUM + * @tc.type Function + * @tc.level Level 2 + */ + it('bluetooth_gatt_writeDescriptorValue', 0, function (done) { + console.info('bluetooth writeDescriptorValue start'); + + let arrayBuffer = new ArrayBuffer(8); + let desValue = new Uint8Array(arrayBuffer); + desValue[0] = 11; + + let descriptor = {serviceUuid: '00001810-0000-1000-8000-00805F9B34FB', + descriptorUuid: '00001830-0000-1000-8000-00805F9B34FB', descriptorValue: arrayBuffer}; + + let ret = gattClient.writeDescriptorValue(descriptor); + console.info('[bluetooth_js] bluetooth writeDescriptorValue ret : ' + ret); + expect(ret).assertEqual(false); + + console.info('bluetooth writeDescriptorValue end'); + done(); + }) + + /** + * @tc.number SUB_COMMUNACATION_bluetooth_DEVICE_JS_GATT_SET_BLE_MTUSIZE_0001 + * @tc.name testSetBLEMtuSize + * @tc.desc Test SetBLEMtuSize api. + * @tc.author quanli 00313334 + * @tc.size MEDIUM + * @tc.type Function + * @tc.level Level 2 + */ + it('bluetooth_gatt_setBLEMtuSize', 0, function (done) { + console.info('bluetooth setBLEMtuSize start'); + + let ret = gattClient.setBLEMtuSize(128); + console.info('[bluetooth_js] bluetooth setBLEMtuSize ret : ' + ret); + expect(ret).assertEqual(false); + + console.info('bluetooth setBLEMtuSize end'); + done(); + }) + + /** + * @tc.number SUB_COMMUNACATION_bluetooth_DEVICE_JS_GATT_SET_NOTIFY_CHARA_CHANGED_0001 + * @tc.name testSetNotifyCharacteristicChanged + * @tc.desc Test SetNotifyCharacteristicChanged api. + * @tc.author quanli 00313334 + * @tc.size MEDIUM + * @tc.type Function + * @tc.level Level 2 + */ + it('bluetooth_gatt_setNotifyCharacteristicChanged', 0, function (done) { + console.info('bluetooth setNotifyCharacteristicChanged start'); + + let descriptors = []; + let arrayBuffer = new ArrayBuffer(8); + let desValue = new Uint8Array(arrayBuffer); + desValue[0] = 11; + + let arrayBufferNotify = new ArrayBuffer(8); + let descNotifyValue = new Uint8Array(arrayBufferNotify); + descNotifyValue[0] = 1 + + let descriptor = {serviceUuid: '00001810-0000-1000-8000-00805F9B34FB', + descriptorUuid: '00001830-0000-1000-8000-00805F9B34FB', descriptorValue: arrayBuffer}; + let descriptorNotify = {serviceUuid: '00001810-0000-1000-8000-00805F9B34FB', + descriptorUuid: '00002902-0000-1000-8000-00805F9B34FB', descriptorValue: arrayBufferNotify}; + descriptors[0] = descriptor; + descriptors[1] = descriptorNotify; + + let arrayBufferCCC = new ArrayBuffer(8); + let cccValue = new Uint8Array(arrayBufferCCC); + cccValue[0] = 1; + let characteristic = {serviceUuid: '00001810-0000-1000-8000-00805F9B34FB', + characteristicUuid: '00001820-0000-1000-8000-00805F9B34FB', + characteristicValue: arrayBufferCCC, descriptors:descriptors}; + + let ret = gattClient.setNotifyCharacteristicChanged(characteristic, false); + console.info('[bluetooth_js] bluetooth setNotifyCharacteristicChanged ret : ' + ret); + expect(ret).assertEqual(false); + + console.info('bluetooth setNotifyCharacteristicChanged end'); + done(); + }) + + /** + * @tc.number SUB_COMMUNACATION_bluetooth_DEVICE_JS_GATT_ADD_SERVICE_0001 + * @tc.name testAddService + * @tc.desc Test AddService api. + * @tc.author quanli 00313334 + * @tc.size MEDIUM + * @tc.type Function + * @tc.level Level 2 + */ + it('bluetooth_gatt_addService', 0, function (done) { + console.info('bluetooth addService start'); + gattServer = bluetooth.BLE.createGattServer(); + + let descriptors = []; + let arrayBuffer = new ArrayBuffer(8); + let desValue = new Uint8Array(arrayBuffer); + desValue[0] = 11; + + let descriptor = {serviceUuid: '00001810-0000-1000-8000-00805F9B34FB', + characteristicUuid: '00001820-0000-1000-8000-00805F9B34FB', + descriptorUuid: '00001830-0000-1000-8000-00805F9B34FB', + descriptorValue: arrayBuffer}; + + descriptors[0] = descriptor; + + let characteristics = []; + let arrayBufferCCC = new ArrayBuffer(8); + let cccValue = new Uint8Array(arrayBufferCCC); + cccValue[0] = 1; + let characteristic = {serviceUuid: '00001810-0000-1000-8000-00805F9B34FB', + characteristicUuid: '00001820-0000-1000-8000-00805F9B34FB', + characteristicValue: arrayBufferCCC, descriptors:descriptors}; + characteristics[0] = characteristic; + + let service = {serviceUuid: '00001810-0000-1000-8000-00805F9B34FB', + isPrimary: true, characteristics: characteristics, includeServices: []}; + + let ret = gattServer.addService(service); + console.info('[bluetooth_js] bluetooth addService ret : ' + ret); + expect(ret).assertEqual(false); + + console.info('bluetooth addService end'); + done(); + }) + + /** + * @tc.number SUB_COMMUNACATION_bluetooth_DEVICE_JS_GATT_REMOVE_SERVICE_0001 + * @tc.name testRemoveService + * @tc.desc Test RemoveService api. + * @tc.author quanli 00313334 + * @tc.size MEDIUM + * @tc.type Function + * @tc.level Level 2 + */ + it('bluetooth_gatt_removeService', 0, function (done) { + console.info('bluetooth removeService start'); + gattServer = bluetooth.BLE.createGattServer(); + + let ret = gattServer.removeService('00001810-0000-1000-8000-008000000000'); + console.info('[bluetooth_js] bluetooth removeService ret : ' + ret); + expect(ret).assertEqual(false); + + console.info('bluetooth removeService end'); + done(); + }) + + /** + * @tc.number SUB_COMMUNACATION_bluetooth_DEVICE_JS_GATT_NOTIFY_CHARA_CHANGED_0001 + * @tc.name testNotifyCharacteristicChanged + * @tc.desc Test NotifyCharacteristicChanged api. + * @tc.author quanli 00313334 + * @tc.size MEDIUM + * @tc.type Function + * @tc.level Level 2 + */ + it('bluetooth_gatt_notifyCharacteristicChanged', 0, function (done) { + console.info('bluetooth notifyCharacteristicChanged start'); + + let descriptors = []; + let arrayBufferDesc = new ArrayBuffer(8); + let desValue = new Uint8Array(arrayBufferDesc); + desValue[0] = 11; + + let arrayBufferNotifyDesc = new ArrayBuffer(8); + let descNotifyValue = new Uint8Array(arrayBufferNotifyDesc); + descNotifyValue[0] = 1 + + let descriptor = {serviceUuid: '00001810-0000-1000-8000-00805F9B34FB', + descriptorUuid: '00001830-0000-1000-8000-00805F9B34FB', descriptorValue: desValue}; + let descriptorNotify = {serviceUuid: '00001810-0000-1000-8000-00805F9B34FB', + descriptorUuid: '00002902-0000-1000-8000-00805F9B34FB', descriptorValue: descNotifyValue}; + descriptors[0] = descriptor; + descriptors[1] = descriptorNotify; + + let arrayBufferCCC = new ArrayBuffer(8); + let cccValue = new Uint8Array(arrayBufferCCC); + cccValue[0] = 1; + let characteristic = {serviceUuid: '00001810-0000-1000-8000-00805F9B34FB', + characteristicUuid: '00001820-0000-1000-8000-00805F9B34FB', + characteristicValue: cccValue, descriptors:descriptors}; + + let ret = gattServer.notifyCharacteristicChanged('00:00:00:00:00:00', characteristic); + console.info('[bluetooth_js] bluetooth notifyCharacteristicChanged ret : ' + ret); + expect(ret).assertEqual(false); + + console.info('bluetooth notifyCharacteristicChanged end'); + done(); + }) + + /** + * @tc.number SUB_COMMUNACATION_bluetooth_DEVICE_JS_GATT_SEND_RESPONSE_0001 + * @tc.name testSendResponse + * @tc.desc Test SendResponse api. + * @tc.author quanli 00313334 + * @tc.size MEDIUM + * @tc.type Function + * @tc.level Level 2 + */ + it('bluetooth_gatt_sendResponse', 0, function (done) { + console.info('bluetooth sendResponse start'); + + let arrayBuffer = new ArrayBuffer(8); + let value = new Uint8Array(arrayBuffer); + value[0] = 1; + + let serverResponse = {deviceId: '00:00:00:00:00', transId: 1, + status: 0, offset: 0, value: arrayBuffer}; + + let ret = gattServer.sendResponse(serverResponse); + console.info('[bluetooth_js] bluetooth sendResponse ret : ' + ret); + expect(ret).assertEqual(false); + console.info('bluetooth sendResponse end'); + done(); + }) + + /** + * @tc.number SUB_COMMUNACATION_bluetooth_DEVICE_JS_SPP_LISTEN_0001 + * @tc.name testSppListen + * @tc.desc Test SppListen api by callback. + * @tc.author quanli 00313334 + * @tc.size MEDIUM + * @tc.type Function + * @tc.level Level 2 + */ + it('bluetooth_spp_listen', 0, function (done) { + console.log("bluetooth: spp listen start"); + let sppOption = {uuid: '00001810-0000-1000-8000-00805F9B34FB', + secure: true, type: 0}; + + bluetooth.sppListen('server1', sppOption, function(code, serverSocketNumber) { + if (code.code == 0) { + console.info('bluetooth code is success'); + console.info('bluetooth code is: ' + code.code); + expect(true).assertEqual(true); + done(); + } else { + console.info('bluetooth code is failed'); + console.info('bluetooth code is: ' + code.code); + expect(true).assertEqual(false); + done(); + } + }); + }) + + /** + * @tc.number SUB_COMMUNACATION_bluetooth_DEVICE_JS_SPP_ACCEPT_0001 + * @tc.name testSppAccept + * @tc.desc Test SppAccept api by callbck. + * @tc.author quanli 00313334 + * @tc.size MEDIUM + * @tc.type Function + * @tc.level Level 2 + */ + it('bluetooth_spp_Accept', 0, function (done) { + console.log("bluetooth: spp accept start"); + + bluetooth.sppAccept(-1, function(code, clientSocketNumber) { + if (code.code == 0) { + console.info('bluetooth code is success'); + console.info('bluetooth code is: ' + code.code); + expect(true).assertEqual(true); + } else { + console.info('bluetooth code is failed'); + console.info('bluetooth code is: ' + code.code); + expect(true).assertEqual(false); + } + }); + console.log("bluetooth: spp accept end"); + done(); + }) + + /** + * @tc.number SUB_COMMUNACATION_bluetooth_DEVICE_JS_SPP_CLOSE_SERVER_SOCKET_0001 + * @tc.name testSppCloseServerSocket + * @tc.desc Test SppCloseServerSocket api. + * @tc.author quanli 00313334 + * @tc.size MEDIUM + * @tc.type Function + * @tc.level Level 2 + */ + it('bluetooth_spp_closeServerSocket', 0, function (done) { + console.log("bluetooth: spp closeServerSocket start"); + + let ret = bluetooth.sppCloseServerSocket(-1); + + console.info('[bluetooth_js] bluetooth sppCloseServerSocket ret : ' + ret); + expect(ret).assertEqual(false); + console.log("bluetooth: spp closeServerSocket end"); + done(); + }) + + + + /** + * @tc.number SUB_COMMUNACATION_bluetooth_DEVICE_JS_SPP_CONNECT_0001 + * @tc.name testSppConnect + * @tc.desc Test SppConnect api by callback. + * @tc.author quanli 00313334 + * @tc.size MEDIUM + * @tc.type Function + * @tc.level Level 2 + */ + it('bluetooth_spp_connect', 0, function (done) { + console.info('bluetooth spp_connect start'); + + let sppOption = {uuid: '00001810-0000-1000-8000-00805F9B34FB', + secure: true, type: 0}; + bluetooth.sppConnect(55, sppOption, function(code, clientSocketNumber) { + if (code.code == 0) { + console.info('bluetooth code is success'); + expect(true).assertEqual(true); + } else { + console.info('bluetooth code is failed'); + expect(true).assertEqual(false); + } + }); + console.info('bluetooth spp_connect end'); + done(); + }) + + /** + * @tc.number SUB_COMMUNACATION_bluetooth_DEVICE_JS_SPP_WRITE_0001 + * @tc.name testSppWrite + * @tc.desc Test SppWrite api. + * @tc.author quanli 00313334 + * @tc.size MEDIUM + * @tc.type Function + * @tc.level Level 2 + */ + it('bluetooth_spp_write', 0, function (done) { + console.info('bluetooth spp write start'); + + let arrayBuffer = new ArrayBuffer(8); + let data = new Uint8Array(arrayBuffer); + data[0] = 123; + + let ret = bluetooth.sppWrite(-1, arrayBuffer); + console.info('[bluetooth_js] bluetooth sppWrite ret : ' + ret); + expect(ret).assertEqual(false); + console.info('bluetooth spp write end'); + done(); + }) + +}) + diff --git a/communication/bluetooth_standard/src/main/js/default/test/List.test.js b/communication/bluetooth_standard/src/main/js/default/test/List.test.js new file mode 100644 index 0000000000000000000000000000000000000000..165f88d4c5b51ee5517e825c63751ce9c126305d --- /dev/null +++ b/communication/bluetooth_standard/src/main/js/default/test/List.test.js @@ -0,0 +1,16 @@ +/* + * Copyright (C) 2021 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +require('./Bluetooth.test.js') diff --git a/communication/bluetooth_standard/src/main/resources/base/element/string.json b/communication/bluetooth_standard/src/main/resources/base/element/string.json new file mode 100644 index 0000000000000000000000000000000000000000..14f9c3a9210f78b12caf3b945dc2b2c0f63f7d3d --- /dev/null +++ b/communication/bluetooth_standard/src/main/resources/base/element/string.json @@ -0,0 +1,12 @@ +{ + "string": [ + { + "name": "app_name", + "value": "OsAccountTest" + }, + { + "name": "mainability_description", + "value": "JS_Phone_Empty Feature Ability" + } + ] +} \ No newline at end of file diff --git a/communication/bluetooth_standard/src/main/resources/base/media/icon.png b/communication/bluetooth_standard/src/main/resources/base/media/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..ce307a8827bd75456441ceb57d530e4c8d45d36c Binary files /dev/null and b/communication/bluetooth_standard/src/main/resources/base/media/icon.png differ diff --git a/communication/wifi_standard/BUILD.gn b/communication/wifi_standard/BUILD.gn index ec29255d480cd0b2e958bba53dfd86fe8538d5b9..71407c7da1f073ae9778a98e8aa61ecb3b2dce41 100755 --- a/communication/wifi_standard/BUILD.gn +++ b/communication/wifi_standard/BUILD.gn @@ -13,7 +13,7 @@ import("//test/xts/tools/build/suite.gni") -ohos_js_hap_suite("wifi_standard_test") { +ohos_js_hap_suite("ActsWifiJSTest") { hap_profile = "./src/main/config.json" deps = [ ":wifi_js_assets", diff --git a/communication/wifi_standard/src/main/js/default/test/List.test.js b/communication/wifi_standard/src/main/js/default/test/List.test.js index 7613fbe929826dd0fd4ca25c1d0a6f6aa2923ca8..90356dd4c6b49f69d36410b1613e87058a26f38c 100755 --- a/communication/wifi_standard/src/main/js/default/test/List.test.js +++ b/communication/wifi_standard/src/main/js/default/test/List.test.js @@ -12,5 +12,6 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - require('./WifiSta.test.js') +require('./WifiSoftAP.test.js') + diff --git a/communication/wifi_standard/src/main/js/default/test/WifiSoftAP.test.js b/communication/wifi_standard/src/main/js/default/test/WifiSoftAP.test.js new file mode 100755 index 0000000000000000000000000000000000000000..bb29c0e57f90e4b818ab2dc2bf93984ca8dde057 --- /dev/null +++ b/communication/wifi_standard/src/main/js/default/test/WifiSoftAP.test.js @@ -0,0 +1,686 @@ +/* + * Copyright (C) 2021 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import {describe, beforeAll, beforeEach, afterEach, afterAll, it, expect} from 'deccjsunit/index' + +import wifi from '@ohos.wifi' + +// delay x ms +function sleep(delay) { + + var start = (new Date()).getTime(); + while(true){ + if(new Date().getTime() - start >delay) { + break; + } + } +} + +var WifiSecurityType = { + WIFI_SEC_TYPE_INVALID : 0, + WIFI_SEC_TYPE_OPEN : 1, + WIFI_SEC_TYPE_WEP : 2, + WIFI_SEC_TYPE_PSK : 3, + WIFI_SEC_TYPE_SAE : 4, +} + +var HotspotConfig = { + "ssid": "testWgr", + "band": 1, + "preSharedKey": "12345678", + "securityType": WifiSecurityType.WIFI_SEC_TYPE_PSK, + "maxConn": 8 +} + +describe('ACTS_WifiTest', function() { + beforeEach(function () { + }) + + afterEach(function () { + }) + + /** + * @tc.number OPEN_0002 + * @tc.name SUB_Communication_WiFi_Hotspot_Open_0002 + * @tc.desc Test wifi.enableHotspot and wifi.disableHotspot API functionality1. + * @tc.level Level 0 + */ + it('SUB_Communication_WiFi_Hotspot_Open_0002', 0, function () { + console.info("[wifi_test] SUB_Communication_WiFi_Hotspot_Open_0002"); + console.info("[wifi_test] enableHotspot and disableHotspot test start."); + if (wifi.isWifiActive()) { + var disable = wifi.disableWifi(); + sleep(5000); + console.log("[wifi_test] wifi close result: " + disable); + expect(disable).assertTrue(); + } + var close =wifi.isWifiActive(); + console.info("[wifi_test] wifi status result: " + close); + expect(close).assertTrue(); + if (wifi.isHotspotActive()) { + var off = wifi.disableHotspot(); + sleep(5000); + console.info("[wifi_test] disableHotspot result -> " + off); + expect(off).assertTrue(); + } + console.info('[wifi_test] test enableHotspot and disableHotspot'); + var enHot = wifi.enableHotspot(); + sleep(5000); + console.info("[wifi_test] enableHotspot result -> " + enHot); + expect(wifi.isHotspotActive()).assertTrue(); + var disHot = wifi.disableHotspot(); + sleep(5000); + console.info("[wifi_test] disableHotspot result -> " + disHot); + console.info("[wifi_test] enableHotspot result -> " + wifi.isHotspotActive()); + expect(wifi.isHotspotActive()).assertFalse(); + console.info("[wifi_test] enableHotspot and disableHotspot test end."); + }) + + /** + * @tc.number OPEN_0003 + * @tc.name SUB_Communication_WiFi_Hotspot_Open_0003 + * @tc.desc Test open Hotspot after open wifi + * @tc.level Level 1 + */ + it('SUB_Communication_WiFi_Hotspot_Open_0003', 0, function () { + console.info("[wifi_test] SUB_Communication_WiFi_Hotspot_Open_0003"); + if (wifi.isHotspotActive()) { + console.info("[wifi_test] close Hotspot test start."); + var off = wifi.disableHotspot(); + sleep(5000); + console.info("[wifi_test] disableHotspot result -> " + off); + expect(off).assertTrue(); + } + console.info('[wifi_test] test close wifi and enableHotspot start'); + var on = wifi.enableHotspot(); + sleep(5000); + console.info("[wifi_test] enableHotspot result -> " + on); + expect(wifi.isHotspotActive()).assertTrue(); + expect(wifi.isWifiActive()).assertFalse(); + + }) + + /** + * @tc.number CONFIG_0001 + * @tc.name SUB_Communication_WiFi_Hotspot_Config_0001 + * @tc.desc Test set a valid 2.4G hotspot config + * @tc.level Level 0 + */ + it('SUB_Communication_WiFi_Hotspot_Config_0001', 0, function () { + console.info("[wifi_test] SUB_Communication_WiFi_Hotspot_Config_0001"); + console.info("[wifi_test] set a valid 2.4G hotspot config start."); + if (wifi.isHotspotActive()) { + var off = wifi.disableHotspot(); + sleep(5000); + console.info("[wifi_test] disableHotspot result -> " + off); + expect(off).assertTrue(); + } + var isSuccess = wifi.setHotspotConfig(HotspotConfig); + console.log("[wifi_test] set 2.4G hotspot config result: " + isSuccess); + expect(isSuccess).assertTrue(); + + console.info("[wifi_test] check the state of hotspot, if it's inactive, open it."); + if(!wifi.isHotspotActive()) { + console.info("[wifi_test] open Hotspot test start."); + var on = wifi.enableHotspot(); + sleep(5000); + console.info("[wifi_js] enableHotspot result -> " + on); + expect(on).assertTrue(); + } + console.log("[wifi_test] check the state of Hotspot " ); + var isHotspotActive = wifi.isHotspotActive(); + console.info("[wifi_test] isHotspotActive -> " + isHotspotActive); + expect(isHotspotActive).assertTrue(); + + console.info("[wifi_test] check band of current band should be 2.4G."); + var hotspotConfig = wifi.getHotspotConfig(); + console.log("[wifi_test] getHotspotConfig result: " + JSON.stringify(hotspotConfig)); + expect(hotspotConfig.band).assertEqual(1); + }) + + /** + * @tc.number CONFIG_0002 + * @tc.name SUB_Communication_WiFi_Hotspot_Config_0002 + * @tc.desc Test set a valid 5G hotspot config + * @tc.level Level 1 + */ + it('SUB_Communication_WiFi_Hotspot_Config_0002', 0, function () { + console.info("[wifi_test] SUB_Communication_WiFi_Hotspot_Config_0002"); + console.info("[wifi_test] set a valid hotspot config start."); + if (wifi.isHotspotActive()) { + var off = wifi.disableHotspot(); + sleep(5000); + console.info("[wifi_test] disableHotspot result -> " + off); + expect(off).assertTrue(); + } + var HotspotConfig5G = { + "ssid": "testWgr", + "band": 2, + "preSharedKey": "12345678", + "securityType": WifiSecurityType.WIFI_SEC_TYPE_PSK, + "maxConn": 8 + }; + var isSuccess5 = wifi.setHotspotConfig(HotspotConfig5G); + console.log("[wifi_test] set 5G hotspot config result1: " + isSuccess5); + expect(isSuccess5).assertFalse(); + console.info("[wifi_test] check the state of hotspot, if it's inactive, open it."); + if (!wifi.isHotspotActive()) { + console.info("[wifi_test] open Hotspot test start."); + var on = wifi.enableHotspot(); + sleep(5000); + console.info("[wifi_test] enableHotspot result -> " + on); + expect(on).assertTrue(); + } + console.log("[wifi_test] check the state of Hotspot" ); + var isHotspotActive = wifi.isHotspotActive(); + console.info("[wifi_test] isHotspotActive -> " + isHotspotActive); + expect(isHotspotActive).assertTrue(); + console.info("[wifi_test] check band of current band should be 5G."); + var hotspotConfig5 = wifi.getHotspotConfig(); + console.log("[wifi_test] getHotspotConfig result: " + JSON.stringify(hotspotConfig5)); + expect(hotspotConfig5.band).assertEqual(1); + }) + + /** + * @tc.number CONFIG_0003 + * @tc.name SUB_Communication_WiFi_Hotspot_Config_0003 + * @tc.desc Test set a invalid hotspot config + * @tc.level Level 2 + */ + it('SUB_Communication_WiFi_Hotspot_Config_0003', 0, function () { + console.info("[wifi_test] set a invalid hotspot config start."); + if (wifi.isHotspotActive()) { + var off = wifi.disableHotspot(); + sleep(5000); + console.info("[wifi_test] disableHotspot result -> " + off); + expect(off).assertTrue(); + } + var HotspotConfig1= { + "ssid": "testWgr", + "band": 21, + "preSharedKey": "12345678", + "securityType": WifiSecurityType.WIFI_SEC_TYPE_PSK, + "maxConn": 8 + }; + var isSuccess1 = wifi.setHotspotConfig(HotspotConfig1); + console.log("[wifi_test] set invalid band hotspot config result1:" + isSuccess1); + expect(isSuccess1).assertFalse(); + + }) + + + /** + * @tc.number CONFIG_0004 + * @tc.name SUB_Communication_WiFi_Hotspot_Config_0004 + * @tc.desc Test set a max preSharedKey is hotspot config + * @tc.level Level 2 + */ + it('SUB_Communication_WiFi_Hotspot_Config_0004', 0, function () { + console.info("[wifi_test] SUB_Communication_WiFi_Hotspot_Config_0004"); + console.info("[wifi_test] check the state of hotspot, if it's open, close it."); + if (wifi.isHotspotActive()) { + var off = wifi.disableHotspot(); + sleep(5000); + console.info("[wifi_test] disableHotspot result -> " + off); + expect(off).assertTrue(); + } + console.log("[wifi_test] set max preSharedKey valid hotspot config " ); + var HotspotConfigM= { + "ssid": "testWgr", + "band": 1, + "preSharedKey": "123456789123456789123456789123456789123456789123456789123456789", + "securityType": WifiSecurityType.WIFI_SEC_TYPE_PSK, + "maxConn": 8 + }; + var isSuccess1 = wifi.setHotspotConfig(HotspotConfigM); + console.log("[wifi_test] set max preSharedKey valid hotspot config result: " + isSuccess1); + expect(isSuccess1).assertTrue(); + console.info("[wifi_test] check the state of hotspot, if it's inactivated, open it."); + if (!wifi.isHotspotActive()) { + var on = wifi.enableHotspot(); + sleep(5000); + console.info("[wifi_test] enableHotspot result -> " + on); + expect(on).assertTrue(); + } + console.log("[wifi_test] check the state of Hotspot " ); + var isHotspotActive = wifi.isHotspotActive(); + console.info("[wifi_test] isHotspotActive -> " + isHotspotActive); + expect(isHotspotActive).assertTrue(); + console.log("[wifi_test] set 65 preSharedKey invalid hotspot config " ); + var HotspotConfigM1= { + "ssid": "testWgr", + "band": 1, + "preSharedKey": "1234567891234567891234567891234567891234567891234567891234567891", + "securityType": WifiSecurityType.WIFI_SEC_TYPE_PSK, + "maxConn": 8 + }; + var isSuccess1 = wifi.setHotspotConfig(HotspotConfigM1); + console.log("[wifi_test] set 65 preSharedKey invalid hotspot config result: " + isSuccess1); + expect(isSuccess1).assertFalse(); + }) + + /** + * @tc.number CONFIG_0005 + * @tc.name SUB_Communication_WiFi_Hotspot_Config_0005 + * @tc.desc Test set a min preSharedKey is hotspot config + * @tc.level Level 2 + */ + it('SUB_Communication_WiFi_Hotspot_Config_0005', 0, function () { + console.info("[wifi_test] check the state of hotspot, if it's open, close it."); + if (wifi.isHotspotActive()) { + var off = wifi.disableHotspot(); + sleep(5000); + console.info("[wifi_test] disableHotspot result -> " + off); + expect(off).assertTrue(); + } + console.log("[wifi_test] set min preSharedKey valid hotspot config " ); + var HotspotConfigI= { + "ssid": "testWgr", + "band": 1, + "preSharedKey": "12345678", + "securityType": WifiSecurityType.WIFI_SEC_TYPE_PSK, + "maxConn": 8 + }; + var isSuccess1 = wifi.setHotspotConfig(HotspotConfigI); + console.log("[wifi_test] set 8 preSharedKey valid hotspot config result: " + isSuccess1); + expect(isSuccess1).assertTrue(); + console.log("[wifi_test] check current hotspot config preSharedKey is 8bit" ); + var config = wifi.getHotspotConfig(); + console.info("[wifi_test] getHotspotConfig result -> " + JSON.stringify(config)); + console.info("preSharedKey: " + config.preSharedKey); + expect(config.preSharedKey.length).assertEqual(8); + console.log("[wifi_test] set 7 preSharedKey invalid hotspot config" ); + var HotspotConfigI2= { + "ssid": "testWgr", + "band": 1, + "preSharedKey": "1234567", + "securityType": WifiSecurityType.WIFI_SEC_TYPE_PSK, + "maxConn": 8 + }; + var isSuccess1 = wifi.setHotspotConfig(HotspotConfigI2); + console.log("[wifi_test] set 7 preSharedKey invalid hotspot config result:" + isSuccess1); + expect(isSuccess1).assertFalse(); + console.log("[wifi_test] check current hotspot config preSharedKey is 8bit" ); + var config = wifi.getHotspotConfig(); + console.info("[wifi_test] getHotspotConfig result -> " + JSON.stringify(config)); + console.info("preSharedKey: " + config.preSharedKey); + expect(config.preSharedKey.length).assertEqual(8); + }) + + /** + * @tc.number CONFIG_0006 + * @tc.name SUB_Communication_WiFi_Hotspot_Config_0006 + * @tc.desc Test set a max ssid for hotspot config + * @tc.level Level 2 + */ + it('SUB_Communication_WiFi_Hotspot_Config_0006', 0, function () { + console.info("[wifi_test] check the state of hotspot, if it's open, close it."); + if (wifi.isHotspotActive()) { + var off = wifi.disableHotspot(); + sleep(5000); + console.info("[wifi_js] disableHotspot result -> " + off); + expect(on2).assertTrue(); + } + console.log("[wifi_test] set max ssid invalid hotspot config" ); + var HotspotConfigS= { + "ssid": "testWgr123testWgr123testWgr12356", + "band": 1, + "preSharedKey": "12345678", + "securityType": WifiSecurityType.WIFI_SEC_TYPE_PSK, + "maxConn": 8 + }; + var isSuccess1 = wifi.setHotspotConfig(HotspotConfigS); + console.log("[wifi_test] set 32bit ssid invalid hotspot config result: " + isSuccess1); + expect(isSuccess1).assertTrue(); + console.info("[wifi_test] check the state of hotspot, if it's inactivated, open it."); + if (!wifi.isHotspotActive()) { + var on2 = wifi.enableHotspot(); + sleep(5000); + console.info("[wifi_test] enableHotspot result -> " + on2); + expect(on2).assertTrue(); + } + console.log("[wifi_test] set 33bit ssid invalid hotspot config" ); + var HotspotConfigS1= { + "ssid": "testWgr123testWgr123testWgr123567", + "band": 1, + "preSharedKey": "12345678", + "securityType": WifiSecurityType.WIFI_SEC_TYPE_PSK, + "maxConn": 8 + }; + var isSuccess1 = wifi.setHotspotConfig(HotspotConfigS1); + console.log("[wifi_test] set 33bit ssid invalid hotspot config result: " + isSuccess1); + expect(isSuccess1).assertFalse(); + + console.log("[wifi_test] check the state of Hotspot" ); + var isHotspotActive = wifi.isHotspotActive(); + console.info("[wifi_test] isHotspotActive -> " + isHotspotActive); + expect(isHotspotActive).assertTrue(); + + }) + + /** + * @tc.number CONFIG_0007 + * @tc.name SUB_Communication_WiFi_Hotspot_Config_0007 + * @tc.desc Test set a null ssid invalid hotspot config + * @tc.level Level 2 + */ + it('SUB_Communication_WiFi_Hotspot_Config_0007', 0, function () { + console.info("[wifi_test] set a null ssid invalid hotspot config start."); + if (wifi.isHotspotActive()) { + var off = wifi.disableHotspot(); + console.info("[wifi_test] disableHotspot result -> " + off); + expect(off).assertTrue(); + } + var HotspotConfigN= { + "ssid": "", + "band": 1, + "preSharedKey": "12345678", + "securityType": WifiSecurityType.WIFI_SEC_TYPE_PSK, + "maxConn": 8 + }; + var isSuccess1 = wifi.setHotspotConfig(HotspotConfigN); + console.log("[wifi_test] set a null ssid invalid hotspot config result1:" + isSuccess1); + expect(isSuccess1).assertFalse(); + }) + + /** + * @tc.number CONFIG_0008 + * @tc.name SUB_Communication_WiFi_Hotspot_Config_0008 + * @tc.desc Test set a contains Chinese.special.digits valid hotspot config + * @tc.level Level 2 + */ + it('SUB_Communication_WiFi_Hotspot_Config_0008', 0, function () { + console.info("[wifi_test] set contains Chinese valid hotspot config start."); + var HotspotConfigC= { + "ssid": "¥%¥#@12测试 ", + "band": 1, + "preSharedKey": "12345678", + "securityType": WifiSecurityType.WIFI_SEC_TYPE_PSK, + "maxConn": 8 + }; + var isSuccess1 = wifi.setHotspotConfig(HotspotConfigC); + console.log("[wifi_test] set a valid hotspot config result1:" + isSuccess1); + expect(isSuccess1).assertTrue(); + + if (!wifi.isHotspotActive()) { + var on = wifi.enableHotspot(); + sleep(5000); + console.info("[wifi_test] enableHotspot result -> " + on); + expect(on).assertTrue(); + } + console.log("[wifi_test] check the state of Hotspot " ); + var isHotspotActive = wifi.isHotspotActive(); + console.info("[wifi_test] isHotspotActive -> " + isHotspotActive); + expect(isHotspotActive).assertTrue(); + }) + + /** + * @tc.number CONFIG_0009 + * @tc.name SUB_Communication_WiFi_Hotspot_Config_0009 + * @tc.desc Test set a invalid preSharedKey hotspot config + * @tc.level Level 2 + */ + it('SUB_Communication_WiFi_Hotspot_Config_0009', 0, function () { + console.info("[wifi_test] set invalid hotspot config start."); + if (wifi.isHotspotActive()) { + var off = wifi.disableHotspot(); + sleep(5000); + console.info("[wifi_test] enableHotspot result -> " + off); + expect(off).assertTrue(); + + } + var HotspotConfigWep= { + "ssid": "test123", + "band": 1, + "preSharedKey": "12345678", + "securityType":WifiSecurityType.WIFI_SEC_TYPE_WEP, + "maxConn": 8 + }; + var isSuccess1 = wifi.setHotspotConfig(HotspotConfigWep); + console.log("[wifi_test] set a invalid preSharedKey hotspot config result1: " + isSuccess1); + expect(isSuccess1).assertFalse(); + + var HotspotConfigSAE= { + "ssid": "test123", + "band": 1, + "preSharedKey": "12345678", + "securityType":WifiSecurityType.WIFI_SEC_TYPE_SAE, + "maxConn": 8 + }; + var isSuccess2 = wifi.setHotspotConfig(HotspotConfigSAE); + console.log("[wifi_test] set a invalid preSharedKey hotspot config result1: " + isSuccess2); + expect(isSuccess2).assertFalse(); + + var HotspotConfigC= { + "ssid": "test123", + "band": 1, + "preSharedKey": "12345678", + "securityType":12, + "maxConn": 8 + }; + var isSuccess3 = wifi.setHotspotConfig(HotspotConfigC); + console.log("[wifi_test] set a invalid preSharedKey hotspot config result1: " + isSuccess3); + expect(isSuccess3).assertFalse(); + + }) + + /** + * @tc.number CONFIG_0010 + * @tc.name SUB_Communication_WiFi_Hotspot_Config_0010 + * @tc.desc Test set a valid PSK preSharedKey hotspot config + * @tc.level Level 2 + */ + it('SUB_Communication_WiFi_Hotspot_Config_0010', 0, function () { + console.info("[wifi_test] set valid hotspot config start."); + if (wifi.isHotspotActive()) { + var off = wifi.disableHotspot(); + sleep(5000); + console.info("[wifi_test] enableHotspot result -> " + off); + expect(off).assertTrue(); + + } + + console.info("[wifi_test] set PSK securityType hotspot config start."); + var HotspotConfigPSK= { + "ssid": "test123", + "band": 1, + "preSharedKey": "12345678", + "securityType":WifiSecurityType.WIFI_SEC_TYPE_PSK, + "maxConn": 8 + } + var isSuccess1 = wifi.setHotspotConfig(HotspotConfigPSK); + console.log("[wifi_test] set a PSK preSharedKey hotspot config result1: " + isSuccess1); + expect(isSuccess1).assertTrue(); + + if (!wifi.isHotspotActive()) { + var on = wifi.enableHotspot(); + sleep(5000); + console.info("[wifi_test] enableHotspot result -> " + on); + expect(on).assertTrue(); + + } + console.log("[wifi_test] check the state of Hotspot" ); + var isHotspotActive = wifi.isHotspotActive(); + console.info("[wifi_test] isHotspotActive -> " + isHotspotActive); + expect(isHotspotActive).assertTrue(); + + }) + + /** + * @tc.number CONFIG_0011 + * @tc.name SUB_Communication_WiFi_Hotspot_Config_0011 + * @tc.desc Test set a valid OPEN preSharedKey hotspot config + * @tc.level Level 2 + */ + it('SUB_Communication_WiFi_Hotspot_Config_0011', 0, function () { + console.info("[wifi_test] wifi disableHotspot start."); + if (wifi.isHotspotActive()) { + var off = wifi.disableHotspot(); + sleep(5000); + console.info("[wifi_test] disableHotspot result -> " + off); + expect(off).assertTrue(); + } + console.info("[wifi_test] set open securityType hotspot config start."); + var HotspotConfigO= { + "ssid": "test123", + "band": 1, + "preSharedKey": "", + "securityType":WifiSecurityType.WIFI_SEC_TYPE_OPEN, + "maxConn": 8 + } + var isSuccess1 = wifi.setHotspotConfig(HotspotConfigO); + console.log("[wifi_test] set a open preSharedKey hotspot config result1: " + isSuccess1); + expect(isSuccess1).assertTrue(); + + if (!wifi.isHotspotActive()) { + var on = wifi.enableHotspot(); + sleep(5000); + console.info("[wifi_test] enableHotspot result -> " + on); + expect(on).assertTrue(); + } + console.log("[wifi_test] check the state of Hotspot" ); + var isHotspotActive = wifi.isHotspotActive(); + console.info("[wifi_test] isHotspotActive -> " + isHotspotActive); + expect(isHotspotActive).assertTrue(); + + }) + + /** + * @tc.number CONFIG_0012 + * @tc.name SUB_Communication_WiFi_Hotspot_Config_0012 + * @tc.desc Test set a valid hotspot config after open Hotspot + * @tc.level Level 2 + */ + it('SUB_Communication_WiFi_Hotspot_Config_0012', 0, function () { + console.info("[wifi_test] wifi enableHotspot start."); + if (!wifi.isHotspotActive()) { + var on = wifi.enableHotspot(); + sleep(5000); + console.info("[wifi_test] enableHotspot result -> " + on); + expect(on).assertTrue(); + } + console.log("[wifi_test] check the state of Hotspot" ); + var isHotspotActive = wifi.isHotspotActive(); + console.info("[wifi_test] isHotspotActive -> " + isHotspotActive); + expect(isHotspotActive).assertTrue(); + console.info("[wifi_test] open Hotspot, set valid hotspot config start."); + var HotspotConfigO= { + "ssid": "测试3@%&*", + "band": 1, + "preSharedKey": "12345678", + "securityType":WifiSecurityType.WIFI_SEC_TYPE_PSK, + "maxConn": 8 + } + var isSuccess1 = wifi.setHotspotConfig(HotspotConfigO); + console.log("[wifi_test] set a PSK preSharedKey hotspot config result1: " + isSuccess1); + expect(isSuccess1).assertTrue(); + console.info("[wifi_test] check the current config."); + var config = wifi.getHotspotConfig(); + console.info("[wifi_test] getHotspotConfig result -> " + JSON.stringify(config)); + console.info("ssid: " + config.ssid); + console.info("band: " + config.band); + console.info("preSharedKey: " + config.preSharedKey); + console.info("securityType: " + config.securityType); + console.info("maxConn: " + config.maxConn); + console.info("[wifi_test] check the current config is same with set before."); + expect(config.ssid).assertEqual('测试3@%&*'); + expect(config.band).assertEqual(1); + expect(config.preSharedKey).assertEqual('12345678'); + expect(config.securityType).assertEqual(3); + expect(config.maxConn).assertEqual(8); + console.info("[wifi_test] check the state of hotspot, if it's inactivated, open it."); + expect(wifi.isHotspotActive()).assertTrue(); + }) + + /** + * @tc.number CONN_0001 + * @tc.name SUB_Communication_WiFi_Hotspot_Conn_0001 + * @tc.desc Test set a maxConn and more maxConn hotspot config + * @tc.level Level 2 + */ + it('SUB_Communication_WiFi_Hotspot_Conn_0001', 0, function () { + console.info("[wifi_test] check the state of hotspot, if it's open, close it."); + if (wifi.isHotspotActive()) { + var off = wifi.disableHotspot(); + sleep(5000); + console.info("[wifi_test] disableHotspot result -> " + off); + expect(off).assertTrue(); + + } + console.log("[wifi_test] set min maxConn valid hotspot config " ); + var HotspotConfigI= { + "ssid": "testWgr", + "band": 1, + "preSharedKey": "12345678", + "securityType": WifiSecurityType.WIFI_SEC_TYPE_PSK, + "maxConn": 8 + }; + var isSuccess1 = wifi.setHotspotConfig(HotspotConfigI); + console.log("[wifi_test] set maxConn valid hotspot config result: " + isSuccess1); + expect(isSuccess1).assertTrue(); + console.log("[wifi_test] check current hotspot config maxConn is 8 " ); + var config = wifi.getHotspotConfig(); + console.info("[wifi_test] getHotspotConfig result -> " + JSON.stringify(config)); + console.info("ssid: " + config.maxConn); + expect(config.maxConn).assertEqual(8); + + console.log("[wifi_test] set more maxConn invalid hotspot config" ); + var HotspotConfigI2= { + "ssid": "testWgr", + "band": 1, + "preSharedKey": "1234567", + "securityType": WifiSecurityType.WIFI_SEC_TYPE_PSK, + "maxConn": 9 + }; + var isSuccess1 = wifi.setHotspotConfig(HotspotConfigI2); + console.log("[wifi_test] set more maxConn invalid hotspot config result: " + isSuccess1); + expect(isSuccess1).assertFalse(); + console.log("[wifi_test] check current hotspot config maxConn" ); + var config = wifi.getHotspotConfig(); + console.info("[wifi_test] getHotspotConfig result -> " + JSON.stringify(config)); + console.info("ssid: " + config.maxConn); + expect(config.maxConn).assertEqual(8); + }) + + /** + * @tc.number CONN_0002 + * @tc.name SUB_Communication_WiFi_Hotspot_Conn_0002 + * @tc.desc Test Obtains the list of clients that are connected to a Wi-Fi hotspot. + * @tc.level Level 2 + */ + it('SUB_Communication_WiFi_Hotspot_Conn_0002', 0, function () { + console.info("[wifi_test] check the state of hotspot, if it's open, close it."); + if (!wifi.isHotspotActive()) { + var on = wifi.enableHotspot(); + sleep(5000); + console.info("[wifi_test] enableHotspot result -> " + on); + expect(on).assertTrue(); + + } + console.log("[wifi_test] check the state of Hotspot" ); + var isHotspotActive = wifi.isHotspotActive(); + console.info("[wifi_test] isHotspotActive -> " + isHotspotActive); + expect(isHotspotActive).assertTrue(); + console.log("[wifi_test] Obtains the list of clients that are connected to Wi-Fi hotspot" ); + var stationInfo = wifi.getStations(); + console.info("[wifi_test] getStations result -> " + JSON.stringify(stationInfo)); + console.info("ssid: " + stationInfo.name); + console.info("macAddress: " + stationInfo.macAddress); + console.info("ipAddress: " + stationInfo.ipAddress); + expect(config).assertEqual(8); + + }) + console.log("*************[wifi_test] start wifi js unit test end*************"); +}) diff --git a/communication/wifi_standard/src/main/js/default/test/WifiSta.test.js b/communication/wifi_standard/src/main/js/default/test/WifiSta.test.js index 2d757b3704a670404660be1c4f990bf3c2b8f279..04ede06178b882bc8c87e89b0665492ab7fe8b60 100755 --- a/communication/wifi_standard/src/main/js/default/test/WifiSta.test.js +++ b/communication/wifi_standard/src/main/js/default/test/WifiSta.test.js @@ -20,8 +20,10 @@ import wifi from '@ohos.wifi' // delay x ms function sleep(delay) { var start = (new Date()).getTime(); - while ((new Date()).getTime() - start < delay) { - console.log("sleep ms:"+ delay); + while(true){ + if((new Date()).getTime() - start > delay) { + break; + } } } @@ -376,6 +378,39 @@ describe('ACTS_WifiTest', function() { console.info("[wifi_test] getCountryCode -> " + JSON.stringify(countryCode)); expect(JSON.stringify(countryCode)).assertEqual('"CN"'); }) - + + /** + * @tc.number Conn_Info_0005 + * @tc.name SUB_Communication_WiFi_Sta_Conn_Info_0001 + * @tc.desc Test get empty linked information + */ + it('SUB_Communication_WiFi_Sta_Conn_Info_0001', 0, async function () { + console.info("[wifi_test] get empty linked information and getIpInfo."); + var discon2 = wifi.disconnect(); + console.log("[wifi_test] wifi disconnect result: " + discon2); + expect(discon2).assertTrue(); + sleep(2000); + var isConnected= wifi.isConnected(); + console.log("[wifi_test] wifi isConnected result: " + isConnected); + expect(isConnected).assertFalse(); + wifi.getLinkedInfo((err, data) => { + if (err) { + return console.error('failed to get link infos callback because ' + JSON.stringify(err)); + }else { + console.info("[wifi_test] get wifi link [callback] -> " + JSON.stringify(data)); + } + }); + console.info("[wifi_test] get IpInfo."); + var ipInfo = wifi.getIpInfo(); + console.info("[wifi_test] getIpInfo -> " + JSON.stringify(ipInfo)); + expect(JSON.stringify(ipInfo)).assertContain("gateway"); + console.info("gateway: " + ipInfo.gateway); + console.info("ipAddress: " + ipInfo.ipAddress); + console.info("leaseDuration: " + ipInfo.leaseDuration); + console.info("netmask: " + ipInfo.netmask); + console.info("primaryDns: " + ipInfo.primaryDns); + console.info("secondDns: " + ipInfo.secondDns); + console.info("serverIp: " + ipInfo.serverIp); + }) console.log("*************[wifi_test] start wifi js unit test end*************"); })