From da96d5a5ac22da8a18bb8bc4eec31cb1fdc2e77f Mon Sep 17 00:00:00 2001 From: cff Date: Thu, 16 Mar 2023 07:20:27 +0000 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E8=AE=A1=E6=AD=A5=E5=99=A8?= =?UTF-8?q?=E6=A3=80=E6=B5=8B=E4=BC=A0=E6=84=9F=E5=99=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: cff --- interfaces/plugin/test/unittest/BUILD.gn | 1 + .../unittest/pedometer_detection/BUILD.gn | 21 + .../pedometer_detection/ExampleJsunit.test.js | 782 ++++++++++++++++++ .../unittest/pedometer_detection/config.json | 82 ++ .../signature/openharmony_sx.p7b | Bin 0 -> 3436 bytes 5 files changed, 886 insertions(+) mode change 100644 => 100755 interfaces/plugin/test/unittest/BUILD.gn create mode 100755 interfaces/plugin/test/unittest/pedometer_detection/BUILD.gn create mode 100755 interfaces/plugin/test/unittest/pedometer_detection/ExampleJsunit.test.js create mode 100755 interfaces/plugin/test/unittest/pedometer_detection/config.json create mode 100755 interfaces/plugin/test/unittest/pedometer_detection/signature/openharmony_sx.p7b diff --git a/interfaces/plugin/test/unittest/BUILD.gn b/interfaces/plugin/test/unittest/BUILD.gn old mode 100644 new mode 100755 index 5f2980c2..1287c170 --- a/interfaces/plugin/test/unittest/BUILD.gn +++ b/interfaces/plugin/test/unittest/BUILD.gn @@ -16,6 +16,7 @@ group("unittest") { deps = [ "barometer:BarometerJsTest", "gyroscope:GyroscopeJsTest", + "pedometer_detection:Pedometer_DetectionJsTest", "sensor:SensorJsTest", ] } diff --git a/interfaces/plugin/test/unittest/pedometer_detection/BUILD.gn b/interfaces/plugin/test/unittest/pedometer_detection/BUILD.gn new file mode 100755 index 00000000..52e177fc --- /dev/null +++ b/interfaces/plugin/test/unittest/pedometer_detection/BUILD.gn @@ -0,0 +1,21 @@ +# Copyright (C) 2023 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("//build/test.gni") + +module_output_path = "sensor/interfaces" +ohos_js_unittest("Pedometer_DetectionJsTest") { + module_out_path = module_output_path + hap_profile = "./config.json" + certificate_profile = "./signature/openharmony_sx.p7b" +} diff --git a/interfaces/plugin/test/unittest/pedometer_detection/ExampleJsunit.test.js b/interfaces/plugin/test/unittest/pedometer_detection/ExampleJsunit.test.js new file mode 100755 index 00000000..ba8a3ce0 --- /dev/null +++ b/interfaces/plugin/test/unittest/pedometer_detection/ExampleJsunit.test.js @@ -0,0 +1,782 @@ +/* + * Copyright (C) 2023 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 abilityAccessCtrl from '@ohos.abilityAccessCtrl' +import bundle from '@ohos.bundle' +import osaccount from '@ohos.account.osAccount' +import sensor from '@ohos.sensor' + +import {describe, beforeAll, beforeEach, afterEach, afterAll, it, expect} from 'deccjsunit/index' + +var permissionsFlag = { + PERMISSION_USER_SET:1, + PERMISSION_USER_FIXED:2, + PERMISSION_SYSTEM_FIXED:4 +} + +const ERR_NOT_HAVE_PERMISSION = 201 +const PARAMETER_ERROR_CODE = 401 +const SERVICE_EXCEPTION_CODE = 14500101 +const PARAMETER_ERROR_MSG = 'The parameter invalid.' +const SERVICE_EXCEPTION_MSG = 'Service exception.' +var tokenID = undefined +var permissionsNameUser = 'ohos.permission.ACTIVITY_MOTION' + +describe("Pedometer_DetectionJsTest", function () { + function callback(data) { + console.info('callback' + JSON.stringify(data)); + expect(typeof(data.scalar)).assertEqual('number'); + } + + function callback2(data) { + console.info('callback2' + JSON.stringify(data)); + expect(typeof(data.scalar)).assertEqual('number'); + } + + beforeAll(async function() { + /* + * @tc.setup: setup invoked before all testcases + */ + console.info('beforeAll caled') + try { + var accountManager = osaccount.getAccountManager(); + var userId = await accountManager.getOsAccountLocalIdFromProcess(); + var appInfo = await bundle.getApplicationInfo('com.example.myapplication', 0, userId); + tokenID = appInfo.accessTokenId; + console.log('AccessTokenId accessTokenId:' + appInfo.accessTokenId + ', name' + appInfo.name + + ' ,bundleName' + appInfo.bundleName) + } catch(err) { + console.error('exception in, msg:' + JSON.stringify(err)) + } + }) + + afterAll(function() { + /* + * @tc.teardown: teardown invoked after all testcases + */ + console.info('afterAll caled') + }) + + beforeEach(function() { + /* + * @tc.setup: setup invoked before each testcases + */ + console.info('beforeEach caled') + }) + + afterEach(function() { + /* + * @tc.teardown: teardown invoked after each testcases + */ + console.info('afterEach caled') + var atManager = abilityAccessCtrl.createAtManager(); + atManager.revokeUserGrantedPermission(tokenID, permissionsNameUser, + permissionsFlag.PERMISSION_SYSTEM_FIXED) + .catch((err) => { + console.info('err:' + JSON.stringify(err)); + expect(err.code).assertEqual(ERR_NOT_HAVE_PERMISSION); + }) + }) + + /* + * @tc.name:BarometerJsTest_001 + * @tc.desc:verify app info is not null + * @tc.type: FUNC + * @tc.require: Issue Number + */ + it("Pedometer_DetectionJsTest_001", 0, async function (done) { + console.info('----------------------Pedometer_DetectionJsTest_001---------------------------'); + var atManager = abilityAccessCtrl.createAtManager(); + await atManager.grantUserGrantedPermission(tokenID, permissionsNameUser, permissionsFlag.PERMISSION_SYSTEM_FIXED) + .then(() => { + try { + sensor.getSingleSensor(sensor.SensorId.PEDOMETER_DETECTION, (err, data) => { + if(err) { + console.info('getSingleSensor fail, errCode:' + err.code + ' ,msg:' + err.message); + expect(false).assertTrue(); + done(); + } + expect(typeof(data)).assertEqual("object"); + if(data) { + try { + sensor.on(sensor.SensorId.PEDOMETER_DETECTION, callback); + setTimeout(()=>{ + sensor.off(sensor.SensorId.PEDOMETER_DETECTION); + done(); + }, 500); + } catch (err) { + console.info('On fail, errCode:' + err.code + ' ,msg:' + err.message); + expect(false).assertTrue(); + done(); + } + } else { + console.info('Program run failed'); + expect(false).assertTrue(); + done(); + } + }); + } catch (err) { + console.info('getSingleSensor fail, errCode:' + err.code + ' ,msg:' + err.message); + expect(err.code).assertEqual(PARAMETER_ERROR_CODE); + expect(err.message).assertEqual(PARAMETER_ERROR_MSG); + done(); + } + }) + .catch ((err) => { + console.error('err:' + JSON.stringify(err)); + expect(err.code).assertEqual(ERR_NOT_HAVE_PERMISSION); + done(); + }) + }) + + /* + * @tc.name:BarometerJsTest_002 + * @tc.desc:verify app info is not null + * @tc.type: FUNC + * @tc.require: Issue Number + */ + it("Pedometer_DetectionJsTest_002", 0, async function (done) { + console.info('----------------------Pedometer_DetectionJsTest_002---------------------------'); + var atManager = abilityAccessCtrl.createAtManager(); + await atManager.grantUserGrantedPermission(tokenID, permissionsNameUser, permissionsFlag.PERMISSION_SYSTEM_FIXED) + .then(() => { + try { + sensor.getSingleSensor(sensor.SensorId.PEDOMETER_DETECTION, (err, data) => { + if(err) { + console.info('getSingleSensor fail, errCode:' + err.code + ' ,msg:' + err.message); + expect(false).assertTrue(); + done(); + } + expect(typeof(data)).assertEqual("object"); + if(data) { + try { + sensor.on(sensor.SensorId.PEDOMETER_DETECTION, callback, {'interval':100000000}); + setTimeout(()=>{ + console.info('----------------Pedometer_DetectionJsTest_002 off in-------------------'); + sensor.off(sensor.SensorId.PEDOMETER_DETECTION); + console.info('----------------Pedometer_DetectionJsTest_002 off end------------------'); + done(); + }, 500); + } catch (err) { + console.info('On fail, errCode:' + err.code + ' ,msg:' + err.message); + expect(false).assertTrue(); + done(); + } + } else { + console.info('Non-mobile devices cannot be excluded'); + expect(true).assertTrue(); + done(); + } + }); + } catch (err) { + console.info('getSingleSensor fail, errCode:' + err.code + ' ,msg:' + err.message); + expect(err.code).assertEqual(PARAMETER_ERROR_CODE); + expect(err.message).assertEqual(PARAMETER_ERROR_MSG); + done(); + } + }) + .catch ((err) => { + console.error('err:' + JSON.stringify(err)); + expect(err.code).assertEqual(ERR_NOT_HAVE_PERMISSION); + done(); + }) + }) + + /* + * @tc.name:BarometerJsTest_003 + * @tc.desc:verify app info is not null + * @tc.type: FUNC + * @tc.require: Issue Number + */ + it("Pedometer_DetectionJsTest_003", 0, async function (done) { + console.info('----------------------Pedometer_DetectionJsTest_003---------------------------'); + var atManager = abilityAccessCtrl.createAtManager(); + await atManager.grantUserGrantedPermission(tokenID, permissionsNameUser, permissionsFlag.PERMISSION_SYSTEM_FIXED) + .then(() => { + try { + sensor.getSingleSensor(sensor.SensorId.PEDOMETER_DETECTION, (err, data) => { + if(err) { + console.info('getSingleSensor fail, errCode:' + err.code + ' ,msg:' + err.message); + expect(false).assertTrue(); + done(); + } + expect(typeof(data)).assertEqual("object"); + function onSensorCallback(data) { + console.info('BarometerJsTest_003 callback in'); + expect(true).assertTrue(); + done(); + } + if(data) { + try { + sensor.on(sensor.SensorId.PEDOMETER_DETECTION, onSensorCallback, {'interval': 100000000}, 5); + setTimeout(()=>{ + console.info('----------------------Pedometer_DetectionJsTest_003 off in---------------------------'); + sensor.off(sensor.SensorId.PEDOMETER_DETECTION); + console.info('----------------------Pedometer_DetectionJsTest_003 off end---------------------------'); + done(); + }, 500); + } catch (err) { + console.info('On fail, errCode:' + err.code + ' ,msg:' + err.message); + expect(false).assertTrue(); + done(); + } + } else { + console.info('Non-mobile devices cannot be excluded'); + expect(true).assertTrue(); + done(); + } + }); + } catch (err) { + console.info('getSingleSensor fail, errCode:' + err.code + ' ,msg:' + err.message); + expect(err.code).assertEqual(PARAMETER_ERROR_CODE); + expect(err.message).assertEqual(PARAMETER_ERROR_MSG); + done(); + } + }) + .catch ((err) => { + console.error('err:' + JSON.stringify(err)); + expect(err.code).assertEqual(ERR_NOT_HAVE_PERMISSION); + done(); + }) + }) + + /* + * @tc.name:BarometerJsTest_004 + * @tc.desc:verify app info is not null + * @tc.type: FUNC + * @tc.require: Issue Number + */ + it("Pedometer_DetectionJsTest_004", 0, async function (done) { + console.info('----------------------Pedometer_DetectionJsTest_004---------------------------'); + var atManager = abilityAccessCtrl.createAtManager(); + await atManager.grantUserGrantedPermission(tokenID, permissionsNameUser, permissionsFlag.PERMISSION_SYSTEM_FIXED) + .then(() => { + try { + sensor.getSingleSensor(sensor.SensorId.PEDOMETER_DETECTION, (err, data) => { + if(err) { + console.info('getSingleSensor fail, errCode:' + err.code + ' ,msg:' + err.message); + expect(false).assertTrue(); + done(); + } + expect(typeof(data)).assertEqual("object"); + if(data) { + try { + sensor.on(sensor.SensorId.PEDOMETER_DETECTION, callback, {'interval': -100000000}); + console.info('--------------------Pedometer_DetectionJsTest_004 off in----------------------'); + sensor.off(sensor.SensorId.PEDOMETER_DETECTION); + console.info('--------------------Pedometer_DetectionJsTest_004 off end---------------------'); + done(); + } catch (err) { + console.info('On fail, errCode:' + err.code + ' ,msg:' + err.message); + expect(error.code).assertEqual(SERVICE_EXCEPTION_CODE); + expect(error.message).assertEqual(SERVICE_EXCEPTION_MSG); + done(); + } + } else { + console.info('Non-mobile devices cannot be excluded'); + expect(true).assertTrue(); + done(); + } + }); + } catch (err) { + console.info('getSingleSensor fail, errCode:' + err.code + ' ,msg:' + err.message); + expect(err.code).assertEqual(PARAMETER_ERROR_CODE); + expect(err.message).assertEqual(PARAMETER_ERROR_MSG); + done(); + } + }) + .catch ((err) => { + console.error('err:' + JSON.stringify(err)); + expect(err.code).assertEqual(ERR_NOT_HAVE_PERMISSION); + done(); + }) + }) + + /* + * @tc.name:BarometerJsTest_005 + * @tc.desc:verify app info is not null + * @tc.type: FUNC + * @tc.require: Issue Number + */ + it("Pedometer_DetectionJsTest_005", 0, async function (done) { + console.info('----------------------Pedometer_DetectionJsTest_005---------------------------'); + var atManager = abilityAccessCtrl.createAtManager(); + await atManager.grantUserGrantedPermission(tokenID, permissionsNameUser, permissionsFlag.PERMISSION_SYSTEM_FIXED) + .then(() => { + try { + sensor.getSingleSensor(sensor.SensorId.PEDOMETER_DETECTION, (err, data) => { + if(err) { + console.info('getSingleSensor fail, errCode:' + err.code + ' ,msg:' + err.message); + expect(false).assertTrue(); + done(); + } + expect(typeof(data)).assertEqual("object"); + if(data) { + try { + sensor.once(sensor.SensorId.PEDOMETER_DETECTION, callback); + setTimeout(()=>{ + expect(true).assertTrue(); + done(); + }, 500); + } catch (err) { + console.error('Once fail, errCode:' + err.code + ' ,msg:' + err.message); + expect(false).assertTrue(); + done(); + } + } else { + console.info('Non-mobile devices cannot be excluded'); + expect(true).assertTrue(); + done(); + } + }); + } catch (err) { + console.info('getSingleSensor fail, errCode:' + err.code + ' ,msg:' + err.message); + expect(err.code).assertEqual(PARAMETER_ERROR_CODE); + expect(err.message).assertEqual(PARAMETER_ERROR_MSG); + done(); + } + }) + .catch ((err) => { + console.error('err:' + JSON.stringify(err)); + expect(err.code).assertEqual(ERR_NOT_HAVE_PERMISSION); + done(); + }) + }) + + /* + * @tc.name:BarometerJsTest_006 + * @tc.desc:verify app info is not null + * @tc.type: FUNC + * @tc.require: Issue Number + */ + it("Pedometer_DetectionJsTest_006", 0, async function (done) { + console.info('----------------------Pedometer_DetectionJsTest_006---------------------------'); + var atManager = abilityAccessCtrl.createAtManager(); + await atManager.grantUserGrantedPermission(tokenID, permissionsNameUser, permissionsFlag.PERMISSION_SYSTEM_FIXED) + .then(() => { + try { + sensor.getSingleSensor(sensor.SensorId.PEDOMETER_DETECTION, (err, data) => { + if(err) { + console.info('getSingleSensor fail, errCode:' + err.code + ' ,msg:' + err.message); + expect(false).assertTrue(); + done(); + } + expect(typeof(data)).assertEqual("object"); + if(data) { + try{ + sensor.once(sensor.SensorId.PEDOMETER_DETECTION, callback, 5); + setTimeout(()=>{ + expect(true).assertTrue(); + done(); + }, 500); + } catch (err) { + console.error('Once fail, errCode:' + err.code + ' ,msg:' + err.message); + expect(false).assertTrue(); + done(); + } + } else { + console.info('Non-mobile devices cannot be excluded'); + expect(true).assertTrue(); + done(); + } + }); + } catch (err) { + console.info('getSingleSensor fail, errCode:' + err.code + ' ,msg:' + err.message); + expect(err.code).assertEqual(PARAMETER_ERROR_CODE); + expect(err.message).assertEqual(PARAMETER_ERROR_MSG); + done(); + } + }) + .catch ((err) => { + console.error('err:' + JSON.stringify(err)); + expect(err.code).assertEqual(ERR_NOT_HAVE_PERMISSION); + done(); + }) + }) + + /* + * @tc.name:BarometerJsTest_007 + * @tc.desc:verify app info is not null + * @tc.type: FUNC + * @tc.require: Issue Number + */ + it("Pedometer_DetectionJsTest_007", 0, async function (done) { + console.info('----------------------Pedometer_DetectionJsTest_007---------------------------'); + var atManager = abilityAccessCtrl.createAtManager(); + await atManager.grantUserGrantedPermission(tokenID, permissionsNameUser, permissionsFlag.PERMISSION_SYSTEM_FIXED) + .then(() => { + try { + sensor.getSingleSensor(sensor.SensorId.PEDOMETER_DETECTION, (err, data) => { + if(err) { + console.info('getSingleSensor fail, errCode:' + err.code + ' ,msg:' + err.message); + expect(false).assertTrue(); + done(); + } + expect(typeof(data)).assertEqual("object"); + if(data) { + try{ + sensor.once(sensor.SensorId.PEDOMETER_DETECTION, 5); + } catch (error) { + console.error('On fail, errCode:' + err.code + ' ,msg:' + err.message); + expect(error.code).assertEqual(PARAMETER_ERROR_CODE); + expect(error.message).assertEqual(PARAMETER_ERROR_MSG); + done(); + } + } else { + console.info('Non-mobile devices cannot be excluded'); + expect(true).assertTrue(); + done(); + } + }); + } catch (err) { + console.info('getSingleSensor fail, errCode:' + err.code + ' ,msg:' + err.message); + expect(err.code).assertEqual(PARAMETER_ERROR_CODE); + expect(err.message).assertEqual(PARAMETER_ERROR_MSG); + done(); + } + }) + .catch ((err) => { + console.error('err:' + JSON.stringify(err)); + expect(err.code).assertEqual(ERR_NOT_HAVE_PERMISSION); + done(); + }) + }) + + /* + * @tc.name:BarometerJsTest_008 + * @tc.desc:verify app info is not null + * @tc.type: FUNC + * @tc.require: Issue Number + */ + it("Pedometer_DetectionJsTest_008", 0, async function (done) { + console.info('----------------------Pedometer_DetectionJsTest_008---------------------------'); + var atManager = abilityAccessCtrl.createAtManager(); + await atManager.grantUserGrantedPermission(tokenID, permissionsNameUser, permissionsFlag.PERMISSION_SYSTEM_FIXED) + .then(() => { + try { + sensor.getSingleSensor(sensor.SensorId.PEDOMETER_DETECTION, (err, data) => { + if(err) { + console.info('getSingleSensor fail, errCode:' + err.code + ' ,msg:' + err.message); + expect(false).assertTrue(); + done(); + } + expect(typeof(data)).assertEqual("object"); + if(data) { + try { + sensor.off(-1, callback); + } catch (err) { + expect(err.code).assertEqual(PARAMETER_ERROR_CODE) + expect(err.message).assertEqual(PARAMETER_ERROR_MSG) + done(); + } + } else { + console.info('Non-mobile devices cannot be excluded'); + expect(true).assertTrue(); + done(); + } + }); + } catch (err) { + console.info('getSingleSensor fail, errCode:' + err.code + ' ,msg:' + err.message); + expect(err.code).assertEqual(PARAMETER_ERROR_CODE); + expect(err.message).assertEqual(PARAMETER_ERROR_MSG); + done(); + } + }) + .catch ((err) => { + console.error('err:' + JSON.stringify(err)); + expect(err.code).assertEqual(ERR_NOT_HAVE_PERMISSION); + done(); + }) + }) + + /* + * @tc.name:BarometerJsTest_009 + * @tc.desc:verify app info is not null + * @tc.type: FUNC + * @tc.require: Issue Number + */ + it("Pedometer_DetectionJsTest_009", 0, async function (done) { + console.info('----------------------Pedometer_DetectionJsTest_009---------------------------'); + var atManager = abilityAccessCtrl.createAtManager(); + await atManager.grantUserGrantedPermission(tokenID, permissionsNameUser, permissionsFlag.PERMISSION_SYSTEM_FIXED) + .then(() => { + try { + sensor.getSingleSensor(sensor.SensorId.PEDOMETER_DETECTION, (err, data) => { + if(err) { + console.info('getSingleSensor fail, errCode:' + err.code + ' ,msg:' + err.message); + expect(false).assertTrue(); + done(); + } + expect(typeof(data)).assertEqual("object"); + if(data) { + try { + sensor.on(sensor.SensorId.PEDOMETER_DETECTION, callback); + sensor.on(sensor.SensorId.PEDOMETER_DETECTION, callback2); + setTimeout(()=>{ + console.info('------------------Pedometer_DetectionJsTest_009 off in--------------------'); + sensor.off(sensor.SensorId.PEDOMETER_DETECTION); + console.info('------------------Pedometer_DetectionJsTest_009 off end-------------------'); + done(); + }, 1000); + } catch (err) { + console.error('On fail, errCode:' + err.code + ' ,msg:' + err.message); + expect(false).assertTrue(); + done(); + } + } else { + console.info('Non-mobile devices cannot be excluded'); + expect(true).assertTrue(); + done(); + } + }); + } catch (err) { + console.info('getSingleSensor fail, errCode:' + err.code + ' ,msg:' + err.message); + expect(err.code).assertEqual(PARAMETER_ERROR_CODE); + expect(err.message).assertEqual(PARAMETER_ERROR_MSG); + done(); + } + }) + .catch ((err) => { + console.error('err:' + JSON.stringify(err)); + expect(err.code).assertEqual(ERR_NOT_HAVE_PERMISSION); + done(); + }) + }) + + /* + * @tc.name:BarometerJsTest_010 + * @tc.desc:verify app info is not null + * @tc.type: FUNC + * @tc.require: Issue Number + */ + it("Pedometer_DetectionJsTest_010", 0, async function (done) { + console.info('----------------------Pedometer_DetectionJsTest_010---------------------------'); + var atManager = abilityAccessCtrl.createAtManager(); + await atManager.grantUserGrantedPermission(tokenID, permissionsNameUser, permissionsFlag.PERMISSION_SYSTEM_FIXED) + .then(() => { + try { + sensor.getSingleSensor(sensor.SensorId.PEDOMETER_DETECTION, (err, data) => { + if(err) { + console.info('getSingleSensor fail, errCode:' + err.code + ' ,msg:' + err.message); + expect(false).assertTrue(); + done(); + } + expect(typeof(data)).assertEqual("object"); + if(data) { + try { + sensor.on(sensor.SensorId.PEDOMETER_DETECTION, callback); + sensor.on(sensor.SensorId.PEDOMETER_DETECTION, callback2); + setTimeout(()=>{ + console.info('----------------Pedometer_DetectionJsTest_010 off in------------------'); + sensor.off(sensor.SensorId.PEDOMETER_DETECTION, callback); + console.info('----------------Pedometer_DetectionJsTest_010 off end-----------------'); + }, 500); + setTimeout(()=>{ + console.info('----------------Pedometer_DetectionJsTest_010 off in------------------'); + sensor.off(sensor.SensorId.PEDOMETER_DETECTION, callback2); + console.info('----------------Pedometer_DetectionJsTest_010 off end-----------------'); + done(); + }, 1000); + } catch (err) { + console.error('On fail, errCode:' + err.code + ' ,msg:' + err.message); + expect(false).assertTrue(); + done(); + } + } else { + console.info('Non-mobile devices cannot be excluded'); + expect(true).assertTrue(); + done(); + } + }); + } catch (err) { + console.info('getSingleSensor fail, errCode:' + err.code + ' ,msg:' + err.message); + expect(err.code).assertEqual(PARAMETER_ERROR_CODE); + expect(err.message).assertEqual(PARAMETER_ERROR_MSG); + done(); + } + }) + .catch ((err) => { + console.error('err:' + JSON.stringify(err)); + expect(err.code).assertEqual(ERR_NOT_HAVE_PERMISSION); + done(); + }) + }) + + /* + * @tc.name:BarometerJsTest_011 + * @tc.desc:verify app info is not null + * @tc.type: FUNC + * @tc.require: Issue Number + */ + it("Pedometer_DetectionJsTest_011", 0, async function (done) { + console.info('----------------------Pedometer_DetectionJsTest_011---------------------------'); + var atManager = abilityAccessCtrl.createAtManager(); + await atManager.grantUserGrantedPermission(tokenID, permissionsNameUser, permissionsFlag.PERMISSION_SYSTEM_FIXED) + .then(() => { + try { + sensor.getSingleSensor(sensor.SensorId.PEDOMETER_DETECTION, (err, data) => { + if(err) { + console.info('getSingleSensor fail, errCode:' + err.code + ' ,msg:' + err.message); + expect(false).assertTrue(); + done(); + } + expect(typeof(data)).assertEqual("object"); + if(data) { + try { + sensor.on(sensor.SensorId.PEDOMETER_DETECTION, callback, {'interval': 100000000}); + sensor.once(sensor.SensorId.PEDOMETER_DETECTION, callback2); + setTimeout(()=>{ + console.info('----------------Pedometer_DetectionJsTest_011 off in------------------'); + sensor.off(sensor.SensorId.PEDOMETER_DETECTION); + console.info('----------------Pedometer_DetectionJsTest_011 off end-----------------'); + done(); + }, 1000); + } catch (err) { + console.error('On fail, errCode:' + err.code + ' ,msg:' + err.message); + expect(false).assertTrue(); + done(); + } + } else { + console.info('Non-mobile devices cannot be excluded'); + expect(true).assertTrue(); + done(); + } + }); + } catch (err) { + console.info('getSingleSensor fail, errCode:' + err.code + ' ,msg:' + err.message); + expect(err.code).assertEqual(PARAMETER_ERROR_CODE); + expect(err.message).assertEqual(PARAMETER_ERROR_MSG); + done(); + } + }) + .catch ((err) => { + console.error('err:' + JSON.stringify(err)); + expect(err.code).assertEqual(ERR_NOT_HAVE_PERMISSION); + done(); + }) + }) + + /* + * @tc.name:BarometerJsTest_012 + * @tc.desc:verify app info is not null + * @tc.type: FUNC + * @tc.require: Issue Number + */ + it("Pedometer_DetectionJsTest_012", 0, async function (done) { + console.info('----------------------Pedometer_DetectionJsTest_012---------------------------'); + var atManager = abilityAccessCtrl.createAtManager(); + await atManager.grantUserGrantedPermission(tokenID, permissionsNameUser, permissionsFlag.PERMISSION_SYSTEM_FIXED) + .then(() => { + try { + sensor.getSingleSensor(sensor.SensorId.PEDOMETER_DETECTION, (err, data) => { + if(err) { + console.info('getSingleSensor fail, errCode:' + err.code + ' ,msg:' + err.message); + expect(false).assertTrue(); + done(); + } + expect(typeof(data)).assertEqual("object"); + if(data) { + try { + sensor.on(sensor.SensorId.PEDOMETER_DETECTION, callback, {'interval': 100000000}); + sensor.on(sensor.SensorId.PEDOMETER_DETECTION, callback2, {'interval': 100000000}); + setTimeout(()=>{ + console.info('-------------Pedometer_DetectionJsTest_012 off in-----------------'); + sensor.off(sensor.SensorId.PEDOMETER_DETECTION, callback); + console.info('-------------Pedometer_DetectionJsTest_012 off end----------------'); + }, 500); + setTimeout(()=>{ + console.info('-------------Pedometer_DetectionJsTest_012 off in-----------------'); + sensor.off(sensor.SensorId.PEDOMETER_DETECTION, callback2); + console.info('-------------Pedometer_DetectionJsTest_012 off end----------------'); + done(); + }, 1000); + } catch (err) { + console.error('On fail, errCode:' + err.code + ' ,msg:' + err.message); + expect(false).assertTrue(); + done(); + } + } else { + console.info('Non-mobile devices cannot be excluded'); + expect(true).assertTrue(); + done(); + } + }); + } catch (err) { + console.info('getSingleSensor fail, errCode:' + err.code + ' ,msg:' + err.message); + expect(err.code).assertEqual(PARAMETER_ERROR_CODE); + expect(err.message).assertEqual(PARAMETER_ERROR_MSG); + done(); + } + }) + .catch ((err) => { + console.error('err:' + JSON.stringify(err)); + expect(err.code).assertEqual(ERR_NOT_HAVE_PERMISSION); + done(); + }) + }) + + /* + * @tc.name:BarometerJsTest_013 + * @tc.desc:verify app info is not null + * @tc.type: FUNC + * @tc.require: Issue Number + */ + it("Pedometer_DetectionJsTest_013", 0, async function (done) { + console.info('----------------------Pedometer_DetectionJsTest_013---------------------------'); + var atManager = abilityAccessCtrl.createAtManager(); + await atManager.grantUserGrantedPermission(tokenID, permissionsNameUser, permissionsFlag.PERMISSION_SYSTEM_FIXED) + .then(() => { + try { + sensor.getSingleSensor(sensor.SensorId.PEDOMETER_DETECTION, (err, data) => { + if(err) { + console.info('getSingleSensor fail, errCode:' + err.code + ' ,msg:' + err.message); + expect(false).assertTrue(); + done(); + } + expect(typeof(data)).assertEqual("object"); + if(data) { + try { + sensor.on(sensor.SensorId.PEDOMETER_DETECTION, callback, {'interval': 100000000}); + sensor.on(sensor.SensorId.PEDOMETER_DETECTION, callback2, {'interval': 100000000}); + setTimeout(()=>{ + console.info('--------------Pedometer_DetectionJsTest_013 off in-----------------'); + sensor.off(sensor.SensorId.PEDOMETER_DETECTION); + console.info('--------------Pedometer_DetectionJsTest_013 off end----------------'); + done(); + }, 1000); + } catch (err) { + console.error('On fail, errCode:' + err.code + ' ,msg:' + err.message); + expect(false).assertTrue(); + done(); + } + } else { + console.info('Non-mobile devices cannot be excluded'); + expect(true).assertTrue(); + done(); + } + }); + } catch (err) { + console.info('getSingleSensor fail, errCode:' + err.code + ' ,msg:' + err.message); + expect(err.code).assertEqual(PARAMETER_ERROR_CODE); + expect(err.message).assertEqual(PARAMETER_ERROR_MSG); + done(); + } + }) + .catch ((err) => { + console.error('err:' + JSON.stringify(err)); + expect(err.code).assertEqual(ERR_NOT_HAVE_PERMISSION); + done(); + }) + }) +}) \ No newline at end of file diff --git a/interfaces/plugin/test/unittest/pedometer_detection/config.json b/interfaces/plugin/test/unittest/pedometer_detection/config.json new file mode 100755 index 00000000..7049ba23 --- /dev/null +++ b/interfaces/plugin/test/unittest/pedometer_detection/config.json @@ -0,0 +1,82 @@ +{ + "app": { + "bundleName": "com.example.myapplication", + "vendor": "example", + "version": { + "code": 1, + "name": "1.0" + }, + "apiVersion": { + "compatible": 4, + "target": 5 + } + }, + "deviceConfig": {}, + "module": { + "reqPermissions": [ + { + "name": "ohos.permission.ACTIVITY_MOTION", + "reason": "user need ohos.permission.ACTIVITY_MOTION", + "usedScene": { + "ability": [ + ".MainAbility" + ], + "when": "inuse" + } + }, + { + "name": "ohos.permission.GRANT_SENSITIVE_PERMISSIONS", + "reason": "user ohos.permission.GRANT_SENSITIVE_PERMISSION" + }, + { + "name": "ohos.permission.REVOKE_SENSITIVE_PERMISSIONS", + "reason": "user ohos.permission.REVOKE_SENSITIVE_PERMISSION" + } + ], + "package": "com.example.myapplication", + "name": ".myapplication", + "deviceType": [ + "default", + "tablet" + ], + "distro": { + "deliveryWithInstall": true, + "moduleName": "entry", + "moduleType": "entry" + }, + "abilities": [ + { + "visible": true, + "skills": [ + { + "entities": [ + "entity.system.home" + ], + "actions": [ + "action.system.home" + ] + } + ], + "name": "com.example.myapplication.MainAbility", + "icon": "$media:icon", + "description": "$string:mainability_description", + "label": "Pedometer_DetectionJsTest", + "type": "page", + "launchType": "standard" + } + ], + "js": [ + { + "pages": [ + "pages/index/index" + ], + "name": "default", + "window": { + "designWidth": 720, + "autoDesignWidth": false + } + } + ] + } + } + \ No newline at end of file diff --git a/interfaces/plugin/test/unittest/pedometer_detection/signature/openharmony_sx.p7b b/interfaces/plugin/test/unittest/pedometer_detection/signature/openharmony_sx.p7b new file mode 100755 index 0000000000000000000000000000000000000000..9e5de81be5c81f38750b2f308a3836b2aceb0a48 GIT binary patch literal 3436 zcmcgvYj6|S6}BF>V~oJWfPn%wGQkuh`>rfmk^>~WdfQ&fDVsM22uhGm&1VsAU7*#PMeNH@c3K~NM+{q z1#&u4{73v0|9-15PJ|;qiWHG}kPuc0#buxj2&X=Uos^4##Z!fNC?sy%W)LO< z1Rf!n$s94#6(B@D(oM1RxrjIsph84gl+MT)B1jz`4pL;2i5;*OClQYN+&(8BWtSvk zA4ILy8;X=_lUc9PD`B%bjW&{~Ua!>nl}gwi^uV+pfjxS4HI5`Aei%hOp1Iy;zp)O( zR4{FUQ7xKKw!qbh$54;JHZ$C8FfuckFk0=gsp>JTMomZSoZ9->OsyvAuqtANS#3uV zrxu1RYGne&%oRw$(d_j)gHYT-Hhb!|_1;F(VOIN5r8*r2Cs6#mQCI^)JG246t-%y> zh$S8jsA-+oX+Zrbjkc)8Ob#l2!eGWKtSs7+Mq8d@exwF9S!gw#&QYa;6Ct~{-p%}? z4oKm3>fl5psWQX0J?n~?5lwvzZ@>~7Gi>g`D6>kfNZQ331`l~%+CbdlSJ$F&b2?|l ziz*vQ3`l5edW5rg*Yrr=4x$J`8No*-9l}Kj&MQwg)Y4MgO+k9P zk+i5_7n`vTlc+Tw%pwV(_4e`vf&}fQ-XP%?Ta!AEFQ#p&@z5%^W+qSvW4dw#W-9C< zU}h%~IlCs8p2ln_g2Ng^OdCz=tq>OT&Xl=b)eSMJ9IIDQK1hecv{tE{tDT8T6bOu} z5DZo|k~jv_c8@**8+G+DO`QU+b4kQTo67^wgsHjZHO(z^jX{Y8vzGcQDVxt*O{1o8 z2#>2|0kQ?NSQ<$$G0ca8kiCB7p}( z0irCJWRxPnwo;EA;GqE1QjugNN(7snY;X5yiJQQqF}Bl%UPeNC{mf7y)7ZE(5Mdh_ z4+JQhaEW^CSwi7##>w<^&=+AfD;*OiSWR+9nXmz#S!^s57h`2Z7;5&VWhzYK0pYxk zRMx*hiaQOYI7d5pTn?AZmu(Lo0fVz%Vx;ucbUu%lnE{+oF38E^S@>D`T%`dT4qj%B zLHW7;gajH53RpBZKd&EJWG3(+R17AtE?)ka{w}z0cZ!rS7+)X|LqH6~keK;O?F9mf z0uon1y(S2K&m;gS>q(;Ic}diTDYq{`6q$Nt6xcw1R(5(DxSZbo;Bm5fNCw|}n)}bL zZTqgmbB~NT`LoII?bgT^3fc=f|JXg{_wQV~cx61gLw1jM_N(J0x77Sv;n9yfuoXEY zf45R{ibpOvKI*;AO!I(3CY^D`{83=!g5iH@>lBXsQ|`u^&hA%QyS~btw@IW0L)d_! z9L|6Fd>%J@0T{>HL--^4!#~Au9NykyIDh&V``^5k`OW<%0mn43W;|a8aC4!IUCZ|5 zq#VgTx{1S(TkjHG-mHBuugjw~GrqaCslD?mvfOpieecTlyH}QGRnB?xt98tfjy8YG zMe@S-g7c-@PH9KAWimX%86I8l z<Q*v>-H8%cQ5{AOVbxO;8#lc*T!tP zb1u42xo1b#{oS`q#(a8VrQkP*WLxHk8Wx?H|AWxJ__h!JU;@?ypRb-=S$D8=@3A#w z)^5GCXi?ssGwl-=J$z%%fzrZ;(7#ae5|4{tu2lQ``oeFg$MtAh;lS z@kjE7zl`2~!Vex@{R>w?H-vL`_0>z3`@h;m*Lk!w&+sNCz1`XeqIKp zI50!9>CC+VG{2BC_MWKyuOJ;hFzV?QB!>qvzHcus95D8&k&_7xWe&v(Pytmk$D&js zw}bLNFCP-}i}vRqnez2YN$0zz(~55dZagt`gf16a$8`RE!~UCX)7lS#K~GO|E?*1O z+zA;sN;7B7*wK3L;Q0~DkF9Z^9kPi!cX-ss;#7Ot+1xjC0JjKy+|t?lfWwLIwSDo& YF3dAOf9JuhpKr#C+*eoLJGxH%KaeO@wg3PC literal 0 HcmV?d00001 -- Gitee