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*************");
})