diff --git a/aafwk/aafwk_standard/ActsKillProcessWithAccountApi7/ActsKillProcessWithAccountApi7Test/BUILD.gn b/aafwk/aafwk_standard/ActsKillProcessWithAccountApi7/ActsKillProcessWithAccountApi7Test/BUILD.gn new file mode 100644 index 0000000000000000000000000000000000000000..29dae880b5a1aa10179f45af5eb745424a85896a --- /dev/null +++ b/aafwk/aafwk_standard/ActsKillProcessWithAccountApi7/ActsKillProcessWithAccountApi7Test/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("ActsKillProcessWithAccountApi7Test") { + hap_name = "ActsKillProcessWithAccountApi7Test" + hap_profile = "./entry/src/main/config.json" + deps = [ + ":hjs_demo_js_assets", + ":hjs_demo_resources", + ] + certificate_profile = "./signature/openharmony_sx.p7b" +} +ohos_js_assets("hjs_demo_js_assets") { + source_dir = "./entry/src/main/js/default" +} +ohos_resources("hjs_demo_resources") { + sources = [ "./entry/src/main/js/resources" ] + hap_profile = "./entry/src/main/config.json" +} diff --git a/aafwk/aafwk_standard/ActsKillProcessWithAccountApi7/ActsKillProcessWithAccountApi7Test/Test.json b/aafwk/aafwk_standard/ActsKillProcessWithAccountApi7/ActsKillProcessWithAccountApi7Test/Test.json new file mode 100644 index 0000000000000000000000000000000000000000..9c63a11187748fab4648648e089db985ceaca070 --- /dev/null +++ b/aafwk/aafwk_standard/ActsKillProcessWithAccountApi7/ActsKillProcessWithAccountApi7Test/Test.json @@ -0,0 +1,38 @@ +{ + "description": "Configuration for hjsunit Tests", + "driver": { + "type": "JSUnitTest", + "test-timeout": "60000", + "package": "com.example.myapplication.actsapi7killtest", + "shell-timeout": "60000" + }, + "kits": [ + { + "test-file-name": [ + "ActsKillProcessWithAccountApi7Test.hap", + "ActsKillProcessWithAccountCloseApi7.hap" + ], + "type": "AppInstallKit", + "cleanup-apps": true + }, + { + "type": "ShellKit", + "run-command": [ + "remount" + ] + }, + { + "type": "PushKit", + "push": [ + "ActsKillProcessWithAccountCloseApi7.hap->/data/ActsKillProcessWithAccountCloseApi7.hap" + ] + + }, + { + "type": "ShellKit", + "run-command": [ + "chmod 644 /data/*.hap" + ] + } + ] +} diff --git a/aafwk/aafwk_standard/ActsKillProcessWithAccountApi7/ActsKillProcessWithAccountApi7Test/entry/src/main/config.json b/aafwk/aafwk_standard/ActsKillProcessWithAccountApi7/ActsKillProcessWithAccountApi7Test/entry/src/main/config.json new file mode 100644 index 0000000000000000000000000000000000000000..a2d8038c261520e08d1db88a7693018e3b7db168 --- /dev/null +++ b/aafwk/aafwk_standard/ActsKillProcessWithAccountApi7/ActsKillProcessWithAccountApi7Test/entry/src/main/config.json @@ -0,0 +1,107 @@ +{ + "app": { + "bundleName": "com.example.myapplication.actsapi7killtest", + "vendor": "example", + "version": { + "code": 1, + "name": "1.0" + }, + "apiVersion": { + "compatible": 4, + "target": 5, + "releaseType": "Beta1" + } + }, + "deviceConfig": {}, + "module": { + "package": "com.example.myapplication.actsapi7killtest", + "name": ".MyApplication", + "deviceType": [ + "phone" + ], + "distro": { + "deliveryWithInstall": true, + "moduleName": "entry", + "moduleType": "entry" + }, + "abilities": [ + { + "skills": [ + { + "entities": [ + "entity.system.home" + ], + "actions": [ + "action.system.home" + ] + } + ], + "name": "com.example.myapplication.actsapi7killtest.MainAbility", + "icon": "$media:icon", + "description": "$string:mainability_description", + "label": "$string:app_name", + "type": "page", + "launchType": "singleton", + "visible": true + } + ], + "reqPermissions": [ + { + "name":"ohos.permission.GET_BUNDLE_INFO_PRIVILEGED", + "reason":"need use ohos.permission.GET_BUNDLE_INFO_PRIVILEGED" + }, + { + "name":"ohos.permission.GET_BUNDLE_INFO", + "reason":"need use ohos.permission.GET_BUNDLE_INFO" + }, + { + "name":"ohos.permission.CHANGE_ABILITY_ENABLED_STATE", + "reason":"need use ohos.permission.CHANGE_ABILITY_ENABLED_STATE" + }, + { + "name":"ohos.permission.REMOVE_CACHE_FILES", + "reason":"need use ohos.permission.REMOVE_CACHE_FILES" + }, + { + "name":"ohos.permission.LISTEN_BUNDLE_CHANGE", + "reason":"need use ohos.permission.LISTEN_BUNDLE_CHANGE" + }, + { + "name":"ohos.permission.INSTALL_BUNDLE", + "reason":"need use ohos.permission.INSTALL_BUNDLE" + }, + { + "name":"ohos.permission.MANAGE_MISSIONS", + "reason":"need use ohos.permission.MANAGE_MISSIONS" + }, + { + "name":"ohos.permission.GET_RUNNING_INFO", + "reason":"need use ohos.permission.GET_RUNNING_INFO" + }, + { + "name":"ohos.permission.CLEAN_BACKGROUND_PROCESSES", + "reason":"need use ohos.permission.CLEAN_BACKGROUND_PROCESSES" + }, + { + "name":"ohos.permission.CLEAN_APPLICATION_DATA", + "reason":"need use ohos.permission.CLEAN_APPLICATION_DATA" + }, + { + "name":"ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS", + "reason":"need use ohos.permission.GET_RUNNING_INFO" + } + ], + "js": [ + { + "pages": [ + "pages/index/index" + ], + "name": "default", + "window": { + "designWidth": 720, + "autoDesignWidth": false + } + } + ] + } +} \ No newline at end of file diff --git a/aafwk/aafwk_standard/ActsKillProcessWithAccountApi7/ActsKillProcessWithAccountApi7Test/entry/src/main/js/default/app.js b/aafwk/aafwk_standard/ActsKillProcessWithAccountApi7/ActsKillProcessWithAccountApi7Test/entry/src/main/js/default/app.js new file mode 100644 index 0000000000000000000000000000000000000000..042038cfc6360ed972035a85e944904021ffb1d6 --- /dev/null +++ b/aafwk/aafwk_standard/ActsKillProcessWithAccountApi7/ActsKillProcessWithAccountApi7Test/entry/src/main/js/default/app.js @@ -0,0 +1,28 @@ +/* + * 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('ActsProcessManageJsTest onCreate'); + }, + onDestroy() { + console.info('ActsProcessManageJsTest onDestroy'); + }, + onShow() { + console.info('ActsProcessManageJsTest onShow'); + }, + onHide() { + console.info('ActsProcessManageJsTest onHide'); + } +}; diff --git a/aafwk/aafwk_standard/ActsKillProcessWithAccountApi7/ActsKillProcessWithAccountApi7Test/entry/src/main/js/default/i18n/en-US.json b/aafwk/aafwk_standard/ActsKillProcessWithAccountApi7/ActsKillProcessWithAccountApi7Test/entry/src/main/js/default/i18n/en-US.json new file mode 100644 index 0000000000000000000000000000000000000000..e63c70d978a3a53be988388c87182f81785e170c --- /dev/null +++ b/aafwk/aafwk_standard/ActsKillProcessWithAccountApi7/ActsKillProcessWithAccountApi7Test/entry/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/aafwk/aafwk_standard/ActsKillProcessWithAccountApi7/ActsKillProcessWithAccountApi7Test/entry/src/main/js/default/i18n/zh-CN.json b/aafwk/aafwk_standard/ActsKillProcessWithAccountApi7/ActsKillProcessWithAccountApi7Test/entry/src/main/js/default/i18n/zh-CN.json new file mode 100644 index 0000000000000000000000000000000000000000..de6ee5748322f44942c1b003319d8e66c837675f --- /dev/null +++ b/aafwk/aafwk_standard/ActsKillProcessWithAccountApi7/ActsKillProcessWithAccountApi7Test/entry/src/main/js/default/i18n/zh-CN.json @@ -0,0 +1,6 @@ +{ + "strings": { + "hello": "您好", + "world": "世界" + } +} \ No newline at end of file diff --git a/aafwk/aafwk_standard/ActsKillProcessWithAccountApi7/ActsKillProcessWithAccountApi7Test/entry/src/main/js/default/pages/index/index.css b/aafwk/aafwk_standard/ActsKillProcessWithAccountApi7/ActsKillProcessWithAccountApi7Test/entry/src/main/js/default/pages/index/index.css new file mode 100644 index 0000000000000000000000000000000000000000..cfd4c53e39aecb2d83a0fbdec971eca4041c8a3a --- /dev/null +++ b/aafwk/aafwk_standard/ActsKillProcessWithAccountApi7/ActsKillProcessWithAccountApi7Test/entry/src/main/js/default/pages/index/index.css @@ -0,0 +1,14 @@ +.container { + flex-direction: column; + justify-content: center; + align-items: center; +} + +.title { + font-size: 100px; +} + +.btn { + width: 200px; + height: 80px; +} diff --git a/aafwk/aafwk_standard/ActsKillProcessWithAccountApi7/ActsKillProcessWithAccountApi7Test/entry/src/main/js/default/pages/index/index.hml b/aafwk/aafwk_standard/ActsKillProcessWithAccountApi7/ActsKillProcessWithAccountApi7Test/entry/src/main/js/default/pages/index/index.hml new file mode 100644 index 0000000000000000000000000000000000000000..83c5e0fcabbb1d5df26d69f4a5c2031c1e65b70a --- /dev/null +++ b/aafwk/aafwk_standard/ActsKillProcessWithAccountApi7/ActsKillProcessWithAccountApi7Test/entry/src/main/js/default/pages/index/index.hml @@ -0,0 +1,6 @@ +
+ + {{ $t('strings.hello') }} {{ title }} + + +
diff --git a/aafwk/aafwk_standard/ActsKillProcessWithAccountApi7/ActsKillProcessWithAccountApi7Test/entry/src/main/js/default/pages/index/index.js b/aafwk/aafwk_standard/ActsKillProcessWithAccountApi7/ActsKillProcessWithAccountApi7Test/entry/src/main/js/default/pages/index/index.js new file mode 100644 index 0000000000000000000000000000000000000000..ee3a7077b7d52935d3f70b5cb70e38ea9d0e33f1 --- /dev/null +++ b/aafwk/aafwk_standard/ActsKillProcessWithAccountApi7/ActsKillProcessWithAccountApi7Test/entry/src/main/js/default/pages/index/index.js @@ -0,0 +1,84 @@ +/* + * 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 { Core, ExpectExtend } from 'deccjsunit/index' + +const injectRef = Object.getPrototypeOf(global) || global +injectRef.regeneratorRuntime = require('@babel/runtime/regenerator') + +export default { + data: { + title: "", + testTime: 0 + }, + onInit() { + console.info('ActsProcessManageJsTest onInit'); + this.title = this.$t('strings.world'); + }, + onShow() { + console.info('ActsProcessManageJsTest onShow'); + console.info('ActsProcessManageJsTest testTime' + this.testTime); + if (this.testTime == 0) { + const core = Core.getInstance() + const expectExtend = new ExpectExtend({ + 'id': 'extend' + }) + core.addService('expect', expectExtend) + core.init() + const configService = core.getDefaultService('config') + this.timeout = 30000; + configService.setConfig(this) + + require('../../../test/List.test') + core.execute() + } + this.testTime++; + }, + onReady() { + console.info('ActsProcessManageJsTest onReady'); + }, + onActive() { + console.info('ActsProcessManageJsTest onActive'); + }, + onInactive() { + console.info('ActsProcessManageJsTest onInactive'); + }, + onHide() { + console.info('ActsProcessManageJsTest onHide'); + }, + onDestroy() { + console.info('ActsProcessManageJsTest onDestroy'); + }, + onBackPress() { + console.info('ActsProcessManageJsTest onBackPress'); + }, + onNewRequest() { + console.info('ActsProcessManageJsTest onNewRequest'); + }, + onStartContinuation() { + console.info('ActsProcessManageJsTest onStartContinuation'); + }, + onSaveData(value) { + console.info('ActsProcessManageJsTest onSaveData:' + JSON.stringify(value)); + }, + onRestoreData(value) { + console.info('ActsProcessManageJsTest onRestoreData:' + JSON.stringify(value)); + }, + onCompleteContinuation(code) { + console.info('ActsProcessManageJsTest onCompleteContinuation:' + JSON.stringify(code)); + }, + onConfigurationUpdated(configuration) { + console.info('ActsProcessManageJsTest onConfigurationUpdated:' + JSON.stringify(configuration)); + } +} diff --git a/aafwk/aafwk_standard/ActsKillProcessWithAccountApi7/ActsKillProcessWithAccountApi7Test/entry/src/main/js/resources/base/element/string.json b/aafwk/aafwk_standard/ActsKillProcessWithAccountApi7/ActsKillProcessWithAccountApi7Test/entry/src/main/js/resources/base/element/string.json new file mode 100644 index 0000000000000000000000000000000000000000..03574a36c533357eef7fc0acc5e21af14f4e5f67 --- /dev/null +++ b/aafwk/aafwk_standard/ActsKillProcessWithAccountApi7/ActsKillProcessWithAccountApi7Test/entry/src/main/js/resources/base/element/string.json @@ -0,0 +1,12 @@ +{ + "string": [ + { + "name": "app_name", + "value": "actsparticleabilitytest" + }, + { + "name": "mainability_description", + "value": "JS_Phone_Empty Feature Ability" + } + ] +} \ No newline at end of file diff --git a/aafwk/aafwk_standard/ActsKillProcessWithAccountApi7/ActsKillProcessWithAccountApi7Test/entry/src/main/js/resources/base/media/icon.png b/aafwk/aafwk_standard/ActsKillProcessWithAccountApi7/ActsKillProcessWithAccountApi7Test/entry/src/main/js/resources/base/media/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..ce307a8827bd75456441ceb57d530e4c8d45d36c Binary files /dev/null and b/aafwk/aafwk_standard/ActsKillProcessWithAccountApi7/ActsKillProcessWithAccountApi7Test/entry/src/main/js/resources/base/media/icon.png differ diff --git a/aafwk/aafwk_standard/ActsKillProcessWithAccountApi7/ActsKillProcessWithAccountApi7Test/entry/src/main/js/test/ActsProcessManageJsTest.test.js b/aafwk/aafwk_standard/ActsKillProcessWithAccountApi7/ActsKillProcessWithAccountApi7Test/entry/src/main/js/test/ActsProcessManageJsTest.test.js new file mode 100644 index 0000000000000000000000000000000000000000..e11459bb8c74549e89825d8db71121c5d53685fa --- /dev/null +++ b/aafwk/aafwk_standard/ActsKillProcessWithAccountApi7/ActsKillProcessWithAccountApi7Test/entry/src/main/js/test/ActsProcessManageJsTest.test.js @@ -0,0 +1,284 @@ +/* + * 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 appManager from '@ohos.application.AppManager'; +import featureAbility from '@ohos.ability.featureAbility' + +const ACCOUNT_ID = 100; +const NULL_ACCOUNT_ID = 102; +const BUNDLE_NAME = 'com.example.actskillprocesswithaccountcloseapi7'; +const NULL_BUNDLE_NAME = 'com.aaa.bbb'; +const START_ABILITY_NAME = 'com.example.actskillprocesswithaccountcloseapi7.MainAbility'; + +describe('ActsAbilityTest', function () { + + beforeEach(async (done) => { + console.log('======>beforeEach killProcessWithAccountTest<======='); + + await featureAbility.startAbility({ + want: + { + bundleName: BUNDLE_NAME, + abilityName: START_ABILITY_NAME + } + }).then(async() => { + console.log("====>end ACTS_KillProcessWithAccount startability ====>success!") + done(); + }) + }) + + function sleep(delay) { + var start = (new Date()).getTime(); + while((new Date()).getTime() - start < delay) { + continue; + } + } + + function checkRunningProcess(name, dataInfo) { + for (let i = 0, len = dataInfo.length; i < len; i++) { + if (dataInfo[i].processName == name) { + return true; + } + } + return false; + } + + /** + * @tc.number: ACTS_KillProcessWithAccount_0100 + * @tc.name: Provide the system interface of the specified user management application. + * @tc.desc: Validates the ability to stop the specified process for the specified user. + */ + it('ACTS_KillProcessWithAccount_0100', 0, async function (done) { + console.debug("====>ACTS_KillProcessWithAccount_0100 start startAbility====>"); + + var procrssinfo = await appManager.getProcessRunningInfos() + console.log('ACTS_KillProcessWithAccount_0100 ==1== getProcessRunningInfos ======> ' + + JSON.stringify(procrssinfo)); + var infores = checkRunningProcess(BUNDLE_NAME, procrssinfo) + console.log("====>ACTS_KillProcessWithAccount_0100====>infores = " + infores) + expect(infores).assertEqual(true); + + await appManager.killProcessWithAccount(BUNDLE_NAME, ACCOUNT_ID).then(async() => { + console.log('ACTS_KillProcessWithAccount_0100 killProcess ======> start'); + }) + + setTimeout(async() => { + var copyprocrssinfo = await appManager.getProcessRunningInfos() + console.log('ACTS_KillProcessWithAccount_0100 getProcessRunningInfos ======> ' + + JSON.stringify(copyprocrssinfo)); + var outcopy = checkRunningProcess(BUNDLE_NAME, copyprocrssinfo) + console.log("====>ACTS_KillProcessWithAccount_0100====>outcopy = " + outcopy) + expect(outcopy).assertEqual(false); + done(); + }, 3000 ) + }) + + /** + * @tc.number: ACTS_KillProcessWithAccount_0300 + * @tc.name: Provide the system interface of the specified user management application. + * @tc.desc: Authentication cannot stop the specified process for the specified user. + */ + it('ACTS_KillProcessWithAccount_0300', 0, async function (done) { + console.debug("====>ACTS_KillProcessWithAccount_0300 start startAbility====>"); + + var getinfo = await appManager.getProcessRunningInfos() + console.log('ACTS_KillProcessWithAccount_0300 getProcessRunningInfos =1= ======> ' + + JSON.stringify(getinfo)); + var res = checkRunningProcess(BUNDLE_NAME, getinfo) + console.log("====>ACTS_KillProcessWithAccount_0300====>res = " + res) + expect(res).assertEqual(true); + + appManager.killProcessWithAccount(NULL_BUNDLE_NAME, ACCOUNT_ID).then(() => { + console.log('ACTS_KillProcessWithAccount_0300 ======> '); + }) + + setTimeout(async() => { + var procrssinfo = await appManager.getProcessRunningInfos() + console.log('ACTS_KillProcessWithAccount_0300 ==1== getProcessRunningInfos ======> ' + + JSON.stringify(procrssinfo)); + var infores = checkRunningProcess(BUNDLE_NAME, procrssinfo) + console.log("====>ACTS_KillProcessWithAccount_0300====>infores = " + infores) + expect(infores).assertEqual(true); + + await appManager.killProcessWithAccount(BUNDLE_NAME, ACCOUNT_ID).then(async() => { + console.log('ACTS_KillProcessWithAccount_0300 killProcess ======> start'); + sleep(500) + var copyprocrssinfo = await appManager.getProcessRunningInfos() + console.log('ACTS_KillProcessWithAccount_0300 getProcessRunningInfos ======> ' + + JSON.stringify(copyprocrssinfo)); + var outcopy = checkRunningProcess(BUNDLE_NAME, copyprocrssinfo) + console.log("====>ACTS_KillProcessWithAccount_0300====> outcopy = " + outcopy) + expect(outcopy).assertEqual(false); + done(); + }) + },1500) + }) + + /** + * @tc.number: ACTS_KillProcessWithAccount_0400 + * @tc.name: Provide the system interface of the specified user management application. + * @tc.desc: Authentication cannot stop the specified process for the specified user. + */ + it('ACTS_KillProcessWithAccount_0400', 0, async function (done) { + console.debug("====>ACTS_KillProcessWithAccount_0400 start startAbility====>"); + + var getinfo = await appManager.getProcessRunningInfos() + console.log('ACTS_KillProcessWithAccount_0400 getProcessRunningInfos =1= ======> ' + + JSON.stringify(getinfo)); + var res = checkRunningProcess(BUNDLE_NAME, getinfo) + console.log("====>ACTS_KillProcessWithAccount_0400====>res = " + res) + expect(res).assertEqual(true); + + appManager.killProcessWithAccount(BUNDLE_NAME, NULL_ACCOUNT_ID).then(() => { + console.log('ACTS_KillProcessWithAccount_0400 killProcess ======> start'); + }) + + setTimeout(async() => { + var procrssinfo = await appManager.getProcessRunningInfos() + console.log('ACTS_KillProcessWithAccount_0400 ==1== getProcessRunningInfos ======> ' + + JSON.stringify(procrssinfo)); + var infores = checkRunningProcess(BUNDLE_NAME, procrssinfo) + console.log("====>ACTS_KillProcessWithAccount_0400====>infores = " + infores) + expect(infores).assertEqual(true); + + appManager.killProcessWithAccount(BUNDLE_NAME, ACCOUNT_ID).then(async() => { + console.log('ACTS_KillProcessWithAccount_0400 killProcess2 ======> start'); + + sleep(500) + var copyprocrssinfo = await appManager.getProcessRunningInfos() + console.log('ACTS_KillProcessWithAccount_0400 ==2== getProcessRunningInfos ======>' + + JSON.stringify(copyprocrssinfo)); + var out = checkRunningProcess(BUNDLE_NAME, copyprocrssinfo) + console.log("====>ACTS_KillProcessWithAccount_0400====>infores = " + out) + expect(out).assertEqual(false); + done(); + }) + },1500) + }) + + /** + * @tc.number: ACTS_KillProcessWithAccount_0500 + * @tc.name: Provide the system interface of the specified user management application. + * @tc.desc: Validates the ability to stop the specified process for the specified user. + */ + it('ACTS_KillProcessWithAccount_0500', 0, async function (done) { + console.debug("====>ACTS_KillProcessWithAccount_0500 start startAbility====>"); + + var procrssinfo = await appManager.getProcessRunningInfos() + console.log('ACTS_KillProcessWithAccount_0500 ==1== getProcessRunningInfos ======> ' + + JSON.stringify(procrssinfo)); + var infores = checkRunningProcess(BUNDLE_NAME, procrssinfo) + console.log("====>ACTS_KillProcessWithAccount_0500====>infores = " + infores) + expect(infores).assertEqual(true); + + await appManager.killProcessWithAccount(BUNDLE_NAME, ACCOUNT_ID,(async() => { + console.log('ACTS_KillProcessWithAccount_0500 killProcess ======> start'); + })) + + setTimeout(async() => { + var copyprocrssinfo = await appManager.getProcessRunningInfos() + console.log('ACTS_KillProcessWithAccount_0500 getProcessRunningInfos ======> ' + + JSON.stringify(copyprocrssinfo)); + var outcopy = checkRunningProcess(BUNDLE_NAME, copyprocrssinfo) + console.log("====>ACTS_KillProcessWithAccount_0500====>outcopy = " + outcopy) + expect(outcopy).assertEqual(false); + done(); + }, 3000 ) + }) + + /** + * @tc.number: ACTS_KillProcessWithAccount_0700 + * @tc.name: Provide the system interface of the specified user management application. + * @tc.desc: Authentication cannot stop the specified process for the specified user. + */ + it('ACTS_KillProcessWithAccount_0700', 0, async function (done) { + console.debug("====>ACTS_KillProcessWithAccount_0700 start startAbility====>"); + + var getinfo = await appManager.getProcessRunningInfos() + console.log('ACTS_KillProcessWithAccount_0700 getProcessRunningInfos =1= ======> ' + + JSON.stringify(getinfo)); + var res = checkRunningProcess(BUNDLE_NAME, getinfo) + console.log("====>ACTS_KillProcessWithAccount_0700====>res = " + res) + expect(res).assertEqual(true); + + appManager.killProcessWithAccount(NULL_BUNDLE_NAME,ACCOUNT_ID,(() => { + console.log('ACTS_KillProcessWithAccount_0700 killProcess ======> start'); + })) + + setTimeout(async() => { + var procrssinfo = await appManager.getProcessRunningInfos() + console.log('ACTS_KillProcessWithAccount_0700 ==1== getProcessRunningInfos ======> ' + + JSON.stringify(procrssinfo)); + var infores = checkRunningProcess(BUNDLE_NAME, procrssinfo) + console.log("====>ACTS_KillProcessWithAccount_0700====>infores = " + infores) + expect(infores).assertEqual(true); + + await appManager.killProcessWithAccount(BUNDLE_NAME, ACCOUNT_ID).then(async() => { + console.log('ACTS_KillProcessWithAccount_0700 killProcess ======> start'); + sleep(500) + var copyprocrssinfo = await appManager.getProcessRunningInfos() + console.log('ACTS_KillProcessWithAccount_0700 getProcessRunningInfos ======> ' + + JSON.stringify(copyprocrssinfo)); + var outcopy = checkRunningProcess(BUNDLE_NAME, copyprocrssinfo) + console.log("====>ACTS_KillProcessWithAccount_0700====> outcopy = " + outcopy) + expect(outcopy).assertEqual(false); + done(); + }) + },1500) + }) + + /** + * @tc.number: ACTS_KillProcessWithAccount_0800 + * @tc.name: Provide the system interface of the specified user management application. + * @tc.desc: Authentication cannot stop the specified process for the specified user. + */ + it('ACTS_KillProcessWithAccount_0800', 0, async function (done) { + console.debug("====>ACTS_KillProcessWithAccount_0800 start startAbility====>"); + + var getinfo = await appManager.getProcessRunningInfos() + console.log('ACTS_KillProcessWithAccount_0800 getProcessRunningInfos =1= ======> ' + + JSON.stringify(getinfo)); + var res = checkRunningProcess(BUNDLE_NAME, getinfo) + console.log("====>ACTS_KillProcessWithAccount_0800====>res = " + res) + expect(res).assertEqual(true); + + appManager.killProcessWithAccount(BUNDLE_NAME, NULL_ACCOUNT_ID,(() => { + console.log('ACTS_KillProcessWithAccount_0800 killProcess ======> start'); + })) + + setTimeout(async() => { + var procrssinfo = await appManager.getProcessRunningInfos() + console.log('ACTS_KillProcessWithAccount_0800 ==1== getProcessRunningInfos ======> ' + + JSON.stringify(procrssinfo)); + var infores = checkRunningProcess(BUNDLE_NAME, procrssinfo) + console.log("====>ACTS_KillProcessWithAccount_0800====>infores = " + infores) + expect(infores).assertEqual(true); + + await appManager.killProcessWithAccount(BUNDLE_NAME, ACCOUNT_ID).then(async() => { + console.log('ACTS_KillProcessWithAccount_0800 killProcess ======> start'); + sleep(500) + var copyprocrssinfo = await appManager.getProcessRunningInfos() + console.log('ACTS_KillProcessWithAccount_0800 getProcessRunningInfos ======> ' + + JSON.stringify(copyprocrssinfo)); + var outcopy = checkRunningProcess(BUNDLE_NAME, copyprocrssinfo) + console.log("====>ACTS_KillProcessWithAccount_0800====> outcopy = " + outcopy) + expect(outcopy).assertEqual(false); + done(); + }) + },1500) + }) + +}) \ No newline at end of file diff --git a/aafwk/aafwk_standard/ActsKillProcessWithAccountApi7/ActsKillProcessWithAccountApi7Test/entry/src/main/js/test/List.test.js b/aafwk/aafwk_standard/ActsKillProcessWithAccountApi7/ActsKillProcessWithAccountApi7Test/entry/src/main/js/test/List.test.js new file mode 100644 index 0000000000000000000000000000000000000000..a7c683b3c0d578297e04ff1d997cf048087eec47 --- /dev/null +++ b/aafwk/aafwk_standard/ActsKillProcessWithAccountApi7/ActsKillProcessWithAccountApi7Test/entry/src/main/js/test/List.test.js @@ -0,0 +1,15 @@ +/* + * 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('./ActsProcessManageJsTest.test.js') \ No newline at end of file diff --git a/aafwk/aafwk_standard/ActsKillProcessWithAccountApi7/ActsKillProcessWithAccountApi7Test/signature/openharmony_sx.p7b b/aafwk/aafwk_standard/ActsKillProcessWithAccountApi7/ActsKillProcessWithAccountApi7Test/signature/openharmony_sx.p7b new file mode 100755 index 0000000000000000000000000000000000000000..cc53179a48f88f20acc379c138a001e9a15838f6 Binary files /dev/null and b/aafwk/aafwk_standard/ActsKillProcessWithAccountApi7/ActsKillProcessWithAccountApi7Test/signature/openharmony_sx.p7b differ diff --git a/aafwk/aafwk_standard/ActsKillProcessWithAccountApi7/ActsKillProcessWithAccountCloseApi7/BUILD.gn b/aafwk/aafwk_standard/ActsKillProcessWithAccountApi7/ActsKillProcessWithAccountCloseApi7/BUILD.gn new file mode 100644 index 0000000000000000000000000000000000000000..63bd5aebe3359e79a8a82d27415b60668fc09d4f --- /dev/null +++ b/aafwk/aafwk_standard/ActsKillProcessWithAccountApi7/ActsKillProcessWithAccountCloseApi7/BUILD.gn @@ -0,0 +1,34 @@ +# 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_hap("ActsKillProcessWithAccountCloseApi7") { + hap_name = "ActsKillProcessWithAccountCloseApi7" + hap_profile = "./src/main/config.json" + subsystem_name = XTS_SUITENAME + final_hap_path = + "${SUITES_OUTPUT_ROOT}/${XTS_SUITENAME}/testcases/${hap_name}.hap" + testonly = true + deps = [ + ":hjs_demo_js_assets", + ":hjs_demo_resources", + ] + certificate_profile = "./signature/openharmony_sx.p7b" +} +ohos_js_assets("hjs_demo_js_assets") { + source_dir = "./src/main/js/default" +} +ohos_resources("hjs_demo_resources") { + sources = [ "./src/main/js/resources" ] + hap_profile = "./src/main/config.json" +} diff --git a/aafwk/aafwk_standard/ActsKillProcessWithAccountApi7/ActsKillProcessWithAccountCloseApi7/signature/openharmony_sx.p7b b/aafwk/aafwk_standard/ActsKillProcessWithAccountApi7/ActsKillProcessWithAccountCloseApi7/signature/openharmony_sx.p7b new file mode 100755 index 0000000000000000000000000000000000000000..cc53179a48f88f20acc379c138a001e9a15838f6 Binary files /dev/null and b/aafwk/aafwk_standard/ActsKillProcessWithAccountApi7/ActsKillProcessWithAccountCloseApi7/signature/openharmony_sx.p7b differ diff --git a/aafwk/aafwk_standard/ActsKillProcessWithAccountApi7/ActsKillProcessWithAccountCloseApi7/src/main/config.json b/aafwk/aafwk_standard/ActsKillProcessWithAccountApi7/ActsKillProcessWithAccountCloseApi7/src/main/config.json new file mode 100644 index 0000000000000000000000000000000000000000..855f8170cc9d1c19fe29832e72c43452e47a0969 --- /dev/null +++ b/aafwk/aafwk_standard/ActsKillProcessWithAccountApi7/ActsKillProcessWithAccountCloseApi7/src/main/config.json @@ -0,0 +1,99 @@ +{ + "app": { + "bundleName": "com.example.actskillprocesswithaccountcloseapi7", + "vendor": "example", + "version": { + "code": 1, + "name": "1.0" + }, + "apiVersion": { + "compatible": 4, + "target": 5, + "releaseType": "Beta1" + } + }, + "deviceConfig": {}, + "module": { + "package": "com.example.actskillprocesswithaccountcloseapi7", + "name": ".MyApplication", + "deviceType": [ + "phone" + ], + "distro": { + "deliveryWithInstall": true, + "moduleName": "entry", + "moduleType": "entry" + }, + "abilities": [ + { + "skills": [ + { + "entities": [ + "entity.system.home" + ], + "actions": [ + "action.system.home" + ] + } + ], + "name": "com.example.actskillprocesswithaccountcloseapi7.MainAbility", + "visible": true, + "icon": "$media:icon", + "description": "$string:mainability_description", + "label": "$string:app_name", + "type": "page", + "launchType": "standard" + } + ], + "reqPermissions": [ + { + "name":"ohos.permission.GET_BUNDLE_INFO_PRIVILEGED", + "reason":"need use ohos.permission.GET_BUNDLE_INFO_PRIVILEGED" + }, + { + "name":"ohos.permission.GET_BUNDLE_INFO", + "reason":"need use ohos.permission.GET_BUNDLE_INFO" + }, + { + "name":"ohos.permission.CHANGE_ABILITY_ENABLED_STATE", + "reason":"need use ohos.permission.CHANGE_ABILITY_ENABLED_STATE" + }, + { + "name":"ohos.permission.REMOVE_CACHE_FILES", + "reason":"need use ohos.permission.REMOVE_CACHE_FILES" + }, + { + "name":"ohos.permission.LISTEN_BUNDLE_CHANGE", + "reason":"need use ohos.permission.LISTEN_BUNDLE_CHANGE" + }, + { + "name":"ohos.permission.MANAGE_MISSIONS", + "reason":"need use ohos.permission.MANAGE_MISSIONS" + }, + { + "name":"ohos.permission.GET_RUNNING_INFO", + "reason":"need use ohos.permission.GET_RUNNING_INFO" + }, + { + "name":"ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS", + "reason":"need use ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS" + }, + { + "name":"ohos.permission.CLEAN_BACKGROUND_PROCESSES", + "reason":"need use ohos.permission.CLEAN_BACKGROUND_PROCESSES" + } + ], + "js": [ + { + "pages": [ + "pages/index/index" + ], + "name": "default", + "window": { + "designWidth": 720, + "autoDesignWidth": false + } + } + ] + } +} \ No newline at end of file diff --git a/aafwk/aafwk_standard/ActsKillProcessWithAccountApi7/ActsKillProcessWithAccountCloseApi7/src/main/js/default/app.js b/aafwk/aafwk_standard/ActsKillProcessWithAccountApi7/ActsKillProcessWithAccountCloseApi7/src/main/js/default/app.js new file mode 100644 index 0000000000000000000000000000000000000000..5d3012c7d6777f4b04710913de6f1aa718fa8cc9 --- /dev/null +++ b/aafwk/aafwk_standard/ActsKillProcessWithAccountApi7/ActsKillProcessWithAccountCloseApi7/src/main/js/default/app.js @@ -0,0 +1,28 @@ +/* + * 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('ProcessManageSystemAppB onCreate'); + }, + onDestroy() { + console.info('ProcessManageSystemAppB onDestroy'); + }, + onShow() { + console.info('ProcessManageSystemAppB onShow'); + }, + onHide() { + console.info('ProcessManageSystemAppB onHide'); + } +}; diff --git a/aafwk/aafwk_standard/ActsKillProcessWithAccountApi7/ActsKillProcessWithAccountCloseApi7/src/main/js/default/i18n/en-US.json b/aafwk/aafwk_standard/ActsKillProcessWithAccountApi7/ActsKillProcessWithAccountCloseApi7/src/main/js/default/i18n/en-US.json new file mode 100644 index 0000000000000000000000000000000000000000..e63c70d978a3a53be988388c87182f81785e170c --- /dev/null +++ b/aafwk/aafwk_standard/ActsKillProcessWithAccountApi7/ActsKillProcessWithAccountCloseApi7/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/aafwk/aafwk_standard/ActsKillProcessWithAccountApi7/ActsKillProcessWithAccountCloseApi7/src/main/js/default/i18n/zh-CN.json b/aafwk/aafwk_standard/ActsKillProcessWithAccountApi7/ActsKillProcessWithAccountCloseApi7/src/main/js/default/i18n/zh-CN.json new file mode 100644 index 0000000000000000000000000000000000000000..de6ee5748322f44942c1b003319d8e66c837675f --- /dev/null +++ b/aafwk/aafwk_standard/ActsKillProcessWithAccountApi7/ActsKillProcessWithAccountCloseApi7/src/main/js/default/i18n/zh-CN.json @@ -0,0 +1,6 @@ +{ + "strings": { + "hello": "您好", + "world": "世界" + } +} \ No newline at end of file diff --git a/aafwk/aafwk_standard/ActsKillProcessWithAccountApi7/ActsKillProcessWithAccountCloseApi7/src/main/js/default/pages/index/index.css b/aafwk/aafwk_standard/ActsKillProcessWithAccountApi7/ActsKillProcessWithAccountCloseApi7/src/main/js/default/pages/index/index.css new file mode 100644 index 0000000000000000000000000000000000000000..6fda792753f2e15f22b529c7b90a82185b2770bf --- /dev/null +++ b/aafwk/aafwk_standard/ActsKillProcessWithAccountApi7/ActsKillProcessWithAccountCloseApi7/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/aafwk/aafwk_standard/ActsKillProcessWithAccountApi7/ActsKillProcessWithAccountCloseApi7/src/main/js/default/pages/index/index.hml b/aafwk/aafwk_standard/ActsKillProcessWithAccountApi7/ActsKillProcessWithAccountCloseApi7/src/main/js/default/pages/index/index.hml new file mode 100644 index 0000000000000000000000000000000000000000..f64b040a5ae394dbaa5e185e1ecd4f4556b92184 --- /dev/null +++ b/aafwk/aafwk_standard/ActsKillProcessWithAccountApi7/ActsKillProcessWithAccountCloseApi7/src/main/js/default/pages/index/index.hml @@ -0,0 +1,5 @@ +
+ + {{ $t('strings.hello') }} {{ title }} + +
diff --git a/aafwk/aafwk_standard/ActsKillProcessWithAccountApi7/ActsKillProcessWithAccountCloseApi7/src/main/js/default/pages/index/index.js b/aafwk/aafwk_standard/ActsKillProcessWithAccountApi7/ActsKillProcessWithAccountCloseApi7/src/main/js/default/pages/index/index.js new file mode 100644 index 0000000000000000000000000000000000000000..e5f1d275cae20f143cdaff8756419d8c7fb99e60 --- /dev/null +++ b/aafwk/aafwk_standard/ActsKillProcessWithAccountApi7/ActsKillProcessWithAccountCloseApi7/src/main/js/default/pages/index/index.js @@ -0,0 +1,67 @@ +/* + * 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 commonEvent from '@ohos.commonevent' + +const injectRef = Object.getPrototypeOf(global) || global +injectRef.regeneratorRuntime = require('@babel/runtime/regenerator') + +export default { + data: { + title: "" + }, + onInit() { + console.info('ACTS_ProcessManage SystemAppB onInit'); + this.title = "ACTS_ProcessManage SystemAppB"; + }, + onReady() { + console.info('ACTS_ProcessManage SystemAppB onReady'); + }, + onActive() { + console.info('ACTS_ProcessManage SystemAppB onActive'); + }, + onShow() { + console.info('ACTS_ProcessManage SystemAppB onShow'); + }, + onInactive() { + console.info('ACTS_ProcessManage SystemAppB onInactive'); + }, + onHide() { + console.info('ACTS_ProcessManage SystemAppB onHide'); + }, + onDestroy() { + console.info('ACTS_ProcessManage SystemAppB onDestroy'); + }, + onBackPress() { + console.info('ACTS_ProcessManage SystemAppB onBackPress'); + }, + onNewRequest() { + console.info('ACTS_ProcessManage SystemAppB onNewRequest'); + }, + onStartContinuation() { + console.info('ACTS_ProcessManage SystemAppB onStartContinuation'); + }, + onSaveData(value) { + console.info('ACTS_ProcessManage SystemAppB onSaveData:' + JSON.stringify(value)); + }, + onRestoreData(value) { + console.info('ACTS_ProcessManage SystemAppB onRestoreData:' + JSON.stringify(value)); + }, + onCompleteContinuation(code) { + console.info('ACTS_ProcessManage SystemAppB onCompleteContinuation:' + JSON.stringify(code)); + }, + onConfigurationUpdated(configuration) { + console.info('ACTS_ProcessManage SystemAppB onConfigurationUpdated:' + JSON.stringify(configuration)); + } +} \ No newline at end of file diff --git a/aafwk/aafwk_standard/ActsKillProcessWithAccountApi7/ActsKillProcessWithAccountCloseApi7/src/main/js/resources/base/element/string.json b/aafwk/aafwk_standard/ActsKillProcessWithAccountApi7/ActsKillProcessWithAccountCloseApi7/src/main/js/resources/base/element/string.json new file mode 100644 index 0000000000000000000000000000000000000000..fd60cdefa929070f1798c6e36f0502f1e1e219a4 --- /dev/null +++ b/aafwk/aafwk_standard/ActsKillProcessWithAccountApi7/ActsKillProcessWithAccountCloseApi7/src/main/js/resources/base/element/string.json @@ -0,0 +1,12 @@ +{ + "string": [ + { + "name": "app_name", + "value": "particlestartability" + }, + { + "name": "mainability_description", + "value": "JS_Phone_Empty Feature Ability" + } + ] +} \ No newline at end of file diff --git a/aafwk/aafwk_standard/ActsKillProcessWithAccountApi7/ActsKillProcessWithAccountCloseApi7/src/main/js/resources/base/media/icon.png b/aafwk/aafwk_standard/ActsKillProcessWithAccountApi7/ActsKillProcessWithAccountCloseApi7/src/main/js/resources/base/media/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..ce307a8827bd75456441ceb57d530e4c8d45d36c Binary files /dev/null and b/aafwk/aafwk_standard/ActsKillProcessWithAccountApi7/ActsKillProcessWithAccountCloseApi7/src/main/js/resources/base/media/icon.png differ diff --git a/aafwk/aafwk_standard/ActsKillProcessWithAccountApi7/BUILD.gn b/aafwk/aafwk_standard/ActsKillProcessWithAccountApi7/BUILD.gn new file mode 100755 index 0000000000000000000000000000000000000000..f46f18c5174f811e09bc997e1dd83a0216336e56 --- /dev/null +++ b/aafwk/aafwk_standard/ActsKillProcessWithAccountApi7/BUILD.gn @@ -0,0 +1,24 @@ +# 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") + +group("ActsKillProcessWithAccountApi7") { + testonly = true + if (is_standard_system) { + deps = [ + "ActsKillProcessWithAccountApi7Test:ActsKillProcessWithAccountApi7Test", + "ActsKillProcessWithAccountCloseApi7:ActsKillProcessWithAccountCloseApi7", + ] + } +} diff --git a/aafwk/aafwk_standard/BUILD.gn b/aafwk/aafwk_standard/BUILD.gn index c0764c8bcb36b2aa2f6bc1f9fd588d9c0fc87269..c18498708dec07c32074f8cb9bfcd4ffacc7c84b 100755 --- a/aafwk/aafwk_standard/BUILD.gn +++ b/aafwk/aafwk_standard/BUILD.gn @@ -17,6 +17,7 @@ group("aafwk_standard") { testonly = true if (is_standard_system) { deps = [ + "ActsKillProcessWithAccountApi7:ActsKillProcessWithAccountApi7", "abilitymanager:actsabilitymanagertest", "actsabilitydistributetest:ActsAbilityDistributeTest", "actsabilitydistributetest:ActsAbilityDistributeTest", @@ -24,6 +25,7 @@ group("aafwk_standard") { "amsabilitymanager/amsMissionSnapshotTestSingleton:ActsAmsMissionSnapshotTestSingleton", "amsabilitymanager/amsMissionSnapshotTestSingletonS:ActsAmsMissionSnapshotTestSingletonS", "amsdatauriutils:ActsAmsDataUriUtilsTest", + "amsgetabilityprocessinfo:amsgetabilityprocessinfo", "amsmultiapp/MultiAppPage:ActsAmsMultiPageApp", "amsmultiapp/MultiAppPageConnectService:ActsAmsMultiPageAppConnectService", "amsmultiapp/MultiAppPageConnect_Service:ActsAmsMultiAppPageConnectService", @@ -42,10 +44,12 @@ group("aafwk_standard") { "amsmultiapp/amsmultiapptester:ActsAmsMultiAppTester", "amsmultiapp/amsmultidataabilityclone:ActsAmsMultiDataAbilityClone", "amsmultiapp/amsmultidataabilityself:ActsAmsMultiDataAbilitySelf", + "amsprocessmanageapi7:amsprocessmanageapi7", "amszipfileunzipfilest:ActsAmsZipfileUnzipfileSTest", "context:context", "featureability:featureability", "formmanager:formmanager", + "lanuageConfigapi7:lanuageConfigapi7", "serviceability/sceneProject/particlestartability:ParticleStartAbility", "serviceability/sceneProject/particletestserver:ParticleTestServer", "serviceability/stserviceabilityserver:amsStServiceAilityServer", diff --git a/aafwk/aafwk_standard/amsgetabilityprocessinfo/BUILD.gn b/aafwk/aafwk_standard/amsgetabilityprocessinfo/BUILD.gn new file mode 100644 index 0000000000000000000000000000000000000000..28fe324e3b2dc661f239cc7e9312850902d1a964 --- /dev/null +++ b/aafwk/aafwk_standard/amsgetabilityprocessinfo/BUILD.gn @@ -0,0 +1,21 @@ +# 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") + +group("amsgetabilityprocessinfo") { + testonly = true + if (is_standard_system) { + deps = [ "actsprocessmanagejstest:ActsAbilityRunningInfosTest" ] + } +} diff --git a/aafwk/aafwk_standard/amsgetabilityprocessinfo/actsprocessmanagejstest/BUILD.gn b/aafwk/aafwk_standard/amsgetabilityprocessinfo/actsprocessmanagejstest/BUILD.gn new file mode 100644 index 0000000000000000000000000000000000000000..3347f21032a6b5c9e05ff8eceb74421932cf094b --- /dev/null +++ b/aafwk/aafwk_standard/amsgetabilityprocessinfo/actsprocessmanagejstest/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("ActsAbilityRunningInfosTest") { + hap_name = "ActsAbilityRunningInfosTest" + hap_profile = "./entry/src/main/config.json" + deps = [ + ":hjs_demo_js_assets", + ":hjs_demo_resources", + ] + certificate_profile = "./signature/openharmony_sx.p7b" +} +ohos_js_assets("hjs_demo_js_assets") { + source_dir = "./entry/src/main/js/default" +} +ohos_resources("hjs_demo_resources") { + sources = [ "./entry/src/main/js/resources" ] + hap_profile = "./entry/src/main/config.json" +} diff --git a/aafwk/aafwk_standard/amsgetabilityprocessinfo/actsprocessmanagejstest/Test.json b/aafwk/aafwk_standard/amsgetabilityprocessinfo/actsprocessmanagejstest/Test.json new file mode 100644 index 0000000000000000000000000000000000000000..b4c890b9391fe8208e42310ab376b0bda10af6a7 --- /dev/null +++ b/aafwk/aafwk_standard/amsgetabilityprocessinfo/actsprocessmanagejstest/Test.json @@ -0,0 +1,18 @@ +{ + "description": "Configuration for hjunit demo Tests", + "driver": { + "type": "JSUnitTest", + "test-timeout": "120000", + "package": "com.example.abilityrunninginfostest", + "shell-timeout": "600000" + }, + "kits": [ + { + "test-file-name": [ + "ActsAbilityRunningInfosTest.hap" + ], + "type": "AppInstallKit", + "cleanup-apps": true + } + ] +} diff --git a/aafwk/aafwk_standard/amsgetabilityprocessinfo/actsprocessmanagejstest/entry/src/main/config.json b/aafwk/aafwk_standard/amsgetabilityprocessinfo/actsprocessmanagejstest/entry/src/main/config.json new file mode 100644 index 0000000000000000000000000000000000000000..80c1bad19b4a557e124cdca4920acd08a50aa791 --- /dev/null +++ b/aafwk/aafwk_standard/amsgetabilityprocessinfo/actsprocessmanagejstest/entry/src/main/config.json @@ -0,0 +1,107 @@ +{ + "app": { + "bundleName": "com.example.abilityrunninginfostest", + "vendor": "example", + "version": { + "code": 1, + "name": "1.0" + }, + "apiVersion": { + "compatible": 4, + "target": 5, + "releaseType": "Beta1" + } + }, + "deviceConfig": {}, + "module": { + "package": "com.example.abilityrunninginfostest", + "name": ".MyApplication", + "deviceType": [ + "phone" + ], + "distro": { + "deliveryWithInstall": true, + "moduleName": "entry", + "moduleType": "entry" + }, + "abilities": [ + { + "skills": [ + { + "entities": [ + "entity.system.home" + ], + "actions": [ + "action.system.home" + ] + } + ], + "name": "com.example.abilityrunninginfostest.MainAbility", + "icon": "$media:icon", + "description": "$string:mainability_description", + "label": "$string:app_name", + "type": "page", + "launchType": "singleton", + "visible": true + } + ], + "reqPermissions": [ + { + "name":"ohos.permission.GET_BUNDLE_INFO_PRIVILEGED", + "reason":"need use ohos.permission.GET_BUNDLE_INFO_PRIVILEGED" + }, + { + "name":"ohos.permission.GET_BUNDLE_INFO", + "reason":"need use ohos.permission.GET_BUNDLE_INFO" + }, + { + "name":"ohos.permission.CHANGE_ABILITY_ENABLED_STATE", + "reason":"need use ohos.permission.CHANGE_ABILITY_ENABLED_STATE" + }, + { + "name":"ohos.permission.REMOVE_CACHE_FILES", + "reason":"need use ohos.permission.REMOVE_CACHE_FILES" + }, + { + "name":"ohos.permission.LISTEN_BUNDLE_CHANGE", + "reason":"need use ohos.permission.LISTEN_BUNDLE_CHANGE" + }, + { + "name":"ohos.permission.INSTALL_BUNDLE", + "reason":"need use ohos.permission.INSTALL_BUNDLE" + }, + { + "name":"ohos.permission.MANAGE_MISSIONS", + "reason":"need use ohos.permission.MANAGE_MISSIONS" + }, + { + "name":"ohos.permission.GET_RUNNING_INFO", + "reason":"need use ohos.permission.GET_RUNNING_INFO" + }, + { + "name":"ohos.permission.CLEAN_BACKGROUND_PROCESSES", + "reason":"need use ohos.permission.CLEAN_BACKGROUND_PROCESSES" + }, + { + "name":"ohos.permission.CLEAN_APPLICATION_DATA", + "reason":"need use ohos.permission.CLEAN_APPLICATION_DATA" + }, + { + "name": "ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS", + "reason": "need use ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS" + } + ], + "js": [ + { + "pages": [ + "pages/index/index" + ], + "name": "default", + "window": { + "designWidth": 720, + "autoDesignWidth": false + } + } + ] + } +} \ No newline at end of file diff --git a/aafwk/aafwk_standard/amsgetabilityprocessinfo/actsprocessmanagejstest/entry/src/main/js/default/app.js b/aafwk/aafwk_standard/amsgetabilityprocessinfo/actsprocessmanagejstest/entry/src/main/js/default/app.js new file mode 100644 index 0000000000000000000000000000000000000000..042038cfc6360ed972035a85e944904021ffb1d6 --- /dev/null +++ b/aafwk/aafwk_standard/amsgetabilityprocessinfo/actsprocessmanagejstest/entry/src/main/js/default/app.js @@ -0,0 +1,28 @@ +/* + * 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('ActsProcessManageJsTest onCreate'); + }, + onDestroy() { + console.info('ActsProcessManageJsTest onDestroy'); + }, + onShow() { + console.info('ActsProcessManageJsTest onShow'); + }, + onHide() { + console.info('ActsProcessManageJsTest onHide'); + } +}; diff --git a/aafwk/aafwk_standard/amsgetabilityprocessinfo/actsprocessmanagejstest/entry/src/main/js/default/i18n/en-US.json b/aafwk/aafwk_standard/amsgetabilityprocessinfo/actsprocessmanagejstest/entry/src/main/js/default/i18n/en-US.json new file mode 100644 index 0000000000000000000000000000000000000000..e63c70d978a3a53be988388c87182f81785e170c --- /dev/null +++ b/aafwk/aafwk_standard/amsgetabilityprocessinfo/actsprocessmanagejstest/entry/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/aafwk/aafwk_standard/amsgetabilityprocessinfo/actsprocessmanagejstest/entry/src/main/js/default/i18n/zh-CN.json b/aafwk/aafwk_standard/amsgetabilityprocessinfo/actsprocessmanagejstest/entry/src/main/js/default/i18n/zh-CN.json new file mode 100644 index 0000000000000000000000000000000000000000..de6ee5748322f44942c1b003319d8e66c837675f --- /dev/null +++ b/aafwk/aafwk_standard/amsgetabilityprocessinfo/actsprocessmanagejstest/entry/src/main/js/default/i18n/zh-CN.json @@ -0,0 +1,6 @@ +{ + "strings": { + "hello": "您好", + "world": "世界" + } +} \ No newline at end of file diff --git a/aafwk/aafwk_standard/amsgetabilityprocessinfo/actsprocessmanagejstest/entry/src/main/js/default/pages/index/index.css b/aafwk/aafwk_standard/amsgetabilityprocessinfo/actsprocessmanagejstest/entry/src/main/js/default/pages/index/index.css new file mode 100644 index 0000000000000000000000000000000000000000..cfd4c53e39aecb2d83a0fbdec971eca4041c8a3a --- /dev/null +++ b/aafwk/aafwk_standard/amsgetabilityprocessinfo/actsprocessmanagejstest/entry/src/main/js/default/pages/index/index.css @@ -0,0 +1,14 @@ +.container { + flex-direction: column; + justify-content: center; + align-items: center; +} + +.title { + font-size: 100px; +} + +.btn { + width: 200px; + height: 80px; +} diff --git a/aafwk/aafwk_standard/amsgetabilityprocessinfo/actsprocessmanagejstest/entry/src/main/js/default/pages/index/index.hml b/aafwk/aafwk_standard/amsgetabilityprocessinfo/actsprocessmanagejstest/entry/src/main/js/default/pages/index/index.hml new file mode 100644 index 0000000000000000000000000000000000000000..83c5e0fcabbb1d5df26d69f4a5c2031c1e65b70a --- /dev/null +++ b/aafwk/aafwk_standard/amsgetabilityprocessinfo/actsprocessmanagejstest/entry/src/main/js/default/pages/index/index.hml @@ -0,0 +1,6 @@ +
+ + {{ $t('strings.hello') }} {{ title }} + + +
diff --git a/aafwk/aafwk_standard/amsgetabilityprocessinfo/actsprocessmanagejstest/entry/src/main/js/default/pages/index/index.js b/aafwk/aafwk_standard/amsgetabilityprocessinfo/actsprocessmanagejstest/entry/src/main/js/default/pages/index/index.js new file mode 100644 index 0000000000000000000000000000000000000000..ee3a7077b7d52935d3f70b5cb70e38ea9d0e33f1 --- /dev/null +++ b/aafwk/aafwk_standard/amsgetabilityprocessinfo/actsprocessmanagejstest/entry/src/main/js/default/pages/index/index.js @@ -0,0 +1,84 @@ +/* + * 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 { Core, ExpectExtend } from 'deccjsunit/index' + +const injectRef = Object.getPrototypeOf(global) || global +injectRef.regeneratorRuntime = require('@babel/runtime/regenerator') + +export default { + data: { + title: "", + testTime: 0 + }, + onInit() { + console.info('ActsProcessManageJsTest onInit'); + this.title = this.$t('strings.world'); + }, + onShow() { + console.info('ActsProcessManageJsTest onShow'); + console.info('ActsProcessManageJsTest testTime' + this.testTime); + if (this.testTime == 0) { + const core = Core.getInstance() + const expectExtend = new ExpectExtend({ + 'id': 'extend' + }) + core.addService('expect', expectExtend) + core.init() + const configService = core.getDefaultService('config') + this.timeout = 30000; + configService.setConfig(this) + + require('../../../test/List.test') + core.execute() + } + this.testTime++; + }, + onReady() { + console.info('ActsProcessManageJsTest onReady'); + }, + onActive() { + console.info('ActsProcessManageJsTest onActive'); + }, + onInactive() { + console.info('ActsProcessManageJsTest onInactive'); + }, + onHide() { + console.info('ActsProcessManageJsTest onHide'); + }, + onDestroy() { + console.info('ActsProcessManageJsTest onDestroy'); + }, + onBackPress() { + console.info('ActsProcessManageJsTest onBackPress'); + }, + onNewRequest() { + console.info('ActsProcessManageJsTest onNewRequest'); + }, + onStartContinuation() { + console.info('ActsProcessManageJsTest onStartContinuation'); + }, + onSaveData(value) { + console.info('ActsProcessManageJsTest onSaveData:' + JSON.stringify(value)); + }, + onRestoreData(value) { + console.info('ActsProcessManageJsTest onRestoreData:' + JSON.stringify(value)); + }, + onCompleteContinuation(code) { + console.info('ActsProcessManageJsTest onCompleteContinuation:' + JSON.stringify(code)); + }, + onConfigurationUpdated(configuration) { + console.info('ActsProcessManageJsTest onConfigurationUpdated:' + JSON.stringify(configuration)); + } +} diff --git a/aafwk/aafwk_standard/amsgetabilityprocessinfo/actsprocessmanagejstest/entry/src/main/js/resources/base/element/string.json b/aafwk/aafwk_standard/amsgetabilityprocessinfo/actsprocessmanagejstest/entry/src/main/js/resources/base/element/string.json new file mode 100644 index 0000000000000000000000000000000000000000..03574a36c533357eef7fc0acc5e21af14f4e5f67 --- /dev/null +++ b/aafwk/aafwk_standard/amsgetabilityprocessinfo/actsprocessmanagejstest/entry/src/main/js/resources/base/element/string.json @@ -0,0 +1,12 @@ +{ + "string": [ + { + "name": "app_name", + "value": "actsparticleabilitytest" + }, + { + "name": "mainability_description", + "value": "JS_Phone_Empty Feature Ability" + } + ] +} \ No newline at end of file diff --git a/aafwk/aafwk_standard/amsgetabilityprocessinfo/actsprocessmanagejstest/entry/src/main/js/resources/base/media/icon.png b/aafwk/aafwk_standard/amsgetabilityprocessinfo/actsprocessmanagejstest/entry/src/main/js/resources/base/media/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..ce307a8827bd75456441ceb57d530e4c8d45d36c Binary files /dev/null and b/aafwk/aafwk_standard/amsgetabilityprocessinfo/actsprocessmanagejstest/entry/src/main/js/resources/base/media/icon.png differ diff --git a/aafwk/aafwk_standard/amsgetabilityprocessinfo/actsprocessmanagejstest/entry/src/main/js/test/ActsProcessManageJsTest.test.js b/aafwk/aafwk_standard/amsgetabilityprocessinfo/actsprocessmanagejstest/entry/src/main/js/test/ActsProcessManageJsTest.test.js new file mode 100644 index 0000000000000000000000000000000000000000..6e35b0e268777412a295803684ff760f3861a1ca --- /dev/null +++ b/aafwk/aafwk_standard/amsgetabilityprocessinfo/actsprocessmanagejstest/entry/src/main/js/test/ActsProcessManageJsTest.test.js @@ -0,0 +1,108 @@ +/* + * 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 commonEvent from '@ohos.commonevent' +import bundle from '@ohos.bundle' +import missionManager from '@ohos.application.missionManager' +import abilityManager from '@ohos.application.AbilityManager' +import featureAbility from '@ohos.ability.featureAbility' +import appManager from '@ohos.application.AppManager' + +describe('ActsAbilityRunningInfosTest', function () { + + + function checkRunningAbility(name, dataInfo) { + for (let i = 0, len = dataInfo.length; i < len; i++) { + if (dataInfo[i].ability.abilityName == name) { + expect(dataInfo[i].uid).assertLarger(10000); + expect(dataInfo[i].pid).assertLarger(500); + expect(dataInfo[i].startTime).assertLarger(3000); + expect(dataInfo[i].abilityState).assertLarger(0); + return true; + } + } + return false; + } + + function checkRunningProcess(name, dataInfo) { + for (let i = 0, len = dataInfo.length; i < len; i++) { + if (dataInfo[i].processName == name) { + expect(dataInfo[i].uid).assertLarger(2000); + expect(dataInfo[i].pid).assertLarger(500); + return true; + } + } + return false; + } + + /* + * @tc.number: ACTS_getAbilityRunningInfos_0100 + * @tc.name: Application running ability information query + * @tc.desc: Verify applications are started to query getAbilityRunningInfos ability information + * (by promise) + */ + it('ACTS_getAbilityRunningInfos_0100', 0, async function (done) { + console.log('ACTS_getAbilityRunningInfos_0100==== ACTS_getAbilityRunningInfos_0100 ====>' + JSON.stringify(data)) + expect(checkRunningAbility('com.ohos.launcher.MainAbility', data)).assertTrue(); + done(); + }) + + /* + * @tc.number: ACTS_getAbilityRunningInfos_0200 + * @tc.name: Application running ability information query + * @tc.desc: Verify applications are started to query getAbilityRunningInfos ability information + * (by callback) + */ + it('ACTS_getAbilityRunningInfos_0200', 0, async function (done) { + console.log('ACTS_getAbilityRunningInfos_0200===={ + console.info('====> ACTS_getAbilityRunningInfos_0200 ====>' + JSON.stringify(data)) + expect(checkRunningAbility('com.ohos.launcher.MainAbility', data)).assertTrue(); + done(); + }) + }) + + /* + * @tc.number: ACTS_getAbilityRunningInfos_0100 + * @tc.name: Application running ability information query + * @tc.desc: Verify applications are started to query getProcessRunningInfos ability information + * (by promise) + */ + it('ACTS_getProcessRunningInfos_0100', 0, async function (done) { + console.log('ACTS_getProcessRunningInfos_0100==== ACTS_getProcessRunningInfos_0100 ====>' + JSON.stringify(data)) + expect(checkRunningProcess('com.ohos.launcher', data)).assertTrue(); + done(); + }) + + /* + * @tc.number: ACTS_getProcessRunningInfos_0200 + * @tc.name: Application running ability information query + * @tc.desc: Verify applications are started to query getProcessRunningInfos ability information + * (by callback) + */ + it('ACTS_getProcessRunningInfos_0200', 0, async function (done) { + console.log('ACTS_getProcessRunningInfos_0200==== { + console.info('====> ACTS_getProcessRunningInfos_0200 ====>' + JSON.stringify(data)) + expect(checkRunningProcess('com.ohos.launcher', data)).assertTrue(); + done(); + }) + }) +}) diff --git a/aafwk/aafwk_standard/amsgetabilityprocessinfo/actsprocessmanagejstest/entry/src/main/js/test/List.test.js b/aafwk/aafwk_standard/amsgetabilityprocessinfo/actsprocessmanagejstest/entry/src/main/js/test/List.test.js new file mode 100644 index 0000000000000000000000000000000000000000..a7c683b3c0d578297e04ff1d997cf048087eec47 --- /dev/null +++ b/aafwk/aafwk_standard/amsgetabilityprocessinfo/actsprocessmanagejstest/entry/src/main/js/test/List.test.js @@ -0,0 +1,15 @@ +/* + * 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('./ActsProcessManageJsTest.test.js') \ No newline at end of file diff --git a/aafwk/aafwk_standard/amsgetabilityprocessinfo/actsprocessmanagejstest/signature/openharmony_sx.p7b b/aafwk/aafwk_standard/amsgetabilityprocessinfo/actsprocessmanagejstest/signature/openharmony_sx.p7b new file mode 100755 index 0000000000000000000000000000000000000000..cc53179a48f88f20acc379c138a001e9a15838f6 Binary files /dev/null and b/aafwk/aafwk_standard/amsgetabilityprocessinfo/actsprocessmanagejstest/signature/openharmony_sx.p7b differ diff --git a/aafwk/aafwk_standard/amsprocessmanageapi7/BUILD.gn b/aafwk/aafwk_standard/amsprocessmanageapi7/BUILD.gn new file mode 100644 index 0000000000000000000000000000000000000000..b734289749f59db1a6cabdfbe1b17bb35b9486f3 --- /dev/null +++ b/aafwk/aafwk_standard/amsprocessmanageapi7/BUILD.gn @@ -0,0 +1,27 @@ +# 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") + +group("amsprocessmanageapi7") { + testonly = true + if (is_standard_system) { + deps = [ + "actsprocessmanagejstest:ActsAmsProcessManageJsTestApi7", + "pmsystemappa:ActsAmsProcessManageSystemAppAApi7", + "pmsystemappamulti:ActsAmsProcessManageSystemAppAMultiApi7", + "pmsystemappb:ActsAmsProcessManageSystemAppBApi7", + "pmvendorappa:ActsAmsProcessManageVendorAppAApi7", + ] + } +} diff --git a/aafwk/aafwk_standard/amsprocessmanageapi7/actsprocessmanagejstest/BUILD.gn b/aafwk/aafwk_standard/amsprocessmanageapi7/actsprocessmanagejstest/BUILD.gn new file mode 100644 index 0000000000000000000000000000000000000000..8d08bac2de38f6dfab3d9ae8a4f24eb09bcda838 --- /dev/null +++ b/aafwk/aafwk_standard/amsprocessmanageapi7/actsprocessmanagejstest/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("ActsAmsProcessManageJsTestApi7") { + hap_name = "ActsAmsProcessManageJsTestApi7" + hap_profile = "./entry/src/main/config.json" + deps = [ + ":hjs_demo_js_assets", + ":hjs_demo_resources", + ] + certificate_profile = "./signature/openharmony_sx.p7b" +} +ohos_js_assets("hjs_demo_js_assets") { + source_dir = "./entry/src/main/js/default" +} +ohos_resources("hjs_demo_resources") { + sources = [ "./entry/src/main/js/resources" ] + hap_profile = "./entry/src/main/config.json" +} diff --git a/aafwk/aafwk_standard/amsprocessmanageapi7/actsprocessmanagejstest/Test.json b/aafwk/aafwk_standard/amsprocessmanageapi7/actsprocessmanagejstest/Test.json new file mode 100644 index 0000000000000000000000000000000000000000..50d1e3c1426dea433035c4deb62493c82dfc0672 --- /dev/null +++ b/aafwk/aafwk_standard/amsprocessmanageapi7/actsprocessmanagejstest/Test.json @@ -0,0 +1,40 @@ +{ + "description": "Configuration for hjsunit Tests", + "driver": { + "type": "JSUnitTest", + "test-timeout": "300000", + "package": "com.acts.actsprocessmanagejstestapi7", + "shell-timeout": "60000" + }, + "kits": [ + { + "test-file-name": [ + "ActsAmsProcessManageJsTestApi7.hap" + ], + "type": "AppInstallKit", + "cleanup-apps": true + }, + { + "type": "ShellKit", + "run-command": [ + "remount" + ] + }, + { + "type": "PushKit", + "push": [ + "ActsAmsProcessManageSystemAppAApi7.hap->/data/ActsAmsProcessManageSystemAppAApi7.hap", + "ActsAmsProcessManageSystemAppAMultiApi7.hap->/data/ActsAmsProcessManageSystemAppAMultiApi7.hap", + "ActsAmsProcessManageSystemAppBApi7.hap->/data/ActsAmsProcessManageSystemAppBApi7.hap", + "ActsAmsProcessManageVendorAppAApi7.hap->/data/ActsAmsProcessManageVendorAppAApi7.hap" + ] + + }, + { + "type": "ShellKit", + "run-command": [ + "chmod 644 /data/*.hap" + ] + } + ] +} diff --git a/aafwk/aafwk_standard/amsprocessmanageapi7/actsprocessmanagejstest/entry/src/main/config.json b/aafwk/aafwk_standard/amsprocessmanageapi7/actsprocessmanagejstest/entry/src/main/config.json new file mode 100644 index 0000000000000000000000000000000000000000..855dbe43597811e92c08dc2ede36c47298350905 --- /dev/null +++ b/aafwk/aafwk_standard/amsprocessmanageapi7/actsprocessmanagejstest/entry/src/main/config.json @@ -0,0 +1,103 @@ +{ + "app": { + "bundleName": "com.acts.actsprocessmanagejstestapi7", + "vendor": "example", + "version": { + "code": 1, + "name": "1.0" + }, + "apiVersion": { + "compatible": 4, + "target": 5, + "releaseType": "Beta1" + } + }, + "deviceConfig": {}, + "module": { + "package": "com.acts.actsprocessmanagejstestapi7", + "name": ".MyApplication", + "deviceType": [ + "phone" + ], + "distro": { + "deliveryWithInstall": true, + "moduleName": "entry", + "moduleType": "entry" + }, + "abilities": [ + { + "skills": [ + { + "entities": [ + "entity.system.home" + ], + "actions": [ + "action.system.home" + ] + } + ], + "name": "com.acts.actsprocessmanagejstestapi7.MainAbility", + "icon": "$media:icon", + "description": "$string:mainability_description", + "label": "$string:app_name", + "type": "page", + "launchType": "singleton", + "visible": true + } + ], + "reqPermissions": [ + { + "name":"ohos.permission.GET_BUNDLE_INFO_PRIVILEGED", + "reason":"need use ohos.permission.GET_BUNDLE_INFO_PRIVILEGED" + }, + { + "name":"ohos.permission.GET_BUNDLE_INFO", + "reason":"need use ohos.permission.GET_BUNDLE_INFO" + }, + { + "name":"ohos.permission.CHANGE_ABILITY_ENABLED_STATE", + "reason":"need use ohos.permission.CHANGE_ABILITY_ENABLED_STATE" + }, + { + "name":"ohos.permission.REMOVE_CACHE_FILES", + "reason":"need use ohos.permission.REMOVE_CACHE_FILES" + }, + { + "name":"ohos.permission.LISTEN_BUNDLE_CHANGE", + "reason":"need use ohos.permission.LISTEN_BUNDLE_CHANGE" + }, + { + "name":"ohos.permission.INSTALL_BUNDLE", + "reason":"need use ohos.permission.INSTALL_BUNDLE" + }, + { + "name":"ohos.permission.MANAGE_MISSIONS", + "reason":"need use ohos.permission.MANAGE_MISSIONS" + }, + { + "name":"ohos.permission.GET_RUNNING_INFO", + "reason":"need use ohos.permission.GET_RUNNING_INFO" + }, + { + "name":"ohos.permission.CLEAN_BACKGROUND_PROCESSES", + "reason":"need use ohos.permission.CLEAN_BACKGROUND_PROCESSES" + }, + { + "name":"ohos.permission.CLEAN_APPLICATION_DATA", + "reason":"need use ohos.permission.CLEAN_APPLICATION_DATA" + } + ], + "js": [ + { + "pages": [ + "pages/index/index" + ], + "name": "default", + "window": { + "designWidth": 720, + "autoDesignWidth": false + } + } + ] + } +} \ No newline at end of file diff --git a/aafwk/aafwk_standard/amsprocessmanageapi7/actsprocessmanagejstest/entry/src/main/js/default/app.js b/aafwk/aafwk_standard/amsprocessmanageapi7/actsprocessmanagejstest/entry/src/main/js/default/app.js new file mode 100644 index 0000000000000000000000000000000000000000..042038cfc6360ed972035a85e944904021ffb1d6 --- /dev/null +++ b/aafwk/aafwk_standard/amsprocessmanageapi7/actsprocessmanagejstest/entry/src/main/js/default/app.js @@ -0,0 +1,28 @@ +/* + * 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('ActsProcessManageJsTest onCreate'); + }, + onDestroy() { + console.info('ActsProcessManageJsTest onDestroy'); + }, + onShow() { + console.info('ActsProcessManageJsTest onShow'); + }, + onHide() { + console.info('ActsProcessManageJsTest onHide'); + } +}; diff --git a/aafwk/aafwk_standard/amsprocessmanageapi7/actsprocessmanagejstest/entry/src/main/js/default/i18n/en-US.json b/aafwk/aafwk_standard/amsprocessmanageapi7/actsprocessmanagejstest/entry/src/main/js/default/i18n/en-US.json new file mode 100644 index 0000000000000000000000000000000000000000..e63c70d978a3a53be988388c87182f81785e170c --- /dev/null +++ b/aafwk/aafwk_standard/amsprocessmanageapi7/actsprocessmanagejstest/entry/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/aafwk/aafwk_standard/amsprocessmanageapi7/actsprocessmanagejstest/entry/src/main/js/default/i18n/zh-CN.json b/aafwk/aafwk_standard/amsprocessmanageapi7/actsprocessmanagejstest/entry/src/main/js/default/i18n/zh-CN.json new file mode 100644 index 0000000000000000000000000000000000000000..de6ee5748322f44942c1b003319d8e66c837675f --- /dev/null +++ b/aafwk/aafwk_standard/amsprocessmanageapi7/actsprocessmanagejstest/entry/src/main/js/default/i18n/zh-CN.json @@ -0,0 +1,6 @@ +{ + "strings": { + "hello": "您好", + "world": "世界" + } +} \ No newline at end of file diff --git a/aafwk/aafwk_standard/amsprocessmanageapi7/actsprocessmanagejstest/entry/src/main/js/default/pages/index/index.css b/aafwk/aafwk_standard/amsprocessmanageapi7/actsprocessmanagejstest/entry/src/main/js/default/pages/index/index.css new file mode 100644 index 0000000000000000000000000000000000000000..cfd4c53e39aecb2d83a0fbdec971eca4041c8a3a --- /dev/null +++ b/aafwk/aafwk_standard/amsprocessmanageapi7/actsprocessmanagejstest/entry/src/main/js/default/pages/index/index.css @@ -0,0 +1,14 @@ +.container { + flex-direction: column; + justify-content: center; + align-items: center; +} + +.title { + font-size: 100px; +} + +.btn { + width: 200px; + height: 80px; +} diff --git a/aafwk/aafwk_standard/amsprocessmanageapi7/actsprocessmanagejstest/entry/src/main/js/default/pages/index/index.hml b/aafwk/aafwk_standard/amsprocessmanageapi7/actsprocessmanagejstest/entry/src/main/js/default/pages/index/index.hml new file mode 100644 index 0000000000000000000000000000000000000000..83c5e0fcabbb1d5df26d69f4a5c2031c1e65b70a --- /dev/null +++ b/aafwk/aafwk_standard/amsprocessmanageapi7/actsprocessmanagejstest/entry/src/main/js/default/pages/index/index.hml @@ -0,0 +1,6 @@ +
+ + {{ $t('strings.hello') }} {{ title }} + + +
diff --git a/aafwk/aafwk_standard/amsprocessmanageapi7/actsprocessmanagejstest/entry/src/main/js/default/pages/index/index.js b/aafwk/aafwk_standard/amsprocessmanageapi7/actsprocessmanagejstest/entry/src/main/js/default/pages/index/index.js new file mode 100644 index 0000000000000000000000000000000000000000..ee3a7077b7d52935d3f70b5cb70e38ea9d0e33f1 --- /dev/null +++ b/aafwk/aafwk_standard/amsprocessmanageapi7/actsprocessmanagejstest/entry/src/main/js/default/pages/index/index.js @@ -0,0 +1,84 @@ +/* + * 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 { Core, ExpectExtend } from 'deccjsunit/index' + +const injectRef = Object.getPrototypeOf(global) || global +injectRef.regeneratorRuntime = require('@babel/runtime/regenerator') + +export default { + data: { + title: "", + testTime: 0 + }, + onInit() { + console.info('ActsProcessManageJsTest onInit'); + this.title = this.$t('strings.world'); + }, + onShow() { + console.info('ActsProcessManageJsTest onShow'); + console.info('ActsProcessManageJsTest testTime' + this.testTime); + if (this.testTime == 0) { + const core = Core.getInstance() + const expectExtend = new ExpectExtend({ + 'id': 'extend' + }) + core.addService('expect', expectExtend) + core.init() + const configService = core.getDefaultService('config') + this.timeout = 30000; + configService.setConfig(this) + + require('../../../test/List.test') + core.execute() + } + this.testTime++; + }, + onReady() { + console.info('ActsProcessManageJsTest onReady'); + }, + onActive() { + console.info('ActsProcessManageJsTest onActive'); + }, + onInactive() { + console.info('ActsProcessManageJsTest onInactive'); + }, + onHide() { + console.info('ActsProcessManageJsTest onHide'); + }, + onDestroy() { + console.info('ActsProcessManageJsTest onDestroy'); + }, + onBackPress() { + console.info('ActsProcessManageJsTest onBackPress'); + }, + onNewRequest() { + console.info('ActsProcessManageJsTest onNewRequest'); + }, + onStartContinuation() { + console.info('ActsProcessManageJsTest onStartContinuation'); + }, + onSaveData(value) { + console.info('ActsProcessManageJsTest onSaveData:' + JSON.stringify(value)); + }, + onRestoreData(value) { + console.info('ActsProcessManageJsTest onRestoreData:' + JSON.stringify(value)); + }, + onCompleteContinuation(code) { + console.info('ActsProcessManageJsTest onCompleteContinuation:' + JSON.stringify(code)); + }, + onConfigurationUpdated(configuration) { + console.info('ActsProcessManageJsTest onConfigurationUpdated:' + JSON.stringify(configuration)); + } +} diff --git a/aafwk/aafwk_standard/amsprocessmanageapi7/actsprocessmanagejstest/entry/src/main/js/resources/base/element/string.json b/aafwk/aafwk_standard/amsprocessmanageapi7/actsprocessmanagejstest/entry/src/main/js/resources/base/element/string.json new file mode 100644 index 0000000000000000000000000000000000000000..03574a36c533357eef7fc0acc5e21af14f4e5f67 --- /dev/null +++ b/aafwk/aafwk_standard/amsprocessmanageapi7/actsprocessmanagejstest/entry/src/main/js/resources/base/element/string.json @@ -0,0 +1,12 @@ +{ + "string": [ + { + "name": "app_name", + "value": "actsparticleabilitytest" + }, + { + "name": "mainability_description", + "value": "JS_Phone_Empty Feature Ability" + } + ] +} \ No newline at end of file diff --git a/aafwk/aafwk_standard/amsprocessmanageapi7/actsprocessmanagejstest/entry/src/main/js/resources/base/media/icon.png b/aafwk/aafwk_standard/amsprocessmanageapi7/actsprocessmanagejstest/entry/src/main/js/resources/base/media/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..ce307a8827bd75456441ceb57d530e4c8d45d36c Binary files /dev/null and b/aafwk/aafwk_standard/amsprocessmanageapi7/actsprocessmanagejstest/entry/src/main/js/resources/base/media/icon.png differ diff --git a/aafwk/aafwk_standard/amsprocessmanageapi7/actsprocessmanagejstest/entry/src/main/js/test/ActsProcessManageJsTest.test.js b/aafwk/aafwk_standard/amsprocessmanageapi7/actsprocessmanagejstest/entry/src/main/js/test/ActsProcessManageJsTest.test.js new file mode 100644 index 0000000000000000000000000000000000000000..caf6ec1f857efbdde273a31051dc1940feca865c --- /dev/null +++ b/aafwk/aafwk_standard/amsprocessmanageapi7/actsprocessmanagejstest/entry/src/main/js/test/ActsProcessManageJsTest.test.js @@ -0,0 +1,1415 @@ +/* + * 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 commonEvent from "@ohos.commonevent" +import abilitymanager from '@ohos.app.abilitymanager' +import abilityManager from '@ohos.application.appManager' +import missionmanager from '@ohos.application.missionManager' +import featureAbility from '@ohos.ability.featureAbility' +import file from '@system.file' +import bundle from '@ohos.bundle' +import { describe, beforeAll, beforeEach, afterEach, afterAll, it, expect } from 'deccjsunit/index' + +const BUNDLE_PATHS = [['/data/ActsAmsProcessManageSystemAppAApi7.hap', '/data/ActsAmsProcessManageSystemAppAMultiApi7.hap'], +['/data/ActsAmsProcessManageSystemAppBApi7.hap'], +['/data/ActsAmsProcessManageVendorAppAApi7.hap']]; +const BUNDLE_NAMES = ['com.acts.pmsystemappaapi7', + 'com.acts.pmsystemappbapi7', + 'com.acts.pmvendorappaapi7']; +const PATHS_COUNT = 3; +const BUNDLE_COUNT = 3; + +var subscribeInfo = { + events: [ + "event_from_ProcessManage_SystemAppA", + "event_from_ProcessManage_VendorAppA" + ], +}; +var eventFromSystemA = "event_from_ProcessManage_SystemAppA"; +var eventFromVendorA = "event_from_ProcessManage_VendorAppA"; + +var systemABundleName = "com.acts.pmsystemappaapi7"; +var systemAMultiBundleName = "com.acts.pmsystemappamultiapi7"; +var systemBBundleName = "com.acts.pmsystemappbapi7"; +var vendorABundleName = "com.acts.pmvendorappaapi7"; +var vendorServiceBundleName = "com.acts.pmvendorappserviceapi7"; +var systemAAbilityName = "com.acts.pmsystemappaapi7.MainAbility"; +var systemBAbilityName = "com.acts.pmsystemappbapi7.MainAbility"; +var vendorAAbilityName = "com.acts.pmvendorappaapi7.MainAbility"; +var systemAMultiAbilityName = "com.acts.pmsystemappamultiapi7.MainAbility"; +var vendorServiceAbilityName = "com.acts.pmvendorappserviceapi7.ServiceAbility"; + +var systemAProcessName = systemABundleName; +var systemAMultiProcessName = systemAMultiBundleName; +var systemBProcessName = systemBBundleName; +var vendorAProcessName = vendorABundleName; +var uriSystemA = 'internal://cache/../../com.acts.pmsystemappaapi7/'; +var uriSystemB = 'internal://cache/../../com.acts.pmsystemappbapi7/'; +var uriVendorA = 'internal://cache/../../com.acts.pmvendorappaapi7/'; + +describe('ActsAmsProcessManageJsTestApi7', function () { + + beforeEach(async (done) => { + await clearMissionId(); + setTimeout(async function () { + try { + let installer = await bundle.getBundleInstaller(); + console.log('======>ACTS_ProcessManage beforeEach installer<=======' + JSON.stringify(installer)); + var count = 0; + for (let i = 0; i < PATHS_COUNT; i++) { + installer.install(BUNDLE_PATHS[i], { + userId: 100, + installFlag: 1, + isKeepData: false + }, (err, data) => { + count++; + console.log('======>ACTS_ProcessManage beforeEach install finish<=======' + err.code); + console.log('======>ACTS_ProcessManage beforeEach install finish<=======' + data.status); + console.log('======>ACTS_ProcessManage beforeEach install finish<=======' + data.statusMessage); + if (count == PATHS_COUNT) { + done(); + } + }) + } + } catch (err) { + console.log('======>ACTS_ProcessManage beforeEach err<=======' + err); + } + }, 500); + }) + + afterEach(async (done) => { + setTimeout(async function () { + let installer = await bundle.getBundleInstaller(); + var count = 0; + var testMissionId; + + testMissionId = await getMissionId(); + console.log('======>ACTS_ProcessManage afterEach testMissionId<=======' + testMissionId); + await missionmanager.moveMissionToFront(testMissionId); + + for (let i = 0; i < BUNDLE_COUNT; i++) { + installer.uninstall(BUNDLE_NAMES[i], { + userId: 100, + installFlag: 1, + isKeepData: false + }, (err, data) => { + count++; + console.log('======>ACTS_ProcessManage afterEach uninstall finish<=======' + err.code); + console.log('======>ACTS_ProcessManage afterEach uninstall finish<=======' + data.status); + console.log('======>ACTS_ProcessManage afterEach uninstall finish<=======' + data.statusMessage); + if (count == BUNDLE_COUNT) { + done(); + } + }) + } + }, 500); + }) + + function getMissionId() { + return new Promise(async (resolve, reject) => { + var numMax = 1024; + var missionId = -1; + var missionInfos = await missionmanager.getMissionInfos('', numMax); + for (let i = 0; i < missionInfos.length; i++) { + console.log('getMissionId result: ' + i + '= ' + JSON.stringify(missionInfos[i])) + if ((missionInfos[i].want.abilityName == "com.acts.actsprocessmanagejstestapi7.MainAbility") && + (missionInfos[i].runningState == 0)) { + missionId = missionInfos[i].missionId; + break; + } + } + console.log('======>getMissionId resolve missionId<=======' + missionId); + resolve(missionId); + }) + } + + function clearMissionId() { + return new Promise(async (resolve, reject) => { + var numMax = 1024; + var missionInfos = await missionmanager.getMissionInfos('', numMax); + for (let i = 0; i < missionInfos.length; i++) { + if ((missionInfos[i].want.bundleName == systemABundleName) || + (missionInfos[i].want.bundleName == systemBBundleName) || + (missionInfos[i].want.bundleName == vendorABundleName) || + (missionInfos[i].want.bundleName == vendorServiceBundleName)) { + missionmanager.clearMission(missionInfos[i].missionId, (err, data) => { + console.debug("====>ACTS_ProcessManage clearMission id:" + missionInfos[i].missionId); + }); + } + } + console.log('======>ACTS_ProcessManage clearMission finish<======='); + resolve(); + }) + } + + + function checkPromiseExistDelay(processName) { + return new Promise(async (resolve, reject) => { + setTimeout(async function () { + try { + var processInfos = await abilitymanager.getActiveProcessInfos(); + console.debug("====>ACTS_ProcessManage checkPromiseExistDelay processInfos====>" + + JSON.stringify(processInfos)); + resolve(checkProcessExistInInfos(processInfos, processName)); + } catch (err) { + onsole.debug("====>ACTS_ProcessManage checkPromiseExistDelay err====>" + + JSON.stringify(err)); + } + }, 2000); + }); + } + + function checkProcessExistInInfos(processInfos, processName) { + for (var i = 0; i < processInfos.length; i++) { + if (processInfos[i].processName == processName) { + return true; + } + } + return false; + } + + function checkPromiseMissionExistDelay(abilityName) { + var numMax = 1024; + + return new Promise(async (resolve, reject) => { + try { + var missionInfos = await missionmanager.getMissionInfos('', numMax); + console.debug("====>ACTS_ProcessManage checkPromiseMissionExistDelay missionInfos====>" + + JSON.stringify(missionInfos)); + resolve(checkMissionExistInInfos(missionInfos, abilityName)); + } catch (err) { + onsole.debug("====>ACTS_ProcessManage checkPromiseMissionExistDelay err====>" + + JSON.stringify(err)); + } + }); + } + + function checkMissionExistInInfos(missionInfos, abilityName) { + for (var i = 0; i < missionInfos.length; i++) { + if ((missionInfos[i].want.abilityName == abilityName) && (missionInfos[i].runningState == 0)) { + return true; + } + } + return false; + } + + function getAppDataPathFileNums(uri, callBack) { + setTimeout(async function () { + + file.list({ + uri: uri, + success: function (data) { + console.log('====>ActsProcessManageJsTest call list success data ====>' + JSON.stringify(data)); + callBack(null, data.fileList.length); + }, + fail: function (data, code) { + callBack(data, null); + console.log('call list failed, code: ' + code + ', data: ' + data); + }, + }); + }, 2000); + } + + /* + * @tc.number: ACTS_ProcessManage_killProcessesByBundleName_0100 + * @tc.name: The system application stops itself + * @tc.desc: Check the process was killed (by promise) + */ + it('ACTS_ProcessManage_killProcessesByBundleName_0100', 0, async function (done) { + console.log('ACTS_ProcessManage_killProcessesByBundleName_0100 begin'); + + await featureAbility.startAbility( + { + want: + { + bundleName: systemABundleName, + abilityName: systemAAbilityName, + action: "promiseKill", + parameters: { + testTarget: systemABundleName + } + }, + } + ); + + setTimeout(async function () { + var processexist = await checkPromiseExistDelay(systemAProcessName); + console.debug("====>ACTS_ProcessManage_killProcessesByBundleName_0100 processexist:====>" + + JSON.stringify(processexist)); + expect(processexist).assertEqual(false); + + var missionexist = await checkPromiseMissionExistDelay(systemAAbilityName) + console.debug("====>ACTS_ProcessManage_killProcessesByBundleName_0100 missionexist:====>" + + JSON.stringify(missionexist)); + expect(missionexist).assertEqual(false); + + console.log('ACTS_ProcessManage_killProcessesByBundleName_0100 end'); + done(); + }, 4000); + }) + + /* + * @tc.number: ACTS_ProcessManage_killProcessesByBundleName_0200 + * @tc.name: The system application stops other system application + * @tc.desc: Check the process was killed (by promise) + */ + it('ACTS_ProcessManage_killProcessesByBundleName_0200', 0, async function (done) { + console.log('ACTS_ProcessManage_killProcessesByBundleName_0200 begin'); + var subscriber; + + await featureAbility.startAbility( + { + want: + { + bundleName: systemABundleName, + abilityName: systemAAbilityName, + action: "promiseKill", + parameters: { + testTarget: systemBBundleName + } + }, + }, (error, data) => { + console.log('ACTS_ProcessManage_killProcessesByBundleName_0200 - startAbility: ' + + JSON.stringify(error) + ", " + JSON.stringify(data)) + } + ); + await commonEvent.createSubscriber(subscribeInfo).then(async (data) => { + console.debug("====>ACTS_ProcessManage_killProcessesByBundleName_0200 Create Subscriber data====>" + + data); + subscriber = data; + console.debug("====>ACTS_ProcessManage_killProcessesByBundleName_0200 subscriber====>" + + JSON.stringify(subscriber)); + await commonEvent.subscribe(subscriber, subscribeCallBack); + }); + async function subscribeCallBack(err, data) { + console.debug("====>ACTS_ProcessManage_killProcessesByBundleName_0200 Subscribe CallBack data:====>" + + JSON.stringify(data)); + expect(data.event).assertEqual(eventFromSystemA); + expect(data.data).assertEqual('0'); + commonEvent.unsubscribe(subscriber, unSubscribeCallback); + + } + async function unSubscribeCallback() { + console.debug("====>ACTS_ProcessManage_killProcessesByBundleName_0200 UnSubscribe CallBack====>"); + var processexist = await checkPromiseExistDelay(systemBProcessName); + console.debug("====>ACTS_ProcessManage_killProcessesByBundleName_0200 processexist:====>" + + JSON.stringify(processexist)); + expect(processexist).assertEqual(false); + + var missionexist = await checkPromiseMissionExistDelay(systemBAbilityName) + console.debug("====>ACTS_ProcessManage_killProcessesByBundleName_0200 missionexist:====>" + + JSON.stringify(missionexist)); + expect(missionexist).assertEqual(false); + + console.log('ACTS_ProcessManage_killProcessesByBundleName_0200 end'); + done(); + } + }) + + /* + * @tc.number: ACTS_ProcessManage_killProcessesByBundleName_0300 + * @tc.name: The system application stops third-party application + * @tc.desc: Check the process was killed (by promise) + */ + it('ACTS_ProcessManage_killProcessesByBundleName_0300', 0, async function (done) { + console.log('ACTS_ProcessManage_killProcessesByBundleName_0300 begin'); + var subscriber; + + await featureAbility.startAbility( + { + want: + { + bundleName: systemABundleName, + abilityName: systemAAbilityName, + action: "promiseKill", + parameters: { + testTarget: vendorABundleName + } + }, + } + ); + await commonEvent.createSubscriber(subscribeInfo).then(async (data) => { + console.debug("====>ACTS_ProcessManage_killProcessesByBundleName_0300 Create Subscriber data====>" + + data); + subscriber = data; + console.debug("====>ACTS_ProcessManage_killProcessesByBundleName_0300 subscriber====>" + + JSON.stringify(subscriber)); + await commonEvent.subscribe(subscriber, subscribeCallBack); + }); + async function subscribeCallBack(err, data) { + console.debug("====>ACTS_ProcessManage_killProcessesByBundleName_0300 Subscribe CallBack data:====>" + + JSON.stringify(data)); + expect(data.event).assertEqual(eventFromSystemA); + expect(data.data).assertEqual('0'); + commonEvent.unsubscribe(subscriber, unSubscribeCallback); + } + + async function unSubscribeCallback() { + console.debug("====>ACTS_ProcessManage_killProcessesByBundleName_0300 UnSubscribe CallBack====>"); + var processexist = await checkPromiseExistDelay(vendorAProcessName); + console.debug("====>ACTS_ProcessManage_killProcessesByBundleName_0300 processexist:====>" + + JSON.stringify(processexist)); + expect(processexist).assertEqual(false); + + var missionexist = await checkPromiseMissionExistDelay(vendorAAbilityName) + console.debug("====>ACTS_ProcessManage_killProcessesByBundleName_0300 missionexist:====>" + + JSON.stringify(missionexist)); + expect(missionexist).assertEqual(false); + + console.log('ACTS_ProcessManage_killProcessesByBundleName_0300 end'); + done(); + } + }) + + /* + * @tc.number: ACTS_ProcessManage_killProcessesByBundleName_0400 + * @tc.name: The system application stops multiprocess application + * @tc.desc: Check the process was killed (by promise) + */ + it('ACTS_ProcessManage_killProcessesByBundleName_0400', 0, async function (done) { + console.log('ACTS_ProcessManage_killProcessesByBundleName_0400 begin'); + var flagProcessA = 0; + var flagProcessAMulti = 0; + var flagMissionA = 0; + var flagMissionAMulti = 0; + var numMax = 1024; + + await featureAbility.startAbility( + { + want: + { + bundleName: systemABundleName, + abilityName: systemAAbilityName, + action: "promiseKill", + parameters: { + testTarget: systemAMultiAbilityName + } + }, + } + ); + setTimeout(async function () { + + var processInfos = await abilitymanager.getActiveProcessInfos(); + console.debug("====>ACTS_ProcessManage_killProcessesByBundleName_0400 processInfos====>" + + JSON.stringify(processInfos)); + for (var i = 0; i < processInfos.length; i++) { + if (processInfos[i].processName == systemAProcessName) { + flagProcessA++; + } + if (processInfos[i].processName == systemAMultiProcessName) { + flagProcessAMulti++; + } + } + console.debug("====>ACTS_ProcessManage_killProcessesByBundleName_0400 flagProcessA====>" + + JSON.stringify(flagProcessA)); + console.debug("====>ACTS_ProcessManage_killProcessesByBundleName_0400 flagProcessAMulti====>" + + JSON.stringify(flagProcessAMulti)); + expect(flagProcessA).assertEqual(0); + expect(flagProcessAMulti).assertEqual(0); + + var missionInfos = await missionmanager.getMissionInfos('', numMax); + console.debug("====>ACTS_ProcessManage checkPromiseMissionExistDelay missionInfos====>" + + JSON.stringify(missionInfos)); + for (var i = 0; i < missionInfos.length; i++) { + + if ((missionInfos[i].want.abilityName == systemAAbilityName) + && (missionInfos[i].runningState == 0)) { + flagMissionA++; + } + if ((missionInfos[i].want.abilityName == systemAMultiAbilityName) + && (missionInfos[i].runningState == 0)) { + flagMissionAMulti++; + } + } + console.debug("====>ACTS_ProcessManage_killProcessesByBundleName_0400 flagMissionA====>" + + JSON.stringify(flagMissionA)); + console.debug("====>ACTS_ProcessManage_killProcessesByBundleName_0400 flagMissionAMulti====>" + + JSON.stringify(flagMissionAMulti)); + expect(flagMissionA).assertEqual(0); + expect(flagMissionAMulti).assertEqual(0); + + console.log('ACTS_ProcessManage_killProcessesByBundleName_0400 end'); + done(); + }, 4000); + }) + + /* + * @tc.number: ACTS_ProcessManage_killProcessesByBundleName_0500 + * @tc.name: The system application stops itself + * @tc.desc: Check the process was killed (by AsyncCallback) + */ + it('ACTS_ProcessManage_killProcessesByBundleName_0500', 0, async function (done) { + console.log('ACTS_ProcessManage_killProcessesByBundleName_0500 begin'); + await featureAbility.startAbility( + { + want: + { + bundleName: systemABundleName, + abilityName: systemAAbilityName, + action: "asyncKill", + parameters: { + testTarget: systemABundleName + } + }, + } + ); + setTimeout(async function () { + var processexist = await checkPromiseExistDelay(systemAProcessName); + console.debug("====>ACTS_ProcessManage_killProcessesByBundleName_0500 processexist:====>" + + JSON.stringify(processexist)); + expect(processexist).assertEqual(false); + + var missionexist = await checkPromiseMissionExistDelay(systemAAbilityName) + console.debug("====>ACTS_ProcessManage_killProcessesByBundleName_0500 missionexist:====>" + + JSON.stringify(missionexist)); + expect(missionexist).assertEqual(false); + + console.log('ACTS_ProcessManage_killProcessesByBundleName_0500 end'); + done(); + }, 4000); + }) + + /* + * @tc.number: ACTS_ProcessManage_killProcessesByBundleName_0600 + * @tc.name: The system application stops other system application + * @tc.desc: Check the process was killed (by AsyncCallback) + */ + it('ACTS_ProcessManage_killProcessesByBundleName_0600', 0, async function (done) { + console.log('ACTS_ProcessManage_killProcessesByBundleName_0600 begin'); + var subscriber; + + await featureAbility.startAbility( + { + want: + { + bundleName: systemABundleName, + abilityName: systemAAbilityName, + action: "asyncKill", + parameters: { + testTarget: systemBBundleName + } + }, + } + ); + await commonEvent.createSubscriber(subscribeInfo).then(async (data) => { + console.debug("====>ACTS_ProcessManage_killProcessesByBundleName_0600 Create Subscriber data====>" + + data); + subscriber = data; + console.debug("====>ACTS_ProcessManage_killProcessesByBundleName_0600 subscriber====>" + + JSON.stringify(subscriber)); + await commonEvent.subscribe(subscriber, subscribeCallBack); + }); + async function subscribeCallBack(err, data) { + console.debug("====>ACTS_ProcessManage_killProcessesByBundleName_0600 Subscribe CallBack data:====>" + + JSON.stringify(data)); + expect(data.event).assertEqual(eventFromSystemA); + expect(data.data).assertEqual('0'); + commonEvent.unsubscribe(subscriber, unSubscribeCallback); + + } + + async function unSubscribeCallback() { + console.debug("====>ACTS_ProcessManage_killProcessesByBundleName_0600 UnSubscribe CallBack====>"); + var processexist = await checkPromiseExistDelay(systemBProcessName); + console.debug("====>ACTS_ProcessManage_killProcessesByBundleName_0600 processexist:====>" + + JSON.stringify(processexist)); + expect(processexist).assertEqual(false); + + var missionexist = await checkPromiseMissionExistDelay(systemBAbilityName) + console.debug("====>ACTS_ProcessManage_killProcessesByBundleName_0600 missionexist:====>" + + JSON.stringify(missionexist)); + expect(missionexist).assertEqual(false); + + console.log('ACTS_ProcessManage_killProcessesByBundleName_0600 end'); + done(); + } + }) + + /* + * @tc.number: ACTS_ProcessManage_killProcessesByBundleName_0700 + * @tc.name: The system application stops third-party application + * @tc.desc: Check the process was killed (by AsyncCallback) + */ + it('ACTS_ProcessManage_killProcessesByBundleName_0700', 0, async function (done) { + console.log('ACTS_ProcessManage_killProcessesByBundleName_0700 begin'); + var subscriber; + + await featureAbility.startAbility( + { + want: + { + bundleName: systemABundleName, + abilityName: systemAAbilityName, + action: "asyncKill", + parameters: { + testTarget: vendorABundleName + } + }, + } + ); + await commonEvent.createSubscriber(subscribeInfo).then(async (data) => { + console.debug("====>ACTS_ProcessManage_killProcessesByBundleName_0700 Create Subscriber data====>" + + data); + subscriber = data; + console.debug("====>ACTS_ProcessManage_killProcessesByBundleName_0700 subscriber====>" + + JSON.stringify(subscriber)); + await commonEvent.subscribe(subscriber, subscribeCallBack); + }); + async function subscribeCallBack(err, data) { + console.debug("====>ACTS_ProcessManage_killProcessesByBundleName_0700 Subscribe CallBack data:====>" + + JSON.stringify(data)); + expect(data.event).assertEqual(eventFromSystemA); + expect(data.data).assertEqual('0'); + commonEvent.unsubscribe(subscriber, unSubscribeCallback); + + } + + async function unSubscribeCallback() { + console.debug("====>ACTS_ProcessManage_killProcessesByBundleName_0700 UnSubscribe CallBack====>"); + var processexist = await checkPromiseExistDelay(vendorAProcessName); + console.debug("====>ACTS_ProcessManage_killProcessesByBundleName_0700 processexist:====>" + + JSON.stringify(processexist)); + expect(processexist).assertEqual(false); + + var missionexist = await checkPromiseMissionExistDelay(vendorAAbilityName) + console.debug("====>ACTS_ProcessManage_killProcessesByBundleName_0700 missionexist:====>" + + JSON.stringify(missionexist)); + expect(missionexist).assertEqual(false); + + console.log('ACTS_ProcessManage_killProcessesByBundleName_0700 end'); + done(); + + } + }) + + /* + * @tc.number: ACTS_ProcessManage_killProcessesByBundleName_0800 + * @tc.name: The system application stops multiprocess application + * @tc.desc: Check the process was killed (by AsyncCallback) + */ + it('ACTS_ProcessManage_killProcessesByBundleName_0800', 0, async function (done) { + console.log('ACTS_ProcessManage_killProcessesByBundleName_0800 begin'); + var flagProcessA = 0; + var flagProcessAMulti = 0; + var flagMissionA = 0; + var flagMissionAMulti = 0; + var numMax = 1024; + + await featureAbility.startAbility( + { + want: + { + bundleName: systemABundleName, + abilityName: systemAAbilityName, + action: "asyncKill", + parameters: { + testTarget: systemAMultiAbilityName + } + }, + } + ); + setTimeout(async function () { + + var processInfos = await abilitymanager.getActiveProcessInfos(); + console.debug("====>ACTS_ProcessManage_killProcessesByBundleName_0800 processInfos====>" + + JSON.stringify(processInfos)); + for (var i = 0; i < processInfos.length; i++) { + if (processInfos[i].processName == systemAProcessName) { + flagProcessA++; + } + if (processInfos[i].processName == systemAMultiProcessName) { + flagProcessAMulti++; + } + } + console.debug("====>ACTS_ProcessManage_killProcessesByBundleName_0800 flagProcessA====>" + + JSON.stringify(flagProcessA)); + console.debug("====>ACTS_ProcessManage_killProcessesByBundleName_0800 flagProcessAMulti====>" + + JSON.stringify(flagProcessAMulti)); + expect(flagProcessA).assertEqual(0); + expect(flagProcessAMulti).assertEqual(0); + + var missionInfos = await missionmanager.getMissionInfos('', numMax); + console.debug("====>ACTS_ProcessManage ACTS_ProcessManage_killProcessesByBundleName_0800 missionInfos====>" + + JSON.stringify(missionInfos)); + for (var i = 0; i < missionInfos.length; i++) { + + if ((missionInfos[i].want.abilityName == systemAAbilityName) + && (missionInfos[i].runningState == 0)) { + flagMissionA++; + } + if ((missionInfos[i].want.abilityName == systemAMultiAbilityName) + && (missionInfos[i].runningState == 0)) { + flagMissionAMulti++; + } + } + console.debug("====>ACTS_ProcessManage_killProcessesByBundleName_0800 flagMissionA====>" + + JSON.stringify(flagMissionA)); + console.debug("====>ACTS_ProcessManage_killProcessesByBundleName_0800 flagMissionAMulti====>" + + JSON.stringify(flagMissionAMulti)); + expect(flagMissionA).assertEqual(0); + expect(flagMissionAMulti).assertEqual(0); + + console.log('ACTS_ProcessManage_killProcessesByBundleName_0800 end'); + done(); + }, 4000); + + }) + + + /* + * @tc.number: ACTS_ProcessManage_killProcessesByBundleName_0900 + * @tc.name: Parameter is null + * @tc.desc: Check the result is OK (by promise) + */ + it('ACTS_ProcessManage_killProcessesByBundleName_0900', 0, async function (done) { + + console.log('ACTS_ProcessManage_killProcessesByBundleName_0900 begin'); + try { + var result = await abilityManager.killProcessesByBundleName(null); + console.debug("====>ACTS_ProcessManage_killProcessesByBundleName_0900 null result:====>" + + JSON.stringify(result)); + expect(result == 0).assertEqual(false); + console.log('ACTS_ProcessManage_killProcessesByBundleName_0900 end'); + done(); + } + catch (err) { + console.debug("====>ACTS_ProcessManage_killProcessesByBundleName_0900 err:====>" + + JSON.stringify(err)); + done(); + } + }) + + + /* + * @tc.number: ACTS_ProcessManage_killProcessesByBundleName_1000 + * @tc.name: Parameter is '' + * @tc.desc: Check the result is OK (by promise) + */ + it('ACTS_ProcessManage_killProcessesByBundleName_1000', 0, async function (done) { + + console.log('ACTS_ProcessManage_killProcessesByBundleName_1000 begin'); + try { + var result = await abilityManager.killProcessesByBundleName(''); + console.debug("====>ACTS_ProcessManage_killProcessesByBundleName_1000 '' result:====>" + + JSON.stringify(result)); + expect(result).assertEqual(2097215); + console.log('ACTS_ProcessManage_killProcessesByBundleName_1000 end'); + done(); + } + catch (err) { + console.debug("====>ACTS_ProcessManage_killProcessesByBundleName_1000 err:====>" + + JSON.stringify(err)); + done(); + } + }) + + /* + * @tc.number: ACTS_ProcessManage_killProcessesByBundleName_1100 + * @tc.name: Parameter is undefined + * @tc.desc: Check the result is OK (by promise) + */ + it('ACTS_ProcessManage_killProcessesByBundleName_1100', 0, async function (done) { + console.log('ACTS_ProcessManage_killProcessesByBundleName_1100 begin'); + try { + var result = await abilityManager.killProcessesByBundleName(undefined); + console.debug("====>ACTS_ProcessManage_killProcessesByBundleName_1100 undefined result:====>" + + JSON.stringify(result)); + expect(result == 0).assertEqual(false); + console.log('ACTS_ProcessManage_killProcessesByBundleName_1100 end'); + done(); + } + catch (err) { + console.debug("====>ACTS_ProcessManage_killProcessesByBundleName_1100 err:====>" + + JSON.stringify(err)); + done(); + } + }) + + /* + * @tc.number: ACTS_ProcessManage_killProcessesByBundleName_1200 + * @tc.name: Stop an application that doesn't exist + * @tc.desc: Check the result is OK (by promise) + */ + it('ACTS_ProcessManage_killProcessesByBundleName_1200', 0, async function (done) { + console.log('ACTS_ProcessManage_killProcessesByBundleName_1200 begin'); + try { + var result = await abilityManager.killProcessesByBundleName("aa.bb.notExist"); + console.debug("====>ACTS_ProcessManage_killProcessesByBundleName_1200 aa.bb.notExist result:====>" + + JSON.stringify(result)); + expect(result).assertEqual(2097215); + console.log('ACTS_ProcessManage_killProcessesByBundleName_1200 end'); + done(); + } + catch (err) { + console.debug("====>ACTS_ProcessManage_killProcessesByBundleName_1200 err:====>" + + JSON.stringify(err)); + done(); + } + }) + + /* + * @tc.number: ACTS_ProcessManage_killProcessesByBundleName_1300 + * @tc.name: Stop an application that exists but is not started + * @tc.desc: Check the result is OK (by promise) + */ + it('ACTS_ProcessManage_killProcessesByBundleName_1300', 0, async function (done) { + console.log('ACTS_ProcessManage_killProcessesByBundleName_1300 begin'); + try { + var result = await abilityManager.killProcessesByBundleName(systemABundleName); + console.debug("====>ACTS_ProcessManage_killProcessesByBundleName_1300 without runnning result:====>" + + JSON.stringify(result)); + expect(result).assertEqual(0); + console.log('ACTS_ProcessManage_killProcessesByBundleName_1300 end'); + done(); + } + catch (err) { + console.debug("====>ACTS_ProcessManage_killProcessesByBundleName_1300 err:====>" + + JSON.stringify(err)); + done(); + } + }) + + + /* + * @tc.number: ACTS_ProcessManage_clearUpApplicationData_0100 + * @tc.name: The system application cleans itself + * @tc.desc: Check the process was cleaned up (by promise) + */ + it('ACTS_ProcessManage_clearUpApplicationData_0100', 0, async function (done) { + console.log('ACTS_ProcessManage_clearUpApplicationData_0100 begin'); + await featureAbility.startAbility( + { + want: + { + bundleName: systemABundleName, + abilityName: systemAAbilityName, + action: "promiseCleanup", + parameters: { + testTarget: systemABundleName + } + }, + } + ); + setTimeout(async function () { + var processexist = await checkPromiseExistDelay(systemAProcessName); + console.debug("====>ACTS_ProcessManage_clearUpApplicationData_0100 processexist:====>" + + JSON.stringify(processexist)); + expect(processexist).assertEqual(false); + + var missionexist = await checkPromiseMissionExistDelay(systemAAbilityName) + console.debug("====>ACTS_ProcessManage_clearUpApplicationData_0100 missionexist:====>" + + JSON.stringify(missionexist)); + expect(missionexist).assertEqual(false); + + getAppDataPathFileNums(uriSystemA, async (err, nums) => { + expect(err).assertEqual(null); + expect(nums).assertEqual(4); + console.log('====>ACTS_ProcessManage_clearUpApplicationData_0100 getFileNums nums = ' + + nums); + done(); + }); + }, 2000); + }) + + /* + * @tc.number: ACTS_ProcessManage_clearUpApplicationData_0200 + * @tc.name: The system application cleans other system application + * @tc.desc: Check the process was cleaned up (by promise) + */ + it('ACTS_ProcessManage_clearUpApplicationData_0200', 0, async function (done) { + console.log('ACTS_ProcessManage_clearUpApplicationData_0200 begin'); + var subscriber; + + await featureAbility.startAbility( + { + want: + { + bundleName: systemABundleName, + abilityName: systemAAbilityName, + action: "promiseCleanup", + parameters: { + testTarget: systemBBundleName + } + }, + } + ); + var subscriber = await commonEvent.createSubscriber(subscribeInfo) + console.debug("====>ACTS_ProcessManage_clearUpApplicationData_0200 subscriber====>" + + JSON.stringify(subscriber)); + await commonEvent.subscribe(subscriber, subscribeCallBack); + + async function subscribeCallBack(err, data) { + + console.debug("====>ACTS_ProcessManage_clearUpApplicationData_0200 SubscribeCallBack data.event:====>" + + JSON.stringify(data.event)); + expect(data.event).assertEqual(eventFromSystemA); + expect(data.data).assertEqual('0'); + commonEvent.unsubscribe(subscriber, unSubscribeCallback); + + var processexist = await checkPromiseExistDelay(systemBProcessName); + console.debug("====>ACTS_ProcessManage_clearUpApplicationData_0200 subscribeCallBack processexist:" + + JSON.stringify(processexist)); + expect(processexist).assertEqual(false); + var missionexist = await checkPromiseMissionExistDelay(systemBAbilityName) + console.debug("====>ACTS_ProcessManage_clearUpApplicationData_0200 subscribeCallBack missionexist:" + + JSON.stringify(missionexist)); + expect(missionexist).assertEqual(false); + + getAppDataPathFileNums(uriSystemB, async (err, nums) => { + expect(err).assertEqual(null); + expect(nums).assertEqual(4); + console.log('====>ACTS_ProcessManage_clearUpApplicationData_0200 getFileNums nums = ' + nums); + console.log('ACTS_ProcessManage_clearUpApplicationData_0200 end'); + done(); + }); + } + function unSubscribeCallback() { + console.debug("====>ACTS_ProcessManage_clearUpApplicationData_0200 UnSubscribe CallBack====>"); + } + }) + + /* + * @tc.number: ACTS_ProcessManage_clearUpApplicationData_0300 + * @tc.name: The system application cleans third-party application + * @tc.desc: Check the process was cleaned up (by promise) + */ + it('ACTS_ProcessManage_clearUpApplicationData_0300', 0, async function (done) { + console.log('ACTS_ProcessManage_clearUpApplicationData_0300 begin'); + var subscriber; + + await featureAbility.startAbility( + { + want: + { + bundleName: systemABundleName, + abilityName: systemAAbilityName, + action: "promiseCleanup", + parameters: { + testTarget: vendorABundleName + } + }, + } + ); + var subscriber = await commonEvent.createSubscriber(subscribeInfo) + console.debug("====>ACTS_ProcessManage_clearUpApplicationData_0300 subscriber====>" + + JSON.stringify(subscriber)); + await commonEvent.subscribe(subscriber, subscribeCallBack); + + async function subscribeCallBack(err, data) { + + console.debug("====>ACTS_ProcessManage_clearUpApplicationData_0300 SubscribeCallBack data.event:====>" + + JSON.stringify(data)); + expect(data.event).assertEqual(eventFromSystemA); + expect(data.data).assertEqual('0'); + commonEvent.unsubscribe(subscriber, unSubscribeCallback); + setTimeout(async function () { + var processexist = await checkPromiseExistDelay(vendorAProcessName); + console.debug("====>ACTS_ProcessManage_clearUpApplicationData_0300 subscribeCallBack processexist:" + + JSON.stringify(processexist)); + expect(processexist).assertEqual(false); + var missionexist = await checkPromiseMissionExistDelay(vendorAAbilityName) + console.debug("====>ACTS_ProcessManage_clearUpApplicationData_0300 subscribeCallBack missionexist:" + + JSON.stringify(missionexist)); + expect(missionexist).assertEqual(false); + getAppDataPathFileNums(uriVendorA, async (err, nums) => { + expect(err).assertEqual(null); + expect(nums).assertEqual(4); + console.log('====>ACTS_ProcessManage_clearUpApplicationData_0300 getFileNums nums = ' + nums); + console.log('ACTS_ProcessManage_clearUpApplicationData_0300 end'); + done(); + }); + }, 6000); + } + function unSubscribeCallback() { + console.debug("====>ACTS_ProcessManage_clearUpApplicationData_0300 UnSubscribe CallBack====>"); + } + }) + + /* + * @tc.number: ACTS_ProcessManage_clearUpApplicationData_0400 + * @tc.name: The system application cleans multiprocess application + * @tc.desc: Check the process was cleaned up (by promise) + */ + it('ACTS_ProcessManage_clearUpApplicationData_0400', 0, async function (done) { + console.log('ACTS_ProcessManage_clearUpApplicationData_0400 begin'); + var flagProcessA = 0; + var flagProcessAMulti = 0; + var flagMissionA = 0; + var flagMissionAMulti = 0; + var numMax = 1024; + + await featureAbility.startAbility( + { + want: + { + bundleName: systemABundleName, + abilityName: systemAAbilityName, + action: "promiseCleanup", + parameters: { + testTarget: systemAMultiAbilityName + } + }, + } + ); + setTimeout(async function () { + + var processInfos = await abilitymanager.getActiveProcessInfos(); + console.debug("====>ACTS_ProcessManage_clearUpApplicationData_0400 processInfos====>" + + JSON.stringify(processInfos)); + for (var i = 0; i < processInfos.length; i++) { + if (processInfos[i].processName == systemAProcessName) { + flagProcessA++; + } + if (processInfos[i].processName == systemAMultiProcessName) { + flagProcessAMulti++; + } + } + console.debug("====>ACTS_ProcessManage_clearUpApplicationData_0400 flagProcessA====>" + + JSON.stringify(flagProcessA)); + console.debug("====>ACTS_ProcessManage_clearUpApplicationData_0400 flagProcessAMulti====>" + + JSON.stringify(flagProcessAMulti)); + expect(flagProcessA).assertEqual(0); + expect(flagProcessAMulti).assertEqual(0); + + var missionInfos = await missionmanager.getMissionInfos('', numMax); + console.debug("====>ACTS_ProcessManage_clearUpApplicationData_0400 missionInfos====>" + + JSON.stringify(missionInfos)); + for (var i = 0; i < missionInfos.length; i++) { + if ((missionInfos[i].want.abilityName == systemAAbilityName) + && (missionInfos[i].runningState == 0)) { + flagMissionA++; + } + if ((missionInfos[i].want.abilityName == systemAMultiAbilityName) + && (missionInfos[i].runningState == 0)) { + flagMissionAMulti++; + } + } + console.debug("====>ACTS_ProcessManage_clearUpApplicationData_0400 flagMissionA====>" + + JSON.stringify(flagMissionA)); + console.debug("====>ACTS_ProcessManage_clearUpApplicationData_0400 flagMissionAMulti====>" + + JSON.stringify(flagMissionAMulti)); + expect(flagMissionA).assertEqual(0); + expect(flagMissionAMulti).assertEqual(0); + + getAppDataPathFileNums(uriSystemA, async (err, nums) => { + expect(err).assertEqual(null); + expect(nums).assertEqual(4); + console.log('====>ACTS_ProcessManage_clearUpApplicationData_0400 getFileNums nums = ' + + nums); + console.log('ACTS_ProcessManage_clearUpApplicationData_0400 end'); + done(); + }); + }, 6000); + }) + + /* + * @tc.number: ACTS_ProcessManage_clearUpApplicationData_0500 + * @tc.name: The system application cleans itself + * @tc.desc: Check the process was cleaned up (by AsyncCallback) + */ + it('ACTS_ProcessManage_clearUpApplicationData_0500', 0, async function (done) { + console.log('ACTS_ProcessManage_clearUpApplicationData_0500 begin'); + await featureAbility.startAbility( + { + want: + { + bundleName: systemABundleName, + abilityName: systemAAbilityName, + action: "asyncCleanup", + parameters: { + testTarget: systemABundleName + } + }, + } + ); + setTimeout(async function () { + var processexist = await checkPromiseExistDelay(systemAProcessName); + console.debug("====>ACTS_ProcessManage_clearUpApplicationData_0500 processexist:====>" + + JSON.stringify(processexist)); + expect(processexist).assertEqual(false); + + var missionexist = await checkPromiseMissionExistDelay(systemAAbilityName) + console.debug("====>ACTS_ProcessManage_clearUpApplicationData_0500 missionexist:====>" + + JSON.stringify(missionexist)); + expect(missionexist).assertEqual(false); + + getAppDataPathFileNums(uriSystemA, async (err, nums) => { + expect(err).assertEqual(null); + expect(nums).assertEqual(4); + console.log('====>ACTS_ProcessManage_clearUpApplicationData_0500 getFileNums nums = ' + + nums); + done(); + }); + }, 6000); + }) + + /* + * @tc.number: ACTS_ProcessManage_clearUpApplicationData_0600 + * @tc.name: The system application cleans other system application + * @tc.desc: Check the process was cleaned up (by AsyncCallback) + */ + it('ACTS_ProcessManage_clearUpApplicationData_0600', 0, async function (done) { + console.log('ACTS_ProcessManage_clearUpApplicationData_0600 begin'); + var subscriber; + + await featureAbility.startAbility( + { + want: + { + bundleName: systemABundleName, + abilityName: systemAAbilityName, + action: "asyncCleanup", + parameters: { + testTarget: systemBBundleName + } + }, + } + ); + await commonEvent.createSubscriber(subscribeInfo).then(async (data) => { + console.debug("====>ACTS_ProcessManage_clearUpApplicationData_0600 Create Subscriber data====>" + + data); + subscriber = data; + console.debug("====>ACTS_ProcessManage_clearUpApplicationData_0600 subscriber====>" + + JSON.stringify(subscriber)); + await commonEvent.subscribe(subscriber, subscribeCallBack); + }); + async function subscribeCallBack(err, data) { + console.debug("====>ACTS_ProcessManage_clearUpApplicationData_0600 SubscribeCallBack data:====>" + + JSON.stringify(data)); + expect(data.event).assertEqual(eventFromSystemA); + expect(data.data).assertEqual('0'); + commonEvent.unsubscribe(subscriber, unSubscribeCallback); + setTimeout(async function () { + var processexist = await checkPromiseExistDelay(systemBProcessName); + console.debug("====>ACTS_ProcessManage_clearUpApplicationData_0600 subscribeCallBack processexist:====>" + + JSON.stringify(processexist)); + expect(processexist).assertEqual(false); + + var missionexist = await checkPromiseMissionExistDelay(systemBAbilityName) + console.debug("====>ACTS_ProcessManage_clearUpApplicationData_0600 subscribeCallBack missionexist:====>" + + JSON.stringify(missionexist)); + expect(missionexist).assertEqual(false); + + getAppDataPathFileNums(uriSystemB, async (err, nums) => { + expect(err).assertEqual(null); + expect(nums).assertEqual(4); + console.log('====>ACTS_ProcessManage_clearUpApplicationData_0600 getFileNums nums = ' + nums); + + console.log('ACTS_ProcessManage_clearUpApplicationData_0600 end'); + done(); + }); + }, 6000); + } + function unSubscribeCallback() { + console.debug("====>ACTS_ProcessManage_clearUpApplicationData_0600 UnSubscribe CallBack====>"); + } + }) + + /* + * @tc.number: ACTS_ProcessManage_clearUpApplicationData_0700 + * @tc.name: The system application cleans third-party application + * @tc.desc: Check the process was cleaned up (by AsyncCallback) + */ + it('ACTS_ProcessManage_clearUpApplicationData_0700', 0, async function (done) { + console.log('ACTS_ProcessManage_clearUpApplicationData_0700 begin'); + var subscriber; + await featureAbility.startAbility( + { + want: + { + bundleName: systemABundleName, + abilityName: systemAAbilityName, + action: "asyncCleanup", + parameters: { + testTarget: vendorABundleName + } + }, + } + ); + await commonEvent.createSubscriber(subscribeInfo).then(async (data) => { + console.debug("====>ACTS_ProcessManage_clearUpApplicationData_0700 Create Subscriber data====>" + + data); + subscriber = data; + console.debug("====>ACTS_ProcessManage_clearUpApplicationData_0700 subscriber====>" + + JSON.stringify(subscriber)); + await commonEvent.subscribe(subscriber, subscribeCallBack); + }); + async function subscribeCallBack(err, data) { + console.debug("====>ACTS_ProcessManage_clearUpApplicationData_0700 SubscribeCallBack data:====>" + + JSON.stringify(data)); + expect(data.event).assertEqual(eventFromSystemA); + commonEvent.unsubscribe(subscriber, unSubscribeCallback); + setTimeout(async function () { + var processexist = await checkPromiseExistDelay(vendorAProcessName); + console.debug("====>ACTS_ProcessManage_clearUpApplicationData_0700 subscribeCallBack processexist:====>" + + JSON.stringify(processexist)); + expect(processexist).assertEqual(false); + + var missionexist = await checkPromiseMissionExistDelay(vendorAAbilityName) + console.debug("====>ACTS_ProcessManage_clearUpApplicationData_0700 subscribeCallBack missionexist:====>" + + JSON.stringify(missionexist)); + expect(missionexist).assertEqual(false); + getAppDataPathFileNums(uriVendorA, async (err, nums) => { + expect(err).assertEqual(null); + expect(nums).assertEqual(4); + console.log('====>ACTS_ProcessManage_clearUpApplicationData_0700 getFileNums nums = ' + nums); + console.log('ACTS_ProcessManage_clearUpApplicationData_0700 end'); + done(); + + }); + }, 6000); + } + function unSubscribeCallback() { + console.debug("====>ACTS_ProcessManage_clearUpApplicationData_0700 UnSubscribe CallBack====>"); + } + }) + + /* + * @tc.number: ACTS_ProcessManage_clearUpApplicationData_0800 + * @tc.name: The system application cleans multiprocess application + * @tc.desc: Check the process was cleaned up (by AsyncCallback) + */ + it('ACTS_ProcessManage_clearUpApplicationData_0800', 0, async function (done) { + console.log('ACTS_ProcessManage_clearUpApplicationData_0800 begin'); + var flagProcessA = 0; + var flagProcessAMulti = 0; + var flagMissionA = 0; + var flagMissionAMulti = 0; + var numMax = 1024; + + await featureAbility.startAbility( + { + want: + { + bundleName: systemABundleName, + abilityName: systemAAbilityName, + action: "asyncCleanup", + parameters: { + testTarget: systemAMultiAbilityName + } + }, + } + ); + setTimeout(async function () { + + var processInfos = await abilitymanager.getActiveProcessInfos(); + console.debug("====>ACTS_ProcessManage_clearUpApplicationData_0800 processInfos====>" + + JSON.stringify(processInfos)); + for (var i = 0; i < processInfos.length; i++) { + if (processInfos[i].processName == systemAProcessName) { + flagProcessA++; + } + if (processInfos[i].processName == systemAMultiProcessName) { + flagProcessAMulti++; + } + } + console.debug("====>ACTS_ProcessManage_clearUpApplicationData_0800 flagProcessA====>" + + JSON.stringify(flagProcessA)); + console.debug("====>ACTS_ProcessManage_clearUpApplicationData_0800 flagProcessAMulti====>" + + JSON.stringify(flagProcessAMulti)); + expect(flagProcessA).assertEqual(0); + expect(flagProcessAMulti).assertEqual(0); + + var missionInfos = await missionmanager.getMissionInfos('', numMax); + console.debug("====>ACTS_ProcessManage_clearUpApplicationData_0800 missionInfos====>" + + JSON.stringify(missionInfos)); + for (var i = 0; i < missionInfos.length; i++) { + if ((missionInfos[i].want.abilityName == systemAAbilityName) + && (missionInfos[i].runningState == 0)) { + flagMissionA++; + } + if ((missionInfos[i].want.abilityName == systemAMultiAbilityName) + && (missionInfos[i].runningState == 0)) { + flagMissionAMulti++; + } + } + console.debug("====>ACTS_ProcessManage_clearUpApplicationData_0800 flagMissionA====>" + + JSON.stringify(flagMissionA)); + console.debug("====>ACTS_ProcessManage_clearUpApplicationData_0800 flagMissionAMulti====>" + + JSON.stringify(flagMissionAMulti)); + expect(flagMissionA).assertEqual(0); + expect(flagMissionAMulti).assertEqual(0); + + getAppDataPathFileNums(uriSystemA, async (err, nums) => { + expect(err).assertEqual(null); + expect(nums).assertEqual(4); + console.log('====>ACTS_ProcessManage_clearUpApplicationData_0800 getFileNums nums = ' + + nums); + console.log('ACTS_ProcessManage_clearUpApplicationData_0800 end'); + done(); + }); + }, 6000); + }) + + /* + * @tc.number: ACTS_ProcessManage_clearUpApplicationData_0900 + * @tc.name: Parameter is null + * @tc.desc: Check the result is OK (by AsyncCallback) + */ + it('ACTS_ProcessManage_clearUpApplicationData_0900', 0, async function (done) { + console.log('ACTS_ProcessManage_clearUpApplicationData_0900 begin'); + + try { + var result = await abilityManager.clearUpApplicationData(null); + console.debug("====>ACTS_ProcessManage_clearUpApplicationData_0900 null result:====>" + + JSON.stringify(result)); + expect(result == 0).assertEqual(false); + console.log('ACTS_ProcessManage_clearUpApplicationData_0900 end'); + done(); + } + catch (err) { + console.debug("====>ACTS_ProcessManage_clearUpApplicationData_0900 err:====>" + + JSON.stringify(err)); + done(); + } + }) + + /* + * @tc.number: ACTS_ProcessManage_clearUpApplicationData_1000 + * @tc.name: Parameter is '' + * @tc.desc: Check the result is OK (by AsyncCallback) + */ + it('ACTS_ProcessManage_clearUpApplicationData_1000', 0, async function (done) { + console.log('ACTS_ProcessManage_clearUpApplicationData_1000 begin'); + abilityManager.clearUpApplicationData('', (err, data) => { + console.debug("====>ACTS_ProcessManage_clearUpApplicationData_1000 '' result:====>" + + JSON.stringify(data)); + expect(err.code).assertEqual(0); + console.log('ACTS_ProcessManage_clearUpApplicationData_1000 end'); + done(); + }); + }) + /* + * @tc.number: ACTS_ProcessManage_clearUpApplicationData_1100 + * @tc.name: Parameter is undefined + * @tc.desc: Check the result is OK (by AsyncCallback) + */ + it('ACTS_ProcessManage_clearUpApplicationData_1100', 0, async function (done) { + console.log('ACTS_ProcessManage_clearUpApplicationData_1100 begin'); + try { + var result = await abilityManager.clearUpApplicationData(undefined); + console.debug("====>ACTS_ProcessManage_clearUpApplicationData_1100 undefined result:====>" + + JSON.stringify(result)); + expect(result == 0).assertEqual(false); + console.log('ACTS_ProcessManage_clearUpApplicationData_1100 end'); + done(); + } + catch (err) { + console.debug("====>ACTS_ProcessManage_clearUpApplicationData_1100 err:====>" + + JSON.stringify(err)); + done(); + } + }) + /* + * @tc.number: ACTS_ProcessManage_clearUpApplicationData_1200 + * @tc.name: Stop an application that doesn't exist + * @tc.desc: Check the result is OK (by AsyncCallback) + */ + it('ACTS_ProcessManage_clearUpApplicationData_1200', 0, async function (done) { + console.log('ACTS_ProcessManage_clearUpApplicationData_1200 begin'); + abilityManager.clearUpApplicationData("aa.bb.notExist", (err, data) => { + console.debug("====>ACTS_ProcessManage_clearUpApplicationData_1200 aa.bb.notExist result:====>" + + JSON.stringify(data)); + expect(err.code).assertEqual(0); + console.log('ACTS_ProcessManage_clearUpApplicationData_1200 end'); + done(); + }); + }) + + /* + * @tc.number: ACTS_ProcessManage_clearUpApplicationData_1300 + * @tc.name: Stop an application that exists but is not started + * @tc.desc: Check the result is OK (by AsyncCallback) + */ + it('ACTS_ProcessManage_clearUpApplicationData_1300', 0, async function (done) { + console.log('ACTS_ProcessManage_clearUpApplicationData_1300 begin'); + abilityManager.clearUpApplicationData(systemABundleName, (err, data) => { + console.debug("====>ACTS_ProcessManage_clearUpApplicationData_1300 without running result:====>" + + JSON.stringify(data)); + expect(err.code).assertEqual(0); + setTimeout(async function () { + getAppDataPathFileNums(uriSystemA, async (err, nums) => { + expect(err).assertEqual(null); + expect(nums).assertEqual(4); + console.log('====>ACTS_ProcessManage_clearUpApplicationData_1300 getFileNums nums = ' + nums); + console.log('ACTS_ProcessManage_clearUpApplicationData_1300 end'); + done(); + }); + }, 4000); + }); + }) + + /* + * @tc.number: ACTS_ProcessManage_clearUpApplicationData_1400 + * @tc.name: The system application cleans third-party application for ten times + * @tc.desc: Check the process was cleaned up (by AsyncCallback) + */ + it('ACTS_ProcessManage_clearUpApplicationData_1400', 0, async function (done) { + console.log('ACTS_ProcessManage_clearUpApplicationData_1400 begin'); + var subscriber; + await featureAbility.startAbility( + { + want: + { + bundleName: systemABundleName, + abilityName: systemAAbilityName, + action: "promiseCleanupTentimes", + parameters: { + testTarget: vendorABundleName + } + }, + } + ); + + await commonEvent.createSubscriber(subscribeInfo).then(async (data) => { + console.debug("====>ACTS_ProcessManage_clearUpApplicationData_1400 Create Subscriber data====>" + + data); + subscriber = data; + console.debug("====>ACTS_ProcessManage_clearUpApplicationData_1400 subscriber====>" + + JSON.stringify(subscriber)); + await commonEvent.subscribe(subscriber, subscribeCallBack); + }); + + async function subscribeCallBack(err, data) { + console.debug("====>ACTS_ProcessManage_clearUpApplicationData_1400 Subscribe CallBack data:====>" + + JSON.stringify(data)); + expect(data.event).assertEqual(eventFromSystemA); + commonEvent.unsubscribe(subscriber, unSubscribeCallback); + setTimeout(async function () { + var processexist = await checkPromiseExistDelay(vendorAProcessName); + console.debug("====>ACTS_ProcessManage_clearUpApplicationData_1400 processexist:====>" + + JSON.stringify(processexist)); + expect(processexist).assertEqual(false); + + var missionexist = await checkPromiseMissionExistDelay(vendorAAbilityName) + console.debug("====>ACTS_ProcessManage_clearUpApplicationData_1400 missionexist:====>" + + JSON.stringify(missionexist)); + expect(missionexist).assertEqual(false); + + getAppDataPathFileNums(uriVendorA, async (err, nums) => { + expect(err).assertEqual(null); + expect(nums).assertEqual(4); + console.log('====>ACTS_ProcessManage_clearUpApplicationData_1400 getAppDataPathFileNums nums = ' + + nums); + + console.log('ACTS_ProcessManage_clearUpApplicationData_1400 end'); + done(); + }); + }, 15000); + } + function unSubscribeCallback() { + console.debug("====>ACTS_ProcessManage_clearUpApplicationData_1400 UnSubscribe CallBack====>"); + } + }) +}) \ No newline at end of file diff --git a/aafwk/aafwk_standard/amsprocessmanageapi7/actsprocessmanagejstest/entry/src/main/js/test/List.test.js b/aafwk/aafwk_standard/amsprocessmanageapi7/actsprocessmanagejstest/entry/src/main/js/test/List.test.js new file mode 100644 index 0000000000000000000000000000000000000000..a7c683b3c0d578297e04ff1d997cf048087eec47 --- /dev/null +++ b/aafwk/aafwk_standard/amsprocessmanageapi7/actsprocessmanagejstest/entry/src/main/js/test/List.test.js @@ -0,0 +1,15 @@ +/* + * 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('./ActsProcessManageJsTest.test.js') \ No newline at end of file diff --git a/aafwk/aafwk_standard/amsprocessmanageapi7/actsprocessmanagejstest/signature/openharmony_sx.p7b b/aafwk/aafwk_standard/amsprocessmanageapi7/actsprocessmanagejstest/signature/openharmony_sx.p7b new file mode 100755 index 0000000000000000000000000000000000000000..cc53179a48f88f20acc379c138a001e9a15838f6 Binary files /dev/null and b/aafwk/aafwk_standard/amsprocessmanageapi7/actsprocessmanagejstest/signature/openharmony_sx.p7b differ diff --git a/aafwk/aafwk_standard/amsprocessmanageapi7/pmsystemappa/BUILD.gn b/aafwk/aafwk_standard/amsprocessmanageapi7/pmsystemappa/BUILD.gn new file mode 100644 index 0000000000000000000000000000000000000000..31dc26c90acd3db562c86c8b041347e7bb55f94a --- /dev/null +++ b/aafwk/aafwk_standard/amsprocessmanageapi7/pmsystemappa/BUILD.gn @@ -0,0 +1,34 @@ +# 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_hap("ActsAmsProcessManageSystemAppAApi7") { + hap_name = "ActsAmsProcessManageSystemAppAApi7" + hap_profile = "./src/main/config.json" + subsystem_name = XTS_SUITENAME + final_hap_path = + "${SUITES_OUTPUT_ROOT}/${XTS_SUITENAME}/testcases/${hap_name}.hap" + testonly = true + deps = [ + ":hjs_demo_js_assets", + ":hjs_demo_resources", + ] + certificate_profile = "./signature/openharmony_sx.p7b" +} +ohos_js_assets("hjs_demo_js_assets") { + source_dir = "./src/main/js/default" +} +ohos_resources("hjs_demo_resources") { + sources = [ "./src/main/js/resources" ] + hap_profile = "./src/main/config.json" +} diff --git a/aafwk/aafwk_standard/amsprocessmanageapi7/pmsystemappa/signature/openharmony_sx.p7b b/aafwk/aafwk_standard/amsprocessmanageapi7/pmsystemappa/signature/openharmony_sx.p7b new file mode 100755 index 0000000000000000000000000000000000000000..cc53179a48f88f20acc379c138a001e9a15838f6 Binary files /dev/null and b/aafwk/aafwk_standard/amsprocessmanageapi7/pmsystemappa/signature/openharmony_sx.p7b differ diff --git a/aafwk/aafwk_standard/amsprocessmanageapi7/pmsystemappa/src/main/config.json b/aafwk/aafwk_standard/amsprocessmanageapi7/pmsystemappa/src/main/config.json new file mode 100644 index 0000000000000000000000000000000000000000..829eb86b1b8e255346717f35efb40221fe93a3df --- /dev/null +++ b/aafwk/aafwk_standard/amsprocessmanageapi7/pmsystemappa/src/main/config.json @@ -0,0 +1,107 @@ +{ + "app": { + "bundleName": "com.acts.pmsystemappaapi7", + "vendor": "example", + "version": { + "code": 1, + "name": "1.0" + }, + "apiVersion": { + "compatible": 4, + "target": 5, + "releaseType": "Beta1" + } + }, + "deviceConfig": { + "default": { + "process": "com.acts.pmsystemappaapi7" + } + }, + "module": { + "package": "com.acts.pmsystemappaapi7", + "name": ".MyApplication", + "deviceType": [ + "phone" + ], + "distro": { + "deliveryWithInstall": true, + "moduleName": "entry", + "moduleType": "entry" + }, + "abilities": [ + { + "skills": [ + { + "entities": [ + "entity.system.home" + ], + "actions": [ + "action.system.home" + ] + } + ], + "name": "com.acts.pmsystemappaapi7.MainAbility", + "visible": true, + "icon": "$media:icon", + "description": "$string:mainability_description", + "label": "$string:app_name", + "type": "page", + "launchType": "standard" + } + ], + "reqPermissions": [ + { + "name":"ohos.permission.GET_BUNDLE_INFO_PRIVILEGED", + "reason":"need use ohos.permission.GET_BUNDLE_INFO_PRIVILEGED" + }, + { + "name":"ohos.permission.GET_BUNDLE_INFO", + "reason":"need use ohos.permission.GET_BUNDLE_INFO" + }, + { + "name":"ohos.permission.CHANGE_ABILITY_ENABLED_STATE", + "reason":"need use ohos.permission.CHANGE_ABILITY_ENABLED_STATE" + }, + { + "name":"ohos.permission.REMOVE_CACHE_FILES", + "reason":"need use ohos.permission.REMOVE_CACHE_FILES" + }, + { + "name":"ohos.permission.LISTEN_BUNDLE_CHANGE", + "reason":"need use ohos.permission.LISTEN_BUNDLE_CHANGE" + }, + { + "name":"ohos.permission.INSTALL_BUNDLE", + "reason":"need use ohos.permission.INSTALL_BUNDLE" + }, + { + "name":"ohos.permission.MANAGE_MISSIONS", + "reason":"need use ohos.permission.MANAGE_MISSIONS" + }, + { + "name":"ohos.permission.GET_RUNNING_INFO", + "reason":"need use ohos.permission.GET_RUNNING_INFO" + }, + { + "name":"ohos.permission.CLEAN_BACKGROUND_PROCESSES", + "reason":"need use ohos.permission.CLEAN_BACKGROUND_PROCESSES" + }, + { + "name":"ohos.permission.CLEAN_APPLICATION_DATA", + "reason":"need use ohos.permission.CLEAN_APPLICATION_DATA" + } + ], + "js": [ + { + "pages": [ + "pages/index/index" + ], + "name": "default", + "window": { + "designWidth": 720, + "autoDesignWidth": false + } + } + ] + } +} \ No newline at end of file diff --git a/aafwk/aafwk_standard/amsprocessmanageapi7/pmsystemappa/src/main/js/default/app.js b/aafwk/aafwk_standard/amsprocessmanageapi7/pmsystemappa/src/main/js/default/app.js new file mode 100644 index 0000000000000000000000000000000000000000..cbcbab28325171fef09134ede1173011a95e91d7 --- /dev/null +++ b/aafwk/aafwk_standard/amsprocessmanageapi7/pmsystemappa/src/main/js/default/app.js @@ -0,0 +1,28 @@ +/* + * 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('ProcessManageSystemAppA onCreate'); + }, + onDestroy() { + console.info('ProcessManageSystemAppA onDestroy'); + }, + onShow() { + console.info('ProcessManageSystemAppA onShow'); + }, + onHide() { + console.info('ProcessManageSystemAppA onHide'); + } +}; diff --git a/aafwk/aafwk_standard/amsprocessmanageapi7/pmsystemappa/src/main/js/default/i18n/en-US.json b/aafwk/aafwk_standard/amsprocessmanageapi7/pmsystemappa/src/main/js/default/i18n/en-US.json new file mode 100644 index 0000000000000000000000000000000000000000..e63c70d978a3a53be988388c87182f81785e170c --- /dev/null +++ b/aafwk/aafwk_standard/amsprocessmanageapi7/pmsystemappa/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/aafwk/aafwk_standard/amsprocessmanageapi7/pmsystemappa/src/main/js/default/i18n/zh-CN.json b/aafwk/aafwk_standard/amsprocessmanageapi7/pmsystemappa/src/main/js/default/i18n/zh-CN.json new file mode 100644 index 0000000000000000000000000000000000000000..de6ee5748322f44942c1b003319d8e66c837675f --- /dev/null +++ b/aafwk/aafwk_standard/amsprocessmanageapi7/pmsystemappa/src/main/js/default/i18n/zh-CN.json @@ -0,0 +1,6 @@ +{ + "strings": { + "hello": "您好", + "world": "世界" + } +} \ No newline at end of file diff --git a/aafwk/aafwk_standard/amsprocessmanageapi7/pmsystemappa/src/main/js/default/pages/index/index.css b/aafwk/aafwk_standard/amsprocessmanageapi7/pmsystemappa/src/main/js/default/pages/index/index.css new file mode 100644 index 0000000000000000000000000000000000000000..6fda792753f2e15f22b529c7b90a82185b2770bf --- /dev/null +++ b/aafwk/aafwk_standard/amsprocessmanageapi7/pmsystemappa/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/aafwk/aafwk_standard/amsprocessmanageapi7/pmsystemappa/src/main/js/default/pages/index/index.hml b/aafwk/aafwk_standard/amsprocessmanageapi7/pmsystemappa/src/main/js/default/pages/index/index.hml new file mode 100644 index 0000000000000000000000000000000000000000..f64b040a5ae394dbaa5e185e1ecd4f4556b92184 --- /dev/null +++ b/aafwk/aafwk_standard/amsprocessmanageapi7/pmsystemappa/src/main/js/default/pages/index/index.hml @@ -0,0 +1,5 @@ +
+ + {{ $t('strings.hello') }} {{ title }} + +
diff --git a/aafwk/aafwk_standard/amsprocessmanageapi7/pmsystemappa/src/main/js/default/pages/index/index.js b/aafwk/aafwk_standard/amsprocessmanageapi7/pmsystemappa/src/main/js/default/pages/index/index.js new file mode 100644 index 0000000000000000000000000000000000000000..ac65f898986eb9bc0966f0ab86ca766b8bded579 --- /dev/null +++ b/aafwk/aafwk_standard/amsprocessmanageapi7/pmsystemappa/src/main/js/default/pages/index/index.js @@ -0,0 +1,226 @@ +/* + * 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 commonEvent from '@ohos.commonevent' +import abilityManager from '@ohos.application.appManager' +import featureAbility from '@ohos.ability.featureability' + +const injectRef = Object.getPrototypeOf(global) || global +injectRef.regeneratorRuntime = require('@babel/runtime/regenerator') + +var subscribeInfo = { + events: ["event_from_ProcessManage_SystemTest", + "event_SystemAppBToSystemAppA", + "event_VendorAppAToSystemAppA", + "event_SystemAppAMultiToSystemAppA", + "event_VendorAppServiceToSystemAppA" + ], +}; +var publishEventName = "event_from_ProcessManage_SystemAppA"; +var eventFromSystemAMulti = "event_SystemAppAMultiToSystemAppA"; +var testAction; +var testTarget; +var subscriber; +var systemABundleName = "com.acts.pmsystemappaapi7"; +var systemBBundleName = "com.acts.pmsystemappbapi7"; +var vendorABundleName = "com.acts.pmvendorappaapi7"; +var systemBAbilityName = "com.acts.pmsystemappbapi7.MainAbility"; +var vendorAAbilityName = "com.acts.pmvendorappaapi7.MainAbility"; +var multiAAbilityName = "com.acts.pmsystemappamultiapi7.MainAbility"; + +function onReceivedPublishCallBack() { + console.log("ACTS_ProcessManage SystemAppA onReceivedPublishCallBack"); +} + +function publishResultEvent(testResult) { + console.log("ACTS_ProcessManage SystemAppA publishResultEvent testAction:" + testAction); + console.log("ACTS_ProcessManage SystemAppA publishResultEvent testTarget:" + testTarget); + console.log("ACTS_ProcessManage SystemAppA publishResultEvent testResult:" + testResult); + let publishData = { data: testResult.toString() }; + console.log("ACTS_ProcessManage SystemAppA publishResultEvent publishData:" + + JSON.stringify(publishData)); + commonEvent.publish(publishEventName, publishData, onReceivedPublishCallBack); + +} +function onReceivedHandleCallback(err, data) { + publishResultEvent(data); + console.log("ACTS_ProcessManage SystemAppA onReceivedHandleCallback data:" + + JSON.stringify(data)); +} + +async function onShowProcess() { + + var abilityWant = await featureAbility.getWant(); + console.log("ACTS_ProcessManage SystemAppA onShowProcess abilityWant:" + + JSON.stringify(abilityWant)); + testAction = abilityWant.action; + console.log("ACTS_ProcessManage SystemAppA onShowProcess testAction:" + testAction); + testTarget = abilityWant.parameters.testTarget; + console.log("ACTS_ProcessManage SystemAppA onShowProcess testTarget:" + testTarget); + + + if (testTarget == systemABundleName) { + + if (testAction == "promiseKill") { + console.log("ACTS_ProcessManage SystemAppA onShowProcess testAction:" + testAction); + var result = await abilityManager.killProcessesByBundleName(testTarget); + console.log("ACTS_ProcessManage SystemAppA onShowProcess result:" + result); + publishResultEvent(result); + } else if (testAction == "asyncKill") { + console.log("ACTS_ProcessManage SystemAppA onShowProcess testAction:" + testAction); + abilityManager.killProcessesByBundleName(testTarget, onReceivedHandleCallback); + } else if (testAction == "promiseCleanup") { + console.log("ACTS_ProcessManage SystemAppA onShowProcess testAction:" + testAction); + var result = await abilityManager.clearUpApplicationData(testTarget); + console.log("ACTS_ProcessManage SystemAppA onShowProcess result:" + result); + publishResultEvent(result); + } else if (testAction == "asyncCleanup") { + console.log("ACTS_ProcessManage SystemAppA onShowProcess testAction:" + testAction); + abilityManager.clearUpApplicationData(testTarget, onReceivedHandleCallback); + } + + } + else { + try { + subscriber = await commonEvent.createSubscriber(subscribeInfo) + console.debug("ACTS_ProcessManage SystemAppA onShowProcess subscriber:" + + JSON.stringify(subscriber)); + commonEvent.subscribe(subscriber, subscribeCallBack); + } catch (err) { + console.debug("ACTS_ProcessManage SystemAppA onShowProcess err:" + err); + } + + if (testTarget == systemBBundleName) { + await featureAbility.startAbility( + { + want: + { + bundleName: systemBBundleName, + abilityName: systemBAbilityName, + }, + } + ); + } + else if (testTarget == vendorABundleName) { + await featureAbility.startAbility( + { + want: + { + bundleName: vendorABundleName, + abilityName: vendorAAbilityName, + }, + } + ); + } + else if (testTarget == multiAAbilityName) { + await featureAbility.startAbility( + { + want: + { + bundleName: systemABundleName, + abilityName: multiAAbilityName, + }, + } + ); + } + } + + async function subscribeCallBack(err, data) { + console.debug("ACTS_ProcessManage SystemAppA subscribeCallBack SubscribeCallBack data:====>" + + JSON.stringify(data)); + console.debug("ACTS_ProcessManage SystemAppA subscribeCallBack SubscribeCallBack data.event:====>" + + JSON.stringify(data.event)); + + if (data.event == eventFromSystemAMulti) { + testTarget = systemABundleName; + } + + if (testAction == "promiseKill") { + console.log("ACTS_ProcessManage SystemAppA subscribeCallBack testAction:" + testAction); + var result = await abilityManager.killProcessesByBundleName(testTarget); + console.log("ACTS_ProcessManage SystemAppA subscribeCallBack result:" + result); + publishResultEvent(result); + } else if (testAction == "asyncKill") { + console.log("ACTS_ProcessManage SystemAppA subscribeCallBack testAction:" + testAction); + await abilityManager.killProcessesByBundleName(testTarget, onReceivedHandleCallback); + } else if (testAction == "promiseCleanup") { + console.log("ACTS_ProcessManage SystemAppA subscribeCallBack testAction:" + testAction); + var result = await abilityManager.clearUpApplicationData(testTarget); + console.log("ACTS_ProcessManage SystemAppA subscribeCallBack result:" + result); + publishResultEvent(result); + } else if (testAction == "asyncCleanup") { + console.log("ACTS_ProcessManage SystemAppA subscribeCallBack testAction:" + testAction); + await abilityManager.clearUpApplicationData(testTarget, onReceivedHandleCallback); + } else if (testAction == "promiseCleanupTentimes") { + for (var i = 0; i < 10; i++) { + console.log("ACTS_ProcessManage SystemAppA subscribeCallBack testAction:" + testAction); + var result = await abilityManager.clearUpApplicationData(testTarget); + console.log("ACTS_ProcessManage SystemAppA subscribeCallBack result:" + result); + } + publishResultEvent(result); + } + } + +} + +export default { + data: { + title: "" + }, + onInit() { + console.info('ACTS_ProcessManage SystemAppA onInit'); + this.title = "ProcessManageSystemAppA"; + }, + onReady() { + console.info('ACTS_ProcessManage SystemAppA onReady'); + onShowProcess(); + }, + onActive() { + console.info('ACTS_ProcessManage SystemAppA onActive'); + }, + onShow() { + console.info('ACTS_ProcessManage SystemAppA onShow'); + + }, + onInactive() { + console.info('ACTS_ProcessManage SystemAppA onInactive'); + }, + onHide() { + console.info('ACTS_ProcessManage SystemAppA onHide'); + }, + onDestroy() { + console.info('ACTS_ProcessManage SystemAppA onDestroy'); + }, + onBackPress() { + console.info('ACTS_ProcessManage SystemAppA onBackPress'); + }, + onNewRequest() { + console.info('ACTS_ProcessManage SystemAppA onNewRequest'); + }, + onStartContinuation() { + console.info('ACTS_ProcessManage SystemAppA onStartContinuation'); + }, + onSaveData(value) { + console.info('ACTS_ProcessManage SystemAppA onSaveData:' + JSON.stringify(value)); + }, + onRestoreData(value) { + console.info('ACTS_ProcessManage SystemAppA onRestoreData:' + JSON.stringify(value)); + }, + onCompleteContinuation(code) { + console.info('ACTS_ProcessManage SystemAppA onCompleteContinuation:' + JSON.stringify(code)); + }, + onConfigurationUpdated(configuration) { + console.info('ACTS_ProcessManage SystemAppA onConfigurationUpdated:' + JSON.stringify(configuration)); + } +} \ No newline at end of file diff --git a/aafwk/aafwk_standard/amsprocessmanageapi7/pmsystemappa/src/main/js/resources/base/element/string.json b/aafwk/aafwk_standard/amsprocessmanageapi7/pmsystemappa/src/main/js/resources/base/element/string.json new file mode 100644 index 0000000000000000000000000000000000000000..fd60cdefa929070f1798c6e36f0502f1e1e219a4 --- /dev/null +++ b/aafwk/aafwk_standard/amsprocessmanageapi7/pmsystemappa/src/main/js/resources/base/element/string.json @@ -0,0 +1,12 @@ +{ + "string": [ + { + "name": "app_name", + "value": "particlestartability" + }, + { + "name": "mainability_description", + "value": "JS_Phone_Empty Feature Ability" + } + ] +} \ No newline at end of file diff --git a/aafwk/aafwk_standard/amsprocessmanageapi7/pmsystemappa/src/main/js/resources/base/media/icon.png b/aafwk/aafwk_standard/amsprocessmanageapi7/pmsystemappa/src/main/js/resources/base/media/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..ce307a8827bd75456441ceb57d530e4c8d45d36c Binary files /dev/null and b/aafwk/aafwk_standard/amsprocessmanageapi7/pmsystemappa/src/main/js/resources/base/media/icon.png differ diff --git a/aafwk/aafwk_standard/amsprocessmanageapi7/pmsystemappamulti/BUILD.gn b/aafwk/aafwk_standard/amsprocessmanageapi7/pmsystemappamulti/BUILD.gn new file mode 100644 index 0000000000000000000000000000000000000000..934d06d652eae1629b8150a3abd120a17391645c --- /dev/null +++ b/aafwk/aafwk_standard/amsprocessmanageapi7/pmsystemappamulti/BUILD.gn @@ -0,0 +1,34 @@ +# 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_hap("ActsAmsProcessManageSystemAppAMultiApi7") { + hap_name = "ActsAmsProcessManageSystemAppAMultiApi7" + hap_profile = "./src/main/config.json" + subsystem_name = XTS_SUITENAME + final_hap_path = + "${SUITES_OUTPUT_ROOT}/${XTS_SUITENAME}/testcases/${hap_name}.hap" + testonly = true + deps = [ + ":hjs_demo_js_assets", + ":hjs_demo_resources", + ] + certificate_profile = "./signature/openharmony_sx.p7b" +} +ohos_js_assets("hjs_demo_js_assets") { + source_dir = "./src/main/js/default" +} +ohos_resources("hjs_demo_resources") { + sources = [ "./src/main/js/resources" ] + hap_profile = "./src/main/config.json" +} diff --git a/aafwk/aafwk_standard/amsprocessmanageapi7/pmsystemappamulti/signature/openharmony_sx.p7b b/aafwk/aafwk_standard/amsprocessmanageapi7/pmsystemappamulti/signature/openharmony_sx.p7b new file mode 100755 index 0000000000000000000000000000000000000000..cc53179a48f88f20acc379c138a001e9a15838f6 Binary files /dev/null and b/aafwk/aafwk_standard/amsprocessmanageapi7/pmsystemappamulti/signature/openharmony_sx.p7b differ diff --git a/aafwk/aafwk_standard/amsprocessmanageapi7/pmsystemappamulti/src/main/config.json b/aafwk/aafwk_standard/amsprocessmanageapi7/pmsystemappamulti/src/main/config.json new file mode 100644 index 0000000000000000000000000000000000000000..fcc970b486ca7375903bb2b247545043d1d84198 --- /dev/null +++ b/aafwk/aafwk_standard/amsprocessmanageapi7/pmsystemappamulti/src/main/config.json @@ -0,0 +1,107 @@ +{ + "app": { + "bundleName": "com.acts.pmsystemappaapi7", + "vendor": "example", + "version": { + "code": 1, + "name": "1.0" + }, + "apiVersion": { + "compatible": 4, + "target": 5, + "releaseType": "Beta1" + } + }, + "deviceConfig": { + "default": { + "process": "com.acts.pmsystemappamultiapi7" + } + }, + "module": { + "package": "com.acts.pmsystemappamultiapi7", + "name": ".MyApplication", + "deviceType": [ + "phone" + ], + "distro": { + "deliveryWithInstall": true, + "moduleName": "secondEntry", + "moduleType": "feature" + }, + "abilities": [ + { + "skills": [ + { + "entities": [ + "entity.system.home" + ], + "actions": [ + "action.system.home" + ] + } + ], + "name": "com.acts.pmsystemappamultiapi7.MainAbility", + "visible": true, + "icon": "$media:icon", + "description": "$string:mainability_description", + "label": "$string:app_name", + "type": "page", + "launchType": "standard" + } + ], + "reqPermissions": [ + { + "name":"ohos.permission.GET_BUNDLE_INFO_PRIVILEGED", + "reason":"need use ohos.permission.GET_BUNDLE_INFO_PRIVILEGED" + }, + { + "name":"ohos.permission.GET_BUNDLE_INFO", + "reason":"need use ohos.permission.GET_BUNDLE_INFO" + }, + { + "name":"ohos.permission.CHANGE_ABILITY_ENABLED_STATE", + "reason":"need use ohos.permission.CHANGE_ABILITY_ENABLED_STATE" + }, + { + "name":"ohos.permission.REMOVE_CACHE_FILES", + "reason":"need use ohos.permission.REMOVE_CACHE_FILES" + }, + { + "name":"ohos.permission.LISTEN_BUNDLE_CHANGE", + "reason":"need use ohos.permission.LISTEN_BUNDLE_CHANGE" + }, + { + "name":"ohos.permission.INSTALL_BUNDLE", + "reason":"need use ohos.permission.INSTALL_BUNDLE" + }, + { + "name":"ohos.permission.MANAGE_MISSIONS", + "reason":"need use ohos.permission.MANAGE_MISSIONS" + }, + { + "name":"ohos.permission.GET_RUNNING_INFO", + "reason":"need use ohos.permission.GET_RUNNING_INFO" + }, + { + "name":"ohos.permission.CLEAN_BACKGROUND_PROCESSES", + "reason":"need use ohos.permission.CLEAN_BACKGROUND_PROCESSES" + }, + { + "name":"ohos.permission.CLEAN_APPLICATION_DATA", + "reason":"need use ohos.permission.CLEAN_APPLICATION_DATA" + } + ], + "js": [ + { + "pages": [ + "pages/index/index" + ], + "name": "default", + "window": { + "designWidth": 720, + "autoDesignWidth": false + } + } + ] + } +} \ No newline at end of file diff --git a/aafwk/aafwk_standard/amsprocessmanageapi7/pmsystemappamulti/src/main/js/default/app.js b/aafwk/aafwk_standard/amsprocessmanageapi7/pmsystemappamulti/src/main/js/default/app.js new file mode 100644 index 0000000000000000000000000000000000000000..5d3012c7d6777f4b04710913de6f1aa718fa8cc9 --- /dev/null +++ b/aafwk/aafwk_standard/amsprocessmanageapi7/pmsystemappamulti/src/main/js/default/app.js @@ -0,0 +1,28 @@ +/* + * 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('ProcessManageSystemAppB onCreate'); + }, + onDestroy() { + console.info('ProcessManageSystemAppB onDestroy'); + }, + onShow() { + console.info('ProcessManageSystemAppB onShow'); + }, + onHide() { + console.info('ProcessManageSystemAppB onHide'); + } +}; diff --git a/aafwk/aafwk_standard/amsprocessmanageapi7/pmsystemappamulti/src/main/js/default/i18n/en-US.json b/aafwk/aafwk_standard/amsprocessmanageapi7/pmsystemappamulti/src/main/js/default/i18n/en-US.json new file mode 100644 index 0000000000000000000000000000000000000000..e63c70d978a3a53be988388c87182f81785e170c --- /dev/null +++ b/aafwk/aafwk_standard/amsprocessmanageapi7/pmsystemappamulti/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/aafwk/aafwk_standard/amsprocessmanageapi7/pmsystemappamulti/src/main/js/default/i18n/zh-CN.json b/aafwk/aafwk_standard/amsprocessmanageapi7/pmsystemappamulti/src/main/js/default/i18n/zh-CN.json new file mode 100644 index 0000000000000000000000000000000000000000..de6ee5748322f44942c1b003319d8e66c837675f --- /dev/null +++ b/aafwk/aafwk_standard/amsprocessmanageapi7/pmsystemappamulti/src/main/js/default/i18n/zh-CN.json @@ -0,0 +1,6 @@ +{ + "strings": { + "hello": "您好", + "world": "世界" + } +} \ No newline at end of file diff --git a/aafwk/aafwk_standard/amsprocessmanageapi7/pmsystemappamulti/src/main/js/default/pages/index/index.css b/aafwk/aafwk_standard/amsprocessmanageapi7/pmsystemappamulti/src/main/js/default/pages/index/index.css new file mode 100644 index 0000000000000000000000000000000000000000..6fda792753f2e15f22b529c7b90a82185b2770bf --- /dev/null +++ b/aafwk/aafwk_standard/amsprocessmanageapi7/pmsystemappamulti/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/aafwk/aafwk_standard/amsprocessmanageapi7/pmsystemappamulti/src/main/js/default/pages/index/index.hml b/aafwk/aafwk_standard/amsprocessmanageapi7/pmsystemappamulti/src/main/js/default/pages/index/index.hml new file mode 100644 index 0000000000000000000000000000000000000000..f64b040a5ae394dbaa5e185e1ecd4f4556b92184 --- /dev/null +++ b/aafwk/aafwk_standard/amsprocessmanageapi7/pmsystemappamulti/src/main/js/default/pages/index/index.hml @@ -0,0 +1,5 @@ +
+ + {{ $t('strings.hello') }} {{ title }} + +
diff --git a/aafwk/aafwk_standard/amsprocessmanageapi7/pmsystemappamulti/src/main/js/default/pages/index/index.js b/aafwk/aafwk_standard/amsprocessmanageapi7/pmsystemappamulti/src/main/js/default/pages/index/index.js new file mode 100644 index 0000000000000000000000000000000000000000..9420ad20ef1d46228f20092685359f0ff00ac0d4 --- /dev/null +++ b/aafwk/aafwk_standard/amsprocessmanageapi7/pmsystemappamulti/src/main/js/default/pages/index/index.js @@ -0,0 +1,74 @@ +/* + * 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 commonEvent from '@ohos.commonevent' + +const injectRef = Object.getPrototypeOf(global) || global +injectRef.regeneratorRuntime = require('@babel/runtime/regenerator') + +var publishEventName = "event_SystemAppAMultiToSystemAppA"; + +function onReceivedPublishCallBack() { + console.log("ACTS_ProcessManage SystemAppAMulti onReceivedPublishCallBack"); +} + +export default { + data: { + title: "" + }, + onInit() { + console.info('ACTS_ProcessManage SystemAppAMulti onInit'); + this.title = "ACTS_ProcessManage SystemAppAMulti"; + }, + onReady() { + console.info('ACTS_ProcessManage SystemAppAMulti onReady'); + commonEvent.publish(publishEventName,onReceivedPublishCallBack); + }, + onActive() { + console.info('ACTS_ProcessManage SystemAppAMulti onActive'); + }, + onShow() { + console.info('ACTS_ProcessManage SystemAppAMulti onShow'); + }, + onInactive() { + console.info('ACTS_ProcessManage SystemAppAMulti onInactive'); + }, + onHide() { + console.info('ACTS_ProcessManage SystemAppAMulti onHide'); + }, + onDestroy() { + console.info('ACTS_ProcessManage SystemAppAMulti onDestroy'); + }, + onBackPress() { + console.info('ACTS_ProcessManage SystemAppAMulti onBackPress'); + }, + onNewRequest() { + console.info('ACTS_ProcessManage SystemAppAMulti onNewRequest'); + }, + onStartContinuation() { + console.info('ACTS_ProcessManage SystemAppAMulti onStartContinuation'); + }, + onSaveData(value) { + console.info('ACTS_ProcessManage SystemAppAMulti onSaveData:' + JSON.stringify(value)); + }, + onRestoreData(value) { + console.info('ACTS_ProcessManage SystemAppAMulti onRestoreData:' + JSON.stringify(value)); + }, + onCompleteContinuation(code) { + console.info('ACTS_ProcessManage SystemAppAMulti onCompleteContinuation:' + JSON.stringify(code)); + }, + onConfigurationUpdated(configuration) { + console.info('ACTS_ProcessManage SystemAppAMulti onConfigurationUpdated:' + JSON.stringify(configuration)); + } +} \ No newline at end of file diff --git a/aafwk/aafwk_standard/amsprocessmanageapi7/pmsystemappamulti/src/main/js/resources/base/element/string.json b/aafwk/aafwk_standard/amsprocessmanageapi7/pmsystemappamulti/src/main/js/resources/base/element/string.json new file mode 100644 index 0000000000000000000000000000000000000000..fd60cdefa929070f1798c6e36f0502f1e1e219a4 --- /dev/null +++ b/aafwk/aafwk_standard/amsprocessmanageapi7/pmsystemappamulti/src/main/js/resources/base/element/string.json @@ -0,0 +1,12 @@ +{ + "string": [ + { + "name": "app_name", + "value": "particlestartability" + }, + { + "name": "mainability_description", + "value": "JS_Phone_Empty Feature Ability" + } + ] +} \ No newline at end of file diff --git a/aafwk/aafwk_standard/amsprocessmanageapi7/pmsystemappamulti/src/main/js/resources/base/media/icon.png b/aafwk/aafwk_standard/amsprocessmanageapi7/pmsystemappamulti/src/main/js/resources/base/media/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..ce307a8827bd75456441ceb57d530e4c8d45d36c Binary files /dev/null and b/aafwk/aafwk_standard/amsprocessmanageapi7/pmsystemappamulti/src/main/js/resources/base/media/icon.png differ diff --git a/aafwk/aafwk_standard/amsprocessmanageapi7/pmsystemappb/BUILD.gn b/aafwk/aafwk_standard/amsprocessmanageapi7/pmsystemappb/BUILD.gn new file mode 100644 index 0000000000000000000000000000000000000000..8ae53eed564a3118ff804d20485b3c2e6de68813 --- /dev/null +++ b/aafwk/aafwk_standard/amsprocessmanageapi7/pmsystemappb/BUILD.gn @@ -0,0 +1,34 @@ +# 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_hap("ActsAmsProcessManageSystemAppBApi7") { + hap_name = "ActsAmsProcessManageSystemAppBApi7" + hap_profile = "./src/main/config.json" + subsystem_name = XTS_SUITENAME + final_hap_path = + "${SUITES_OUTPUT_ROOT}/${XTS_SUITENAME}/testcases/${hap_name}.hap" + testonly = true + deps = [ + ":hjs_demo_js_assets", + ":hjs_demo_resources", + ] + certificate_profile = "./signature/openharmony_sx.p7b" +} +ohos_js_assets("hjs_demo_js_assets") { + source_dir = "./src/main/js/default" +} +ohos_resources("hjs_demo_resources") { + sources = [ "./src/main/js/resources" ] + hap_profile = "./src/main/config.json" +} diff --git a/aafwk/aafwk_standard/amsprocessmanageapi7/pmsystemappb/signature/openharmony_sx.p7b b/aafwk/aafwk_standard/amsprocessmanageapi7/pmsystemappb/signature/openharmony_sx.p7b new file mode 100755 index 0000000000000000000000000000000000000000..cc53179a48f88f20acc379c138a001e9a15838f6 Binary files /dev/null and b/aafwk/aafwk_standard/amsprocessmanageapi7/pmsystemappb/signature/openharmony_sx.p7b differ diff --git a/aafwk/aafwk_standard/amsprocessmanageapi7/pmsystemappb/src/main/config.json b/aafwk/aafwk_standard/amsprocessmanageapi7/pmsystemappb/src/main/config.json new file mode 100644 index 0000000000000000000000000000000000000000..9cc2e488d8c97b09a51d5cc8939f2fda9784da94 --- /dev/null +++ b/aafwk/aafwk_standard/amsprocessmanageapi7/pmsystemappb/src/main/config.json @@ -0,0 +1,87 @@ +{ + "app": { + "bundleName": "com.acts.pmsystemappbapi7", + "vendor": "example", + "version": { + "code": 1, + "name": "1.0" + }, + "apiVersion": { + "compatible": 4, + "target": 5, + "releaseType": "Beta1" + } + }, + "deviceConfig": {}, + "module": { + "package": "com.acts.pmsystemappbapi7", + "name": ".MyApplication", + "deviceType": [ + "phone" + ], + "distro": { + "deliveryWithInstall": true, + "moduleName": "entry", + "moduleType": "entry" + }, + "abilities": [ + { + "skills": [ + { + "entities": [ + "entity.system.home" + ], + "actions": [ + "action.system.home" + ] + } + ], + "name": "com.acts.pmsystemappbapi7.MainAbility", + "visible": true, + "icon": "$media:icon", + "description": "$string:mainability_description", + "label": "$string:app_name", + "type": "page", + "launchType": "standard" + } + ], + "reqPermissions": [ + { + "name":"ohos.permission.GET_BUNDLE_INFO_PRIVILEGED", + "reason":"need use ohos.permission.GET_BUNDLE_INFO_PRIVILEGED" + }, + { + "name":"ohos.permission.GET_BUNDLE_INFO", + "reason":"need use ohos.permission.GET_BUNDLE_INFO" + }, + { + "name":"ohos.permission.CHANGE_ABILITY_ENABLED_STATE", + "reason":"need use ohos.permission.CHANGE_ABILITY_ENABLED_STATE" + }, + { + "name":"ohos.permission.REMOVE_CACHE_FILES", + "reason":"need use ohos.permission.REMOVE_CACHE_FILES" + }, + { + "name":"ohos.permission.LISTEN_BUNDLE_CHANGE", + "reason":"need use ohos.permission.LISTEN_BUNDLE_CHANGE" + }, + { + "name":"ohos.permission.INSTALL_BUNDLE", + "reason":"need use ohos.permission.INSTALL_BUNDLE" + } + ], + "js": [ + { + "pages": [ + "pages/index/index" + ], + "name": "default", + "window": { + "designWidth": 720, + "autoDesignWidth": false + } + } + ] + } +} \ No newline at end of file diff --git a/aafwk/aafwk_standard/amsprocessmanageapi7/pmsystemappb/src/main/js/default/app.js b/aafwk/aafwk_standard/amsprocessmanageapi7/pmsystemappb/src/main/js/default/app.js new file mode 100644 index 0000000000000000000000000000000000000000..5d3012c7d6777f4b04710913de6f1aa718fa8cc9 --- /dev/null +++ b/aafwk/aafwk_standard/amsprocessmanageapi7/pmsystemappb/src/main/js/default/app.js @@ -0,0 +1,28 @@ +/* + * 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('ProcessManageSystemAppB onCreate'); + }, + onDestroy() { + console.info('ProcessManageSystemAppB onDestroy'); + }, + onShow() { + console.info('ProcessManageSystemAppB onShow'); + }, + onHide() { + console.info('ProcessManageSystemAppB onHide'); + } +}; diff --git a/aafwk/aafwk_standard/amsprocessmanageapi7/pmsystemappb/src/main/js/default/i18n/en-US.json b/aafwk/aafwk_standard/amsprocessmanageapi7/pmsystemappb/src/main/js/default/i18n/en-US.json new file mode 100644 index 0000000000000000000000000000000000000000..e63c70d978a3a53be988388c87182f81785e170c --- /dev/null +++ b/aafwk/aafwk_standard/amsprocessmanageapi7/pmsystemappb/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/aafwk/aafwk_standard/amsprocessmanageapi7/pmsystemappb/src/main/js/default/i18n/zh-CN.json b/aafwk/aafwk_standard/amsprocessmanageapi7/pmsystemappb/src/main/js/default/i18n/zh-CN.json new file mode 100644 index 0000000000000000000000000000000000000000..de6ee5748322f44942c1b003319d8e66c837675f --- /dev/null +++ b/aafwk/aafwk_standard/amsprocessmanageapi7/pmsystemappb/src/main/js/default/i18n/zh-CN.json @@ -0,0 +1,6 @@ +{ + "strings": { + "hello": "您好", + "world": "世界" + } +} \ No newline at end of file diff --git a/aafwk/aafwk_standard/amsprocessmanageapi7/pmsystemappb/src/main/js/default/pages/index/index.css b/aafwk/aafwk_standard/amsprocessmanageapi7/pmsystemappb/src/main/js/default/pages/index/index.css new file mode 100644 index 0000000000000000000000000000000000000000..6fda792753f2e15f22b529c7b90a82185b2770bf --- /dev/null +++ b/aafwk/aafwk_standard/amsprocessmanageapi7/pmsystemappb/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/aafwk/aafwk_standard/amsprocessmanageapi7/pmsystemappb/src/main/js/default/pages/index/index.hml b/aafwk/aafwk_standard/amsprocessmanageapi7/pmsystemappb/src/main/js/default/pages/index/index.hml new file mode 100644 index 0000000000000000000000000000000000000000..f64b040a5ae394dbaa5e185e1ecd4f4556b92184 --- /dev/null +++ b/aafwk/aafwk_standard/amsprocessmanageapi7/pmsystemappb/src/main/js/default/pages/index/index.hml @@ -0,0 +1,5 @@ +
+ + {{ $t('strings.hello') }} {{ title }} + +
diff --git a/aafwk/aafwk_standard/amsprocessmanageapi7/pmsystemappb/src/main/js/default/pages/index/index.js b/aafwk/aafwk_standard/amsprocessmanageapi7/pmsystemappb/src/main/js/default/pages/index/index.js new file mode 100644 index 0000000000000000000000000000000000000000..afb29461087565d6a77f26ffab84831de1123955 --- /dev/null +++ b/aafwk/aafwk_standard/amsprocessmanageapi7/pmsystemappb/src/main/js/default/pages/index/index.js @@ -0,0 +1,74 @@ +/* + * 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 commonEvent from '@ohos.commonevent' + +const injectRef = Object.getPrototypeOf(global) || global +injectRef.regeneratorRuntime = require('@babel/runtime/regenerator') + +var publishEventName = "event_SystemAppBToSystemAppA"; + +function onReceivedPublishCallBack() { + console.log("ACTS_ProcessManage SystemAppB onReceivedPublishCallBack"); +} + +export default { + data: { + title: "" + }, + onInit() { + console.info('ACTS_ProcessManage SystemAppB onInit'); + this.title = "ACTS_ProcessManage SystemAppB"; + }, + onReady() { + console.info('ACTS_ProcessManage SystemAppB onReady'); + commonEvent.publish(publishEventName,onReceivedPublishCallBack); + }, + onActive() { + console.info('ACTS_ProcessManage SystemAppB onActive'); + }, + onShow() { + console.info('ACTS_ProcessManage SystemAppB onShow'); + }, + onInactive() { + console.info('ACTS_ProcessManage SystemAppB onInactive'); + }, + onHide() { + console.info('ACTS_ProcessManage SystemAppB onHide'); + }, + onDestroy() { + console.info('ACTS_ProcessManage SystemAppB onDestroy'); + }, + onBackPress() { + console.info('ACTS_ProcessManage SystemAppB onBackPress'); + }, + onNewRequest() { + console.info('ACTS_ProcessManage SystemAppB onNewRequest'); + }, + onStartContinuation() { + console.info('ACTS_ProcessManage SystemAppB onStartContinuation'); + }, + onSaveData(value) { + console.info('ACTS_ProcessManage SystemAppB onSaveData:' + JSON.stringify(value)); + }, + onRestoreData(value) { + console.info('ACTS_ProcessManage SystemAppB onRestoreData:' + JSON.stringify(value)); + }, + onCompleteContinuation(code) { + console.info('ACTS_ProcessManage SystemAppB onCompleteContinuation:' + JSON.stringify(code)); + }, + onConfigurationUpdated(configuration) { + console.info('ACTS_ProcessManage SystemAppB onConfigurationUpdated:' + JSON.stringify(configuration)); + } +} \ No newline at end of file diff --git a/aafwk/aafwk_standard/amsprocessmanageapi7/pmsystemappb/src/main/js/resources/base/element/string.json b/aafwk/aafwk_standard/amsprocessmanageapi7/pmsystemappb/src/main/js/resources/base/element/string.json new file mode 100644 index 0000000000000000000000000000000000000000..fd60cdefa929070f1798c6e36f0502f1e1e219a4 --- /dev/null +++ b/aafwk/aafwk_standard/amsprocessmanageapi7/pmsystemappb/src/main/js/resources/base/element/string.json @@ -0,0 +1,12 @@ +{ + "string": [ + { + "name": "app_name", + "value": "particlestartability" + }, + { + "name": "mainability_description", + "value": "JS_Phone_Empty Feature Ability" + } + ] +} \ No newline at end of file diff --git a/aafwk/aafwk_standard/amsprocessmanageapi7/pmsystemappb/src/main/js/resources/base/media/icon.png b/aafwk/aafwk_standard/amsprocessmanageapi7/pmsystemappb/src/main/js/resources/base/media/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..ce307a8827bd75456441ceb57d530e4c8d45d36c Binary files /dev/null and b/aafwk/aafwk_standard/amsprocessmanageapi7/pmsystemappb/src/main/js/resources/base/media/icon.png differ diff --git a/aafwk/aafwk_standard/amsprocessmanageapi7/pmvendorappa/BUILD.gn b/aafwk/aafwk_standard/amsprocessmanageapi7/pmvendorappa/BUILD.gn new file mode 100644 index 0000000000000000000000000000000000000000..37f7f37103be4789ce3856cb73a6b3778ffab064 --- /dev/null +++ b/aafwk/aafwk_standard/amsprocessmanageapi7/pmvendorappa/BUILD.gn @@ -0,0 +1,34 @@ +# 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_hap("ActsAmsProcessManageVendorAppAApi7") { + hap_name = "ActsAmsProcessManageVendorAppAApi7" + hap_profile = "./src/main/config.json" + subsystem_name = XTS_SUITENAME + final_hap_path = + "${SUITES_OUTPUT_ROOT}/${XTS_SUITENAME}/testcases/${hap_name}.hap" + testonly = true + deps = [ + ":hjs_demo_js_assets", + ":hjs_demo_resources", + ] + certificate_profile = "./signature/openharmony_sx.p7b" +} +ohos_js_assets("hjs_demo_js_assets") { + source_dir = "./src/main/js/default" +} +ohos_resources("hjs_demo_resources") { + sources = [ "./src/main/js/resources" ] + hap_profile = "./src/main/config.json" +} diff --git a/aafwk/aafwk_standard/amsprocessmanageapi7/pmvendorappa/signature/openharmony_sx.p7b b/aafwk/aafwk_standard/amsprocessmanageapi7/pmvendorappa/signature/openharmony_sx.p7b new file mode 100755 index 0000000000000000000000000000000000000000..f06e218defa7f707e22a3890903c574e1c498217 Binary files /dev/null and b/aafwk/aafwk_standard/amsprocessmanageapi7/pmvendorappa/signature/openharmony_sx.p7b differ diff --git a/aafwk/aafwk_standard/amsprocessmanageapi7/pmvendorappa/src/main/config.json b/aafwk/aafwk_standard/amsprocessmanageapi7/pmvendorappa/src/main/config.json new file mode 100644 index 0000000000000000000000000000000000000000..38a8588558fc0b664a90d8a23d9386d87b1d9f93 --- /dev/null +++ b/aafwk/aafwk_standard/amsprocessmanageapi7/pmvendorappa/src/main/config.json @@ -0,0 +1,61 @@ +{ + "app": { + "bundleName": "com.acts.pmvendorappaapi7", + "vendor": "example", + "version": { + "code": 1, + "name": "1.0" + }, + "apiVersion": { + "compatible": 4, + "target": 5, + "releaseType": "Beta1" + } + }, + "deviceConfig": {}, + "module": { + "package": "com.acts.pmvendorappaapi7", + "name": ".MyApplication", + "deviceType": [ + "phone" + ], + "distro": { + "deliveryWithInstall": true, + "moduleName": "entry", + "moduleType": "entry" + }, + "abilities": [ + { + "skills": [ + { + "entities": [ + "entity.system.home" + ], + "actions": [ + "action.system.home" + ] + } + ], + "name": "com.acts.pmvendorappaapi7.MainAbility", + "visible": true, + "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 + } + } + ] + } +} \ No newline at end of file diff --git a/aafwk/aafwk_standard/amsprocessmanageapi7/pmvendorappa/src/main/js/default/app.js b/aafwk/aafwk_standard/amsprocessmanageapi7/pmvendorappa/src/main/js/default/app.js new file mode 100644 index 0000000000000000000000000000000000000000..c5cd374c44f4090c18d007979a6fe3b89f229a57 --- /dev/null +++ b/aafwk/aafwk_standard/amsprocessmanageapi7/pmvendorappa/src/main/js/default/app.js @@ -0,0 +1,28 @@ +/* + * 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('ProcessManageVendorAppA onCreate'); + }, + onDestroy() { + console.info('ProcessManageVendorAppA onDestroy'); + }, + onShow() { + console.info('ProcessManageVendorAppA onShow'); + }, + onHide() { + console.info('ProcessManageVendorAppA onHide'); + } +}; diff --git a/aafwk/aafwk_standard/amsprocessmanageapi7/pmvendorappa/src/main/js/default/i18n/en-US.json b/aafwk/aafwk_standard/amsprocessmanageapi7/pmvendorappa/src/main/js/default/i18n/en-US.json new file mode 100644 index 0000000000000000000000000000000000000000..e63c70d978a3a53be988388c87182f81785e170c --- /dev/null +++ b/aafwk/aafwk_standard/amsprocessmanageapi7/pmvendorappa/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/aafwk/aafwk_standard/amsprocessmanageapi7/pmvendorappa/src/main/js/default/i18n/zh-CN.json b/aafwk/aafwk_standard/amsprocessmanageapi7/pmvendorappa/src/main/js/default/i18n/zh-CN.json new file mode 100644 index 0000000000000000000000000000000000000000..de6ee5748322f44942c1b003319d8e66c837675f --- /dev/null +++ b/aafwk/aafwk_standard/amsprocessmanageapi7/pmvendorappa/src/main/js/default/i18n/zh-CN.json @@ -0,0 +1,6 @@ +{ + "strings": { + "hello": "您好", + "world": "世界" + } +} \ No newline at end of file diff --git a/aafwk/aafwk_standard/amsprocessmanageapi7/pmvendorappa/src/main/js/default/pages/index/index.css b/aafwk/aafwk_standard/amsprocessmanageapi7/pmvendorappa/src/main/js/default/pages/index/index.css new file mode 100644 index 0000000000000000000000000000000000000000..6fda792753f2e15f22b529c7b90a82185b2770bf --- /dev/null +++ b/aafwk/aafwk_standard/amsprocessmanageapi7/pmvendorappa/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/aafwk/aafwk_standard/amsprocessmanageapi7/pmvendorappa/src/main/js/default/pages/index/index.hml b/aafwk/aafwk_standard/amsprocessmanageapi7/pmvendorappa/src/main/js/default/pages/index/index.hml new file mode 100644 index 0000000000000000000000000000000000000000..f64b040a5ae394dbaa5e185e1ecd4f4556b92184 --- /dev/null +++ b/aafwk/aafwk_standard/amsprocessmanageapi7/pmvendorappa/src/main/js/default/pages/index/index.hml @@ -0,0 +1,5 @@ +
+ + {{ $t('strings.hello') }} {{ title }} + +
diff --git a/aafwk/aafwk_standard/amsprocessmanageapi7/pmvendorappa/src/main/js/default/pages/index/index.js b/aafwk/aafwk_standard/amsprocessmanageapi7/pmvendorappa/src/main/js/default/pages/index/index.js new file mode 100644 index 0000000000000000000000000000000000000000..8877d0ccb9f0cdbc09152cff0bdb0c587bb36ca0 --- /dev/null +++ b/aafwk/aafwk_standard/amsprocessmanageapi7/pmvendorappa/src/main/js/default/pages/index/index.js @@ -0,0 +1,108 @@ +/* + * 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 commonEvent from '@ohos.commonevent' +// import abilityManager from '@ohos.app.abilityManager' +import abilityManager from '@ohos.application.appManager' +import featureAbility from '@ohos.ability.featureability' + +const injectRef = Object.getPrototypeOf(global) || global +injectRef.regeneratorRuntime = require('@babel/runtime/regenerator') + +var publishEventName = "event_VendorAppAToSystemAppA"; +var publishEventNameVendor = "event_from_ProcessManage_VendorAppA"; +var testAction; +var testTarget; + +function onReceivedPublishCallBack() { + console.log("ACTS_ProcessManage VendorAppA onReceivedPublishCallBack"); +} + +function onReceivedHandleCallback(err, data) { + console.log("ACTS_ProcessManage VendorAppA onReceivedHandleCallback JSON.stringify data:" + + JSON.stringify(data)); + console.log("ACTS_ProcessManage VendorAppA onReceivedHandleCallback data:" + + data); + console.log("ACTS_ProcessManage VendorAppA onReceivedHandleCallback err:" + + err); + commonEvent.publish(publishEventNameVendor,onReceivedPublishCallBack); +} + +export default { + data: { + title: "" + }, + onInit() { + console.info('ACTS_ProcessManage VendorAppA onInit'); + this.title = "ACTS_ProcessManage VendorAppA"; + }, + async onReady() { + console.info('ACTS_ProcessManage VendorAppA onReady'); + var abilityWant = await featureAbility.getWant(); + console.log("ACTS_ProcessManage VendorAppA onShow abilityWant:" + + JSON.stringify(abilityWant)); + testAction = abilityWant.action; + console.log("ACTS_ProcessManage VendorAppA onShow testAction:" + testAction); + testTarget = abilityWant.parameters.testTarget; + console.log("ACTS_ProcessManage VendorAppA onShow testTarget:" + testTarget); + if (testAction == 'thirdpartykill') { + console.log("ACTS_ProcessManage VendorAppA onForeground testAction:" + testAction); + appManager.killProcessesByBundleName(testTarget, onReceivedHandleCallback); + } + if (testAction == 'thirdpartyclear') { + console.log("ACTS_ProcessManage VendorAppA onForeground testAction:" + testAction); + appManager.clearUpApplicationData(testTarget, onReceivedHandleCallback); + } + else{ + commonEvent.publish(publishEventName, onReceivedPublishCallBack); + } + + }, + onActive() { + console.info('ACTS_ProcessManage VendorAppA onActive'); + }, + onShow() { + console.info('ACTS_ProcessManage VendorAppA onShow'); + }, + onInactive() { + console.info('ACTS_ProcessManage VendorAppA onInactive'); + }, + onHide() { + console.info('ACTS_ProcessManage VendorAppA onHide'); + }, + onDestroy() { + console.info('ACTS_ProcessManage VendorAppA onDestroy'); + }, + onBackPress() { + console.info('ACTS_ProcessManage VendorAppA onBackPress'); + }, + onNewRequest() { + console.info('ACTS_ProcessManage VendorAppA onNewRequest'); + }, + onStartContinuation() { + console.info('ACTS_ProcessManage VendorAppA onStartContinuation'); + }, + onSaveData(value) { + console.info('ACTS_ProcessManage VendorAppA onSaveData:' + JSON.stringify(value)); + }, + onRestoreData(value) { + console.info('ACTS_ProcessManage VendorAppA onRestoreData:' + JSON.stringify(value)); + }, + onCompleteContinuation(code) { + console.info('ACTS_ProcessManage VendorAppA onCompleteContinuation:' + JSON.stringify(code)); + }, + onConfigurationUpdated(configuration) { + console.info('ACTS_ProcessManage VendorAppA onConfigurationUpdated:' + JSON.stringify(configuration)); + } +} diff --git a/aafwk/aafwk_standard/amsprocessmanageapi7/pmvendorappa/src/main/js/resources/base/element/string.json b/aafwk/aafwk_standard/amsprocessmanageapi7/pmvendorappa/src/main/js/resources/base/element/string.json new file mode 100644 index 0000000000000000000000000000000000000000..fd60cdefa929070f1798c6e36f0502f1e1e219a4 --- /dev/null +++ b/aafwk/aafwk_standard/amsprocessmanageapi7/pmvendorappa/src/main/js/resources/base/element/string.json @@ -0,0 +1,12 @@ +{ + "string": [ + { + "name": "app_name", + "value": "particlestartability" + }, + { + "name": "mainability_description", + "value": "JS_Phone_Empty Feature Ability" + } + ] +} \ No newline at end of file diff --git a/aafwk/aafwk_standard/amsprocessmanageapi7/pmvendorappa/src/main/js/resources/base/media/icon.png b/aafwk/aafwk_standard/amsprocessmanageapi7/pmvendorappa/src/main/js/resources/base/media/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..ce307a8827bd75456441ceb57d530e4c8d45d36c Binary files /dev/null and b/aafwk/aafwk_standard/amsprocessmanageapi7/pmvendorappa/src/main/js/resources/base/media/icon.png differ diff --git a/aafwk/aafwk_standard/lanuageConfigapi7/ActslanguageconfigAppATest/.idea/.gitignore b/aafwk/aafwk_standard/lanuageConfigapi7/ActslanguageconfigAppATest/.idea/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..eaf91e2ac647df635a09f01b8a2a254252aae8d7 --- /dev/null +++ b/aafwk/aafwk_standard/lanuageConfigapi7/ActslanguageconfigAppATest/.idea/.gitignore @@ -0,0 +1,3 @@ +# Default ignored files +/shelf/ +/workspace.xml diff --git a/aafwk/aafwk_standard/lanuageConfigapi7/ActslanguageconfigAppATest/.idea/ActslanguageconfigAppATest.iml b/aafwk/aafwk_standard/lanuageConfigapi7/ActslanguageconfigAppATest/.idea/ActslanguageconfigAppATest.iml new file mode 100644 index 0000000000000000000000000000000000000000..18ec59dd70c312989ec67b525207ca8514461e22 --- /dev/null +++ b/aafwk/aafwk_standard/lanuageConfigapi7/ActslanguageconfigAppATest/.idea/ActslanguageconfigAppATest.iml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/aafwk/aafwk_standard/lanuageConfigapi7/ActslanguageconfigAppATest/.idea/gradle.xml b/aafwk/aafwk_standard/lanuageConfigapi7/ActslanguageconfigAppATest/.idea/gradle.xml new file mode 100644 index 0000000000000000000000000000000000000000..95e17c99797ce1e5691ea4cb222c628898662239 --- /dev/null +++ b/aafwk/aafwk_standard/lanuageConfigapi7/ActslanguageconfigAppATest/.idea/gradle.xml @@ -0,0 +1,16 @@ + + + + + + \ No newline at end of file diff --git a/aafwk/aafwk_standard/lanuageConfigapi7/ActslanguageconfigAppATest/.idea/misc.xml b/aafwk/aafwk_standard/lanuageConfigapi7/ActslanguageconfigAppATest/.idea/misc.xml new file mode 100644 index 0000000000000000000000000000000000000000..9715c221cd4910f4d04f53a751b4465092f72024 --- /dev/null +++ b/aafwk/aafwk_standard/lanuageConfigapi7/ActslanguageconfigAppATest/.idea/misc.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/aafwk/aafwk_standard/lanuageConfigapi7/ActslanguageconfigAppATest/.idea/modules.xml b/aafwk/aafwk_standard/lanuageConfigapi7/ActslanguageconfigAppATest/.idea/modules.xml new file mode 100644 index 0000000000000000000000000000000000000000..e641b8180a874cb0721b5a636f84be1251623855 --- /dev/null +++ b/aafwk/aafwk_standard/lanuageConfigapi7/ActslanguageconfigAppATest/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/aafwk/aafwk_standard/lanuageConfigapi7/ActslanguageconfigAppATest/BUILD.gn b/aafwk/aafwk_standard/lanuageConfigapi7/ActslanguageconfigAppATest/BUILD.gn new file mode 100644 index 0000000000000000000000000000000000000000..25a9b80478ab8a52ee65201d7664943b37d3d66f --- /dev/null +++ b/aafwk/aafwk_standard/lanuageConfigapi7/ActslanguageconfigAppATest/BUILD.gn @@ -0,0 +1,35 @@ +# 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_hap("ActslanguageconfigAppATest") { + hap_name = "ActslanguageconfigAppATest" + hap_profile = "./src/main/config.json" + subsystem_name = XTS_SUITENAME + final_hap_path = + "${SUITES_OUTPUT_ROOT}/${XTS_SUITENAME}/testcases/${hap_name}.hap" + testonly = true + deps = [ + ":hjs_demo_js_assets", + ":hjs_demo_resources", + ] + certificate_profile = "./signature/openharmony_sx.p7b" +} +ohos_js_assets("hjs_demo_js_assets") { + source_dir = "./src/main/js/default" +} +ohos_resources("hjs_demo_resources") { + sources = [ "./src/main/js/resources" ] + hap_profile = "./src/main/config.json" +} diff --git a/aafwk/aafwk_standard/lanuageConfigapi7/ActslanguageconfigAppATest/signature/openharmony_sx.p7b b/aafwk/aafwk_standard/lanuageConfigapi7/ActslanguageconfigAppATest/signature/openharmony_sx.p7b new file mode 100644 index 0000000000000000000000000000000000000000..cc53179a48f88f20acc379c138a001e9a15838f6 Binary files /dev/null and b/aafwk/aafwk_standard/lanuageConfigapi7/ActslanguageconfigAppATest/signature/openharmony_sx.p7b differ diff --git a/aafwk/aafwk_standard/lanuageConfigapi7/ActslanguageconfigAppATest/src/main/config.json b/aafwk/aafwk_standard/lanuageConfigapi7/ActslanguageconfigAppATest/src/main/config.json new file mode 100644 index 0000000000000000000000000000000000000000..2c3e93c92637459c41f4be0798fb65c6b3bae4b1 --- /dev/null +++ b/aafwk/aafwk_standard/lanuageConfigapi7/ActslanguageconfigAppATest/src/main/config.json @@ -0,0 +1,87 @@ +{ + "app": { + "bundleName": "com.example.actslanguageconfigappatest", + "vendor": "example", + "version": { + "code": 1, + "name": "1.0" + }, + "apiVersion": { + "compatible": 4, + "target": 5, + "releaseType": "Beta1" + } + }, + "deviceConfig": {}, + "module": { + "package": "com.example.actslanguageconfigappatest", + "name": ".MyApplication", + "deviceType": [ + "phone" + ], + "distro": { + "deliveryWithInstall": true, + "moduleName": "entry", + "moduleType": "entry" + }, + "abilities": [ + { + "skills": [ + { + "entities": [ + "entity.system.home" + ], + "actions": [ + "action.system.home" + ] + } + ], + "name": "com.example.actslanguageconfigappatest.MainAbility", + "visible": true, + "icon": "$media:icon", + "description": "$string:mainability_description", + "label": "$string:app_name", + "type": "page", + "launchType": "standard" + } + ], + "reqPermissions": [ + { + "name":"ohos.permission.GET_BUNDLE_INFO_PRIVILEGED", + "reason":"need use ohos.permission.GET_BUNDLE_INFO_PRIVILEGED" + }, + { + "name":"ohos.permission.GET_BUNDLE_INFO", + "reason":"need use ohos.permission.GET_BUNDLE_INFO" + }, + { + "name":"ohos.permission.CHANGE_ABILITY_ENABLED_STATE", + "reason":"need use ohos.permission.CHANGE_ABILITY_ENABLED_STATE" + }, + { + "name":"ohos.permission.REMOVE_CACHE_FILES", + "reason":"need use ohos.permission.REMOVE_CACHE_FILES" + }, + { + "name":"ohos.permission.LISTEN_BUNDLE_CHANGE", + "reason":"need use ohos.permission.LISTEN_BUNDLE_CHANGE" + }, + { + "name":"ohos.permission.INSTALL_BUNDLE", + "reason":"need use ohos.permission.INSTALL_BUNDLE" + } + ], + "js": [ + { + "pages": [ + "pages/index/index" + ], + "name": "default", + "window": { + "designWidth": 720, + "autoDesignWidth": false + } + } + ] + } +} \ No newline at end of file diff --git a/aafwk/aafwk_standard/lanuageConfigapi7/ActslanguageconfigAppATest/src/main/js/default/app.js b/aafwk/aafwk_standard/lanuageConfigapi7/ActslanguageconfigAppATest/src/main/js/default/app.js new file mode 100644 index 0000000000000000000000000000000000000000..5d3012c7d6777f4b04710913de6f1aa718fa8cc9 --- /dev/null +++ b/aafwk/aafwk_standard/lanuageConfigapi7/ActslanguageconfigAppATest/src/main/js/default/app.js @@ -0,0 +1,28 @@ +/* + * 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('ProcessManageSystemAppB onCreate'); + }, + onDestroy() { + console.info('ProcessManageSystemAppB onDestroy'); + }, + onShow() { + console.info('ProcessManageSystemAppB onShow'); + }, + onHide() { + console.info('ProcessManageSystemAppB onHide'); + } +}; diff --git a/aafwk/aafwk_standard/lanuageConfigapi7/ActslanguageconfigAppATest/src/main/js/default/i18n/en-US.json b/aafwk/aafwk_standard/lanuageConfigapi7/ActslanguageconfigAppATest/src/main/js/default/i18n/en-US.json new file mode 100644 index 0000000000000000000000000000000000000000..e63c70d978a3a53be988388c87182f81785e170c --- /dev/null +++ b/aafwk/aafwk_standard/lanuageConfigapi7/ActslanguageconfigAppATest/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/aafwk/aafwk_standard/lanuageConfigapi7/ActslanguageconfigAppATest/src/main/js/default/i18n/zh-CN.json b/aafwk/aafwk_standard/lanuageConfigapi7/ActslanguageconfigAppATest/src/main/js/default/i18n/zh-CN.json new file mode 100644 index 0000000000000000000000000000000000000000..de6ee5748322f44942c1b003319d8e66c837675f --- /dev/null +++ b/aafwk/aafwk_standard/lanuageConfigapi7/ActslanguageconfigAppATest/src/main/js/default/i18n/zh-CN.json @@ -0,0 +1,6 @@ +{ + "strings": { + "hello": "您好", + "world": "世界" + } +} \ No newline at end of file diff --git a/aafwk/aafwk_standard/lanuageConfigapi7/ActslanguageconfigAppATest/src/main/js/default/pages/index/index.css b/aafwk/aafwk_standard/lanuageConfigapi7/ActslanguageconfigAppATest/src/main/js/default/pages/index/index.css new file mode 100644 index 0000000000000000000000000000000000000000..6fda792753f2e15f22b529c7b90a82185b2770bf --- /dev/null +++ b/aafwk/aafwk_standard/lanuageConfigapi7/ActslanguageconfigAppATest/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/aafwk/aafwk_standard/lanuageConfigapi7/ActslanguageconfigAppATest/src/main/js/default/pages/index/index.hml b/aafwk/aafwk_standard/lanuageConfigapi7/ActslanguageconfigAppATest/src/main/js/default/pages/index/index.hml new file mode 100644 index 0000000000000000000000000000000000000000..f64b040a5ae394dbaa5e185e1ecd4f4556b92184 --- /dev/null +++ b/aafwk/aafwk_standard/lanuageConfigapi7/ActslanguageconfigAppATest/src/main/js/default/pages/index/index.hml @@ -0,0 +1,5 @@ +
+ + {{ $t('strings.hello') }} {{ title }} + +
diff --git a/aafwk/aafwk_standard/lanuageConfigapi7/ActslanguageconfigAppATest/src/main/js/default/pages/index/index.js b/aafwk/aafwk_standard/lanuageConfigapi7/ActslanguageconfigAppATest/src/main/js/default/pages/index/index.js new file mode 100644 index 0000000000000000000000000000000000000000..e91d102285d362b9d01077e065ed95986f0fb531 --- /dev/null +++ b/aafwk/aafwk_standard/lanuageConfigapi7/ActslanguageconfigAppATest/src/main/js/default/pages/index/index.js @@ -0,0 +1,59 @@ +/* + * 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 commonEvent from '@ohos.commonevent' + +const injectRef = Object.getPrototypeOf(global) || global +injectRef.regeneratorRuntime = require('@babel/runtime/regenerator') + +function onReceivedPublishCallBack(){ + console.log("========Publish CallBack UpdateLanguageFinish========"); +} + + +export default { + data: { + title: "" + }, + onInit() { + console.info('ACTS_ProcessManage SystemAppB onInit'); + this.title = "ACTS_ProcessManage SystemAppB"; + }, + onReady() { + console.info('ACTS_ProcessManage SystemAppB onReady'); + commonEvent.publish('UpdateLanguageFinish',onReceivedPublishCallBack); + }, + onActive() { + console.info('ACTS_ProcessManage SystemAppB onActive'); + }, + onShow() { + console.info('ACTS_ProcessManage SystemAppB onShow'); + }, + + onDestroy() { + console.info('ACTS_ProcessManage SystemAppB onDestroy'); + }, + onConfigurationUpdated(config) { + console.log("Acts_LanguageConfigAppA onConfigurationUpdated called" + JSON.stringify(config)); + console.log("Acts_LanguageConfigAppA configuration:" + + JSON.stringify(globalThis.abilityContext.configuration)); + + }, + onCompleteContinuation(code) { + console.info('ACTS_ProcessManage SystemAppB onCompleteContinuation:' + JSON.stringify(code)); + }, + onConfigurationUpdated(configuration) { + console.info('ACTS_ProcessManage SystemAppB onConfigurationUpdated:' + JSON.stringify(configuration)); + } +} \ No newline at end of file diff --git a/aafwk/aafwk_standard/lanuageConfigapi7/ActslanguageconfigAppATest/src/main/js/resources/base/element/string.json b/aafwk/aafwk_standard/lanuageConfigapi7/ActslanguageconfigAppATest/src/main/js/resources/base/element/string.json new file mode 100644 index 0000000000000000000000000000000000000000..fd60cdefa929070f1798c6e36f0502f1e1e219a4 --- /dev/null +++ b/aafwk/aafwk_standard/lanuageConfigapi7/ActslanguageconfigAppATest/src/main/js/resources/base/element/string.json @@ -0,0 +1,12 @@ +{ + "string": [ + { + "name": "app_name", + "value": "particlestartability" + }, + { + "name": "mainability_description", + "value": "JS_Phone_Empty Feature Ability" + } + ] +} \ No newline at end of file diff --git a/aafwk/aafwk_standard/lanuageConfigapi7/ActslanguageconfigAppATest/src/main/js/resources/base/media/icon.png b/aafwk/aafwk_standard/lanuageConfigapi7/ActslanguageconfigAppATest/src/main/js/resources/base/media/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..ce307a8827bd75456441ceb57d530e4c8d45d36c Binary files /dev/null and b/aafwk/aafwk_standard/lanuageConfigapi7/ActslanguageconfigAppATest/src/main/js/resources/base/media/icon.png differ diff --git a/aafwk/aafwk_standard/lanuageConfigapi7/BUILD.gn b/aafwk/aafwk_standard/lanuageConfigapi7/BUILD.gn new file mode 100644 index 0000000000000000000000000000000000000000..a53cd4af2267fa3b0168b41e7235996cba09e800 --- /dev/null +++ b/aafwk/aafwk_standard/lanuageConfigapi7/BUILD.gn @@ -0,0 +1,24 @@ +# 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") + +group("lanuageConfigapi7") { + testonly = true + if (is_standard_system) { + deps = [ + "ActslanguageconfigAppATest:ActslanguageconfigAppATest", + "LanguageConfigTestApi7:LanguageConfigTestApi7", + ] + } +} diff --git a/aafwk/aafwk_standard/lanuageConfigapi7/LanguageConfigTestApi7/BUILD.gn b/aafwk/aafwk_standard/lanuageConfigapi7/LanguageConfigTestApi7/BUILD.gn new file mode 100644 index 0000000000000000000000000000000000000000..624e5f61383e7dde82af2ba9be53e958e2aafc9c --- /dev/null +++ b/aafwk/aafwk_standard/lanuageConfigapi7/LanguageConfigTestApi7/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("LanguageConfigTestApi7") { + hap_name = "LanguageConfigTestApi7" + hap_profile = "./entry/src/main/config.json" + deps = [ + ":hjs_demo_js_assets", + ":hjs_demo_resources", + ] + certificate_profile = "./signature/openharmony_sx.p7b" +} +ohos_js_assets("hjs_demo_js_assets") { + source_dir = "./entry/src/main/js/default" +} +ohos_resources("hjs_demo_resources") { + sources = [ "./entry/src/main/js/resources" ] + hap_profile = "./entry/src/main/config.json" +} diff --git a/aafwk/aafwk_standard/lanuageConfigapi7/LanguageConfigTestApi7/Test.json b/aafwk/aafwk_standard/lanuageConfigapi7/LanguageConfigTestApi7/Test.json new file mode 100644 index 0000000000000000000000000000000000000000..8a59d111e65dda5a65a836160e5a3a70b1e8fb03 --- /dev/null +++ b/aafwk/aafwk_standard/lanuageConfigapi7/LanguageConfigTestApi7/Test.json @@ -0,0 +1,38 @@ + +{ + "description": "Configuration for hjunit demo Tests", + "driver": { + "type": "JSUnitTest", + "test-timeout": "120000", + "package": "com.example.languageconfigtestapi7", + "shell-timeout": "60000" + }, + "kits": [ + { + "test-file-name": [ + "LanguageConfigTestApi7.hap" + ], + "type": "AppInstallKit", + "cleanup-apps": true + }, + { + "type": "ShellKit", + "run-command": [ + "remount", + "mkdir /data/test" + ] + }, + { + "type": "PushKit", + "push": [ + "ActslanguageconfigAppATest.hap->/data/test/ActslanguageconfigAppATest.hap"] + }, + { + "type": "ShellKit", + "run-command": [ + "chmod 777 /data/test/*.hap" + ] + } + ] +} + diff --git a/aafwk/aafwk_standard/lanuageConfigapi7/LanguageConfigTestApi7/entry/src/main/config.json b/aafwk/aafwk_standard/lanuageConfigapi7/LanguageConfigTestApi7/entry/src/main/config.json new file mode 100644 index 0000000000000000000000000000000000000000..8e9b5b2a5a2fef425fe191a4bb191db69249c5f7 --- /dev/null +++ b/aafwk/aafwk_standard/lanuageConfigapi7/LanguageConfigTestApi7/entry/src/main/config.json @@ -0,0 +1,87 @@ +{ + "app": { + "bundleName": "com.example.languageconfigtestapi7", + "vendor": "example", + "version": { + "code": 1, + "name": "1.0" + }, + "apiVersion": { + "compatible": 4, + "target": 5, + "releaseType": "Beta1" + } + }, + "deviceConfig": {}, + "module": { + "package": "com.example.languageconfigtestapi7", + "name": ".MyApplication", + "deviceType": [ + "phone" + ], + "distro": { + "deliveryWithInstall": true, + "moduleName": "entry", + "moduleType": "entry" + }, + "abilities": [ + { + "skills": [ + { + "entities": [ + "entity.system.home" + ], + "actions": [ + "action.system.home" + ] + } + ], + "name": "com.example.languageconfigtestapi7.MainAbility", + "icon": "$media:icon", + "description": "$string:mainability_description", + "label": "$string:app_name", + "type": "page", + "launchType": "singleton", + "visible": true + } + ], + "reqPermissions": [ + { + "name":"ohos.permission.GET_BUNDLE_INFO_PRIVILEGED", + "reason":"need use ohos.permission.GET_BUNDLE_INFO_PRIVILEGED" + }, + { + "name":"ohos.permission.GET_BUNDLE_INFO", + "reason":"need use ohos.permission.GET_BUNDLE_INFO" + }, + { + "name":"ohos.permission.CHANGE_ABILITY_ENABLED_STATE", + "reason":"need use ohos.permission.CHANGE_ABILITY_ENABLED_STATE" + }, + { + "name":"ohos.permission.REMOVE_CACHE_FILES", + "reason":"need use ohos.permission.REMOVE_CACHE_FILES" + }, + { + "name":"ohos.permission.LISTEN_BUNDLE_CHANGE", + "reason":"need use ohos.permission.LISTEN_BUNDLE_CHANGE" + }, + { + "name":"ohos.permission.INSTALL_BUNDLE", + "reason":"need use ohos.permission.INSTALL_BUNDLE" + } + ], + "js": [ + { + "pages": [ + "pages/index/index" + ], + "name": "default", + "window": { + "designWidth": 720, + "autoDesignWidth": false + } + } + ] + } +} \ No newline at end of file diff --git a/aafwk/aafwk_standard/lanuageConfigapi7/LanguageConfigTestApi7/entry/src/main/js/default/app.js b/aafwk/aafwk_standard/lanuageConfigapi7/LanguageConfigTestApi7/entry/src/main/js/default/app.js new file mode 100644 index 0000000000000000000000000000000000000000..042038cfc6360ed972035a85e944904021ffb1d6 --- /dev/null +++ b/aafwk/aafwk_standard/lanuageConfigapi7/LanguageConfigTestApi7/entry/src/main/js/default/app.js @@ -0,0 +1,28 @@ +/* + * 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('ActsProcessManageJsTest onCreate'); + }, + onDestroy() { + console.info('ActsProcessManageJsTest onDestroy'); + }, + onShow() { + console.info('ActsProcessManageJsTest onShow'); + }, + onHide() { + console.info('ActsProcessManageJsTest onHide'); + } +}; diff --git a/aafwk/aafwk_standard/lanuageConfigapi7/LanguageConfigTestApi7/entry/src/main/js/default/i18n/en-US.json b/aafwk/aafwk_standard/lanuageConfigapi7/LanguageConfigTestApi7/entry/src/main/js/default/i18n/en-US.json new file mode 100644 index 0000000000000000000000000000000000000000..e63c70d978a3a53be988388c87182f81785e170c --- /dev/null +++ b/aafwk/aafwk_standard/lanuageConfigapi7/LanguageConfigTestApi7/entry/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/aafwk/aafwk_standard/lanuageConfigapi7/LanguageConfigTestApi7/entry/src/main/js/default/i18n/zh-CN.json b/aafwk/aafwk_standard/lanuageConfigapi7/LanguageConfigTestApi7/entry/src/main/js/default/i18n/zh-CN.json new file mode 100644 index 0000000000000000000000000000000000000000..de6ee5748322f44942c1b003319d8e66c837675f --- /dev/null +++ b/aafwk/aafwk_standard/lanuageConfigapi7/LanguageConfigTestApi7/entry/src/main/js/default/i18n/zh-CN.json @@ -0,0 +1,6 @@ +{ + "strings": { + "hello": "您好", + "world": "世界" + } +} \ No newline at end of file diff --git a/aafwk/aafwk_standard/lanuageConfigapi7/LanguageConfigTestApi7/entry/src/main/js/default/pages/index/index.css b/aafwk/aafwk_standard/lanuageConfigapi7/LanguageConfigTestApi7/entry/src/main/js/default/pages/index/index.css new file mode 100644 index 0000000000000000000000000000000000000000..18463feca0a77306fe28b9bcecdfe733ac5b3418 --- /dev/null +++ b/aafwk/aafwk_standard/lanuageConfigapi7/LanguageConfigTestApi7/entry/src/main/js/default/pages/index/index.css @@ -0,0 +1,28 @@ +/* + * 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. + */ + .container { + flex-direction: column; + justify-content: center; + align-items: center; +} + +.title { + font-size: 100px; +} + +.btn { + width: 200px; + height: 80px; +} diff --git a/aafwk/aafwk_standard/lanuageConfigapi7/LanguageConfigTestApi7/entry/src/main/js/default/pages/index/index.hml b/aafwk/aafwk_standard/lanuageConfigapi7/LanguageConfigTestApi7/entry/src/main/js/default/pages/index/index.hml new file mode 100644 index 0000000000000000000000000000000000000000..5b17eddbc838bd39d96337c68ddb86c3383d804e --- /dev/null +++ b/aafwk/aafwk_standard/lanuageConfigapi7/LanguageConfigTestApi7/entry/src/main/js/default/pages/index/index.hml @@ -0,0 +1,20 @@ +/* + * 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. + */ +
+ + {{ $t('strings.hello') }} {{ title }} + + +
diff --git a/aafwk/aafwk_standard/lanuageConfigapi7/LanguageConfigTestApi7/entry/src/main/js/default/pages/index/index.js b/aafwk/aafwk_standard/lanuageConfigapi7/LanguageConfigTestApi7/entry/src/main/js/default/pages/index/index.js new file mode 100644 index 0000000000000000000000000000000000000000..ee3a7077b7d52935d3f70b5cb70e38ea9d0e33f1 --- /dev/null +++ b/aafwk/aafwk_standard/lanuageConfigapi7/LanguageConfigTestApi7/entry/src/main/js/default/pages/index/index.js @@ -0,0 +1,84 @@ +/* + * 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 { Core, ExpectExtend } from 'deccjsunit/index' + +const injectRef = Object.getPrototypeOf(global) || global +injectRef.regeneratorRuntime = require('@babel/runtime/regenerator') + +export default { + data: { + title: "", + testTime: 0 + }, + onInit() { + console.info('ActsProcessManageJsTest onInit'); + this.title = this.$t('strings.world'); + }, + onShow() { + console.info('ActsProcessManageJsTest onShow'); + console.info('ActsProcessManageJsTest testTime' + this.testTime); + if (this.testTime == 0) { + const core = Core.getInstance() + const expectExtend = new ExpectExtend({ + 'id': 'extend' + }) + core.addService('expect', expectExtend) + core.init() + const configService = core.getDefaultService('config') + this.timeout = 30000; + configService.setConfig(this) + + require('../../../test/List.test') + core.execute() + } + this.testTime++; + }, + onReady() { + console.info('ActsProcessManageJsTest onReady'); + }, + onActive() { + console.info('ActsProcessManageJsTest onActive'); + }, + onInactive() { + console.info('ActsProcessManageJsTest onInactive'); + }, + onHide() { + console.info('ActsProcessManageJsTest onHide'); + }, + onDestroy() { + console.info('ActsProcessManageJsTest onDestroy'); + }, + onBackPress() { + console.info('ActsProcessManageJsTest onBackPress'); + }, + onNewRequest() { + console.info('ActsProcessManageJsTest onNewRequest'); + }, + onStartContinuation() { + console.info('ActsProcessManageJsTest onStartContinuation'); + }, + onSaveData(value) { + console.info('ActsProcessManageJsTest onSaveData:' + JSON.stringify(value)); + }, + onRestoreData(value) { + console.info('ActsProcessManageJsTest onRestoreData:' + JSON.stringify(value)); + }, + onCompleteContinuation(code) { + console.info('ActsProcessManageJsTest onCompleteContinuation:' + JSON.stringify(code)); + }, + onConfigurationUpdated(configuration) { + console.info('ActsProcessManageJsTest onConfigurationUpdated:' + JSON.stringify(configuration)); + } +} diff --git a/aafwk/aafwk_standard/lanuageConfigapi7/LanguageConfigTestApi7/entry/src/main/js/resources/base/element/string.json b/aafwk/aafwk_standard/lanuageConfigapi7/LanguageConfigTestApi7/entry/src/main/js/resources/base/element/string.json new file mode 100644 index 0000000000000000000000000000000000000000..03574a36c533357eef7fc0acc5e21af14f4e5f67 --- /dev/null +++ b/aafwk/aafwk_standard/lanuageConfigapi7/LanguageConfigTestApi7/entry/src/main/js/resources/base/element/string.json @@ -0,0 +1,12 @@ +{ + "string": [ + { + "name": "app_name", + "value": "actsparticleabilitytest" + }, + { + "name": "mainability_description", + "value": "JS_Phone_Empty Feature Ability" + } + ] +} \ No newline at end of file diff --git a/aafwk/aafwk_standard/lanuageConfigapi7/LanguageConfigTestApi7/entry/src/main/js/resources/base/media/icon.png b/aafwk/aafwk_standard/lanuageConfigapi7/LanguageConfigTestApi7/entry/src/main/js/resources/base/media/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..ce307a8827bd75456441ceb57d530e4c8d45d36c Binary files /dev/null and b/aafwk/aafwk_standard/lanuageConfigapi7/LanguageConfigTestApi7/entry/src/main/js/resources/base/media/icon.png differ diff --git a/aafwk/aafwk_standard/lanuageConfigapi7/LanguageConfigTestApi7/entry/src/main/js/test/ActsProcessManageJsTest.test.js b/aafwk/aafwk_standard/lanuageConfigapi7/LanguageConfigTestApi7/entry/src/main/js/test/ActsProcessManageJsTest.test.js new file mode 100644 index 0000000000000000000000000000000000000000..6d79b96d7a8291e7470edf2aa3632b9a75755653 --- /dev/null +++ b/aafwk/aafwk_standard/lanuageConfigapi7/LanguageConfigTestApi7/entry/src/main/js/test/ActsProcessManageJsTest.test.js @@ -0,0 +1,160 @@ +/* + * 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 commonEvent from '@ohos.commonevent' +import bundle from '@ohos.bundle' +import missionManager from '@ohos.application.missionManager' +import abilityManager from '@ohos.application.abilityManager' +import featureAbility from '@ohos.ability.featureability' + +var subscriberInfoMultiInstance = { + events: ["UpdateLanguageFinish"] +}; +const BUNDLE_PATHS = [['/data/test/ActslanguageconfigAppATest.hap']]; +const BUNDLE_NAMES = ['com.example.actslanguageconfigappatest']; +const BUNDLE_COUNT = 1; +const START_ABILITY_TIMEOUT = 5000; +const MAX_MISSION_NUM = 1024; + +async function startAbilityProcess(parameters) { + let bundleName; + let abilityName; + + let idx = parameters.nextStep; + switch (parameters.step[idx]) { + case "StartA1": + bundleName = "com.example.actslanguageconfigappatest"; + abilityName = "com.example.actslanguageconfigappatest.MainAbility"; + break; + + default: + break; + } + parameters.nextStep = ++idx; + await featureAbility.startAbility({ + want: { + bundleName: bundleName, + abilityName: abilityName, + parameters: parameters + } + + }) +} + + +function getMissionId() { + return new Promise(async (resolve, reject) => { + var missionId = -1; + var missionInfos = await missionManager.getMissionInfos('', MAX_MISSION_NUM); + for (let i = 0; i < missionInfos.length; i++) { + console.log('getMissionId result: ' + i + '= ' + JSON.stringify(missionInfos[i])) + if ((missionInfos[i].want.abilityName == "com.example.languageconfigtestapi7.MainAbility") && + (missionInfos[i].runningState == 0)) { + missionId = missionInfos[i].missionId; + break; + } + } + console.log('======>Acts_getMissionId resolve missionId<=======' + missionId); + resolve(missionId); + }) +} + +describe('ActsAbilityTest', function () { + beforeEach(async (done) => { + console.log('======>Acts_beforeEach ininin<======='); + let installer = await bundle.getBundleInstaller(); + var count = 0; + + for (let i = 0; i < BUNDLE_COUNT; i++) { + installer.install(BUNDLE_PATHS[i], { + userId: 100, + installFlag: 1, + isKeepData: false + }, (err, data) => { + count++; + console.log('======>Acts_beforeEach install finish <=======' + err.code); + console.log('======>Acts_beforeEach install finish <=======' + data.status); + console.log('======>Acts_beforeEach install finish <=======' + data.statusMessage); + if (count == BUNDLE_COUNT) { + setTimeout(() => { + done(); + }, 1000) + } + }) + } + }) + /* + * @tc.number: AMS_UpdateConfiguration_0100 + * @tc.name: Connects a service ability, which is used to start a cloned page ability. + * @tc.desc: Check the event data of executor page ability publishes + */ + it('AMS_UpdateConfiguration_0100', 0, async function (done) { + console.log('Acts_AMS_UpdateConfiguration_0100====Acts_Subscribe CallBack data:====>" + JSON.stringify(data)); + + expect(data.event).assertEqual("UpdateLanguageFinish"); + clearTimeout(id); + console.log('Acts_AMS_UpdateConfiguration_0100 start set lang'); + commonEvent.unsubscribe(subscriber, unSubscribeCallback); + } + + commonEvent.createSubscriber(subscriberInfoMultiInstance).then(async (data) => { + console.debug("Acts_====>Create Subscriber====>"); + subscriber = data; + commonEvent.subscribe(subscriber, subscribeCallBack); + }) + + function unSubscribeCallback() { + + setTimeout( function () { + console.debug("Acts_====>UnSubscribe CallBack====>"); + done(); + }, 2000); + + } + + function timeout() { + expect().assertFail(); + console.log('Acts_StartLanguageConfigTester timeout'); + commonEvent.unsubscribe(subscriber, unSubscribeCallback); + } + + id = setTimeout(timeout, START_ABILITY_TIMEOUT); + console.log('Acts_Start LanguageConfigTester AMS_UpdateConfiguration_0100 timer id : ' + id); + + console.log('Acts_LanguageConfigTester AMS_UpdateConfiguration_0100 start Ability'); + startAbilityProcess({ + startId: 0, + stepNum: 1, + nextStep: 0, + step: ["StartA1"] + }); + }) + + +}) diff --git a/aafwk/aafwk_standard/lanuageConfigapi7/LanguageConfigTestApi7/entry/src/main/js/test/List.test.js b/aafwk/aafwk_standard/lanuageConfigapi7/LanguageConfigTestApi7/entry/src/main/js/test/List.test.js new file mode 100644 index 0000000000000000000000000000000000000000..a7c683b3c0d578297e04ff1d997cf048087eec47 --- /dev/null +++ b/aafwk/aafwk_standard/lanuageConfigapi7/LanguageConfigTestApi7/entry/src/main/js/test/List.test.js @@ -0,0 +1,15 @@ +/* + * 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('./ActsProcessManageJsTest.test.js') \ No newline at end of file diff --git a/aafwk/aafwk_standard/lanuageConfigapi7/LanguageConfigTestApi7/signature/openharmony_sx.p7b b/aafwk/aafwk_standard/lanuageConfigapi7/LanguageConfigTestApi7/signature/openharmony_sx.p7b new file mode 100644 index 0000000000000000000000000000000000000000..cc53179a48f88f20acc379c138a001e9a15838f6 Binary files /dev/null and b/aafwk/aafwk_standard/lanuageConfigapi7/LanguageConfigTestApi7/signature/openharmony_sx.p7b differ