diff --git a/notification/ces_standard/BUILD.gn b/notification/ces_standard/BUILD.gn index c929c099f037d4a1aa30a0c5c826b8e4d175fa09..9951871275841051ae0c85a9d3dbd22b6ac4daa8 100644 --- a/notification/ces_standard/BUILD.gn +++ b/notification/ces_standard/BUILD.gn @@ -18,6 +18,7 @@ group("ces_standard") { if (is_standard_system) { deps = [ "actsCommonEventManagerSupportTest:ActsCommonEventManagerSupportTest", + "actsCommonEventManagerTest:ActsCommonEventManagerTest", "actsCommonEventSupportTest:ActsCommonEventSupportTest", "subscribeandpublish:SubscribeAndPublish", ] diff --git a/notification/ces_standard/actsCommonEventManagerTest/BUILD.gn b/notification/ces_standard/actsCommonEventManagerTest/BUILD.gn new file mode 100644 index 0000000000000000000000000000000000000000..d9fb40393a86e3cb24b59e31b3d7ec4ebc3862a5 --- /dev/null +++ b/notification/ces_standard/actsCommonEventManagerTest/BUILD.gn @@ -0,0 +1,34 @@ +# Copyright (c) 2023 Huawei Device Co., Ltd. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +import("//test/xts/tools/build/suite.gni") + +ohos_js_hap_suite("ActsCommonEventManagerTest") { + hap_profile = "./src/main/config.json" + deps = [ + ":hjs_demo_js_assets", + ":hjs_demo_resources", + ] + certificate_profile = "./signature/openharmony_sx.p7b" + hap_name = "ActsCommonEventManagerTest" + subsystem_name = "notification" + part_name = "common_event_service" +} +ohos_js_assets("hjs_demo_js_assets") { + js2abc = true + hap_profile = "./src/main/config.json" + source_dir = "./src/main/js" +} +ohos_resources("hjs_demo_resources") { + sources = [ "./src/main/resources" ] + hap_profile = "./src/main/config.json" +} diff --git a/notification/ces_standard/actsCommonEventManagerTest/Test.json b/notification/ces_standard/actsCommonEventManagerTest/Test.json new file mode 100644 index 0000000000000000000000000000000000000000..014b718e1dfe7eee2376833138bf59b28b9dc8af --- /dev/null +++ b/notification/ces_standard/actsCommonEventManagerTest/Test.json @@ -0,0 +1,19 @@ +{ + "description": "Configuration for hjunit demo Tests", + "driver": { + "type": "OHJSUnitTest", + "test-timeout": "260000", + "shell-timeout": "260000", + "bundle-name": "com.example.actscommoneventmanager", + "package-name": "com.example.actscommoneventmanager" + }, + "kits": [ + { + "test-file-name": [ + "ActsCommonEventManagerTest.hap" + ], + "type": "AppInstallKit", + "cleanup-apps": true + } + ] +} \ No newline at end of file diff --git a/notification/ces_standard/actsCommonEventManagerTest/signature/openharmony_sx.p7b b/notification/ces_standard/actsCommonEventManagerTest/signature/openharmony_sx.p7b new file mode 100644 index 0000000000000000000000000000000000000000..ef068e98b89ba732b56e489c759a3635a29b6476 Binary files /dev/null and b/notification/ces_standard/actsCommonEventManagerTest/signature/openharmony_sx.p7b differ diff --git a/notification/ces_standard/actsCommonEventManagerTest/src/main/config.json b/notification/ces_standard/actsCommonEventManagerTest/src/main/config.json new file mode 100644 index 0000000000000000000000000000000000000000..e4852bef82739ad30c254bcf69f2b3e4419716ed --- /dev/null +++ b/notification/ces_standard/actsCommonEventManagerTest/src/main/config.json @@ -0,0 +1,96 @@ +{ + "app": { + "bundleName": "com.example.actscommoneventmanager", + "vendor": "example", + "version": { + "code": 1, + "name": "1.0" + }, + "apiVersion": { + "compatible": 5, + "target": 9, + "releaseType": "Beta1" + } + }, + "deviceConfig": {}, + "module": { + "package": "com.example.actscommoneventmanager", + "name": ".entry", + "deviceType": [ + "tablet", + "default", + "phone" + ], + "distro": { + "deliveryWithInstall": true, + "moduleName": "entry", + "moduleType": "entry" + }, + "abilities": [ + { + "skills": [ + { + "entities": [ + "entity.system.home" + ], + "actions": [ + "action.system.home" + ] + } + ], + "orientation": "unspecified", + "formsEnabled": false, + "name": ".MainAbility", + "srcLanguage": "js", + "srcPath": "MainAbility", + "icon": "$media:icon", + "description": "$string:MainAbility_desc", + "label": "$string:MainAbility_label", + "type": "page", + "visible": true, + "launchType": "standard" + }, + { + "orientation": "unspecified", + "formsEnabled": false, + "name": ".TestAbility", + "srcLanguage": "js", + "srcPath": "TestAbility", + "icon": "$media:icon", + "description": "$string:TestAbility_desc", + "label": "$string:TestAbility_label", + "type": "page", + "visible": true, + "launchType": "standard" + } + ], + "js": [ + { + "pages": [ + "pages/index/index" + ], + "name": "default", + "window": { + "designWidth": 720, + "autoDesignWidth": false + } + }, + { + "pages": [ + "pages/index/index" + ], + "name": ".TestAbility", + "window": { + "designWidth": 720, + "autoDesignWidth": false + } + } + ], + "testRunner": { + "name": "OpenHarmonyTestRunner", + "srcPath": "TestRunner" + }, + "mainAbility": ".MainAbility", + "srcPath": "" + } +} \ No newline at end of file diff --git a/notification/ces_standard/actsCommonEventManagerTest/src/main/js/MainAbility/app.js b/notification/ces_standard/actsCommonEventManagerTest/src/main/js/MainAbility/app.js new file mode 100644 index 0000000000000000000000000000000000000000..5ee765cdb97e488192bf206b0aedff1060ca1899 --- /dev/null +++ b/notification/ces_standard/actsCommonEventManagerTest/src/main/js/MainAbility/app.js @@ -0,0 +1,22 @@ +/* + * Copyright (c) 2023 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +export default { + onCreate() { + console.info("============== AceApplication onCreate =============="); + }, + onDestroy() { + console.info('=============AceApplication onDestroy============='); + } +}; diff --git a/notification/ces_standard/actsCommonEventManagerTest/src/main/js/MainAbility/i18n/en-US.json b/notification/ces_standard/actsCommonEventManagerTest/src/main/js/MainAbility/i18n/en-US.json new file mode 100644 index 0000000000000000000000000000000000000000..e63c70d978a3a53be988388c87182f81785e170c --- /dev/null +++ b/notification/ces_standard/actsCommonEventManagerTest/src/main/js/MainAbility/i18n/en-US.json @@ -0,0 +1,6 @@ +{ + "strings": { + "hello": "Hello", + "world": "World" + } +} \ No newline at end of file diff --git a/notification/ces_standard/actsCommonEventManagerTest/src/main/js/MainAbility/i18n/zh-CN.json b/notification/ces_standard/actsCommonEventManagerTest/src/main/js/MainAbility/i18n/zh-CN.json new file mode 100644 index 0000000000000000000000000000000000000000..de6ee5748322f44942c1b003319d8e66c837675f --- /dev/null +++ b/notification/ces_standard/actsCommonEventManagerTest/src/main/js/MainAbility/i18n/zh-CN.json @@ -0,0 +1,6 @@ +{ + "strings": { + "hello": "您好", + "world": "世界" + } +} \ No newline at end of file diff --git a/notification/ces_standard/actsCommonEventManagerTest/src/main/js/MainAbility/pages/index/index.css b/notification/ces_standard/actsCommonEventManagerTest/src/main/js/MainAbility/pages/index/index.css new file mode 100644 index 0000000000000000000000000000000000000000..34721416f577a1126251cabf7be12e5e4114d6d1 --- /dev/null +++ b/notification/ces_standard/actsCommonEventManagerTest/src/main/js/MainAbility/pages/index/index.css @@ -0,0 +1,24 @@ +/* + * Copyright (c) 2023 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +.container { + flex-direction: column; + justify-content: center; + align-items: center; +} + +.title { + font-size: 100px; +} diff --git a/notification/ces_standard/actsCommonEventManagerTest/src/main/js/MainAbility/pages/index/index.hml b/notification/ces_standard/actsCommonEventManagerTest/src/main/js/MainAbility/pages/index/index.hml new file mode 100644 index 0000000000000000000000000000000000000000..e58fa1fa493093f2d2616800619beb627da91e0b --- /dev/null +++ b/notification/ces_standard/actsCommonEventManagerTest/src/main/js/MainAbility/pages/index/index.hml @@ -0,0 +1,21 @@ +/* + * Copyright (c) 2023 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +
+ + Hello, World! + {{ $t('strings.hello') }} {{ title }} + +
diff --git a/notification/ces_standard/actsCommonEventManagerTest/src/main/js/MainAbility/pages/index/index.js b/notification/ces_standard/actsCommonEventManagerTest/src/main/js/MainAbility/pages/index/index.js new file mode 100644 index 0000000000000000000000000000000000000000..d2e99be3ee5f2ee318b7bd33c1232dfd04c5d079 --- /dev/null +++ b/notification/ces_standard/actsCommonEventManagerTest/src/main/js/MainAbility/pages/index/index.js @@ -0,0 +1,33 @@ +/* + * Copyright (c) 2023 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import file from '@system.file' + +const injectRef = Object.getPrototypeOf(global) || global +injectRef.regeneratorRuntime = require('@babel/runtime/regenerator') + +export default { + data: { + title: "" + }, + onInit() { + this.title = this.$t('strings.world'); + }, + onShow() { + console.info('onShow finish') + }, + onReady() { + }, +} + diff --git a/notification/ces_standard/actsCommonEventManagerTest/src/main/js/TestAbility/app.js b/notification/ces_standard/actsCommonEventManagerTest/src/main/js/TestAbility/app.js new file mode 100644 index 0000000000000000000000000000000000000000..e503f9d5d35c938c4ecda9954e0f622e760474db --- /dev/null +++ b/notification/ces_standard/actsCommonEventManagerTest/src/main/js/TestAbility/app.js @@ -0,0 +1,31 @@ +/* + * Copyright (c) 2023 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import AbilityDelegatorRegistry from '@ohos.application.abilityDelegatorRegistry' +import { Hypium } from '@ohos/hypium' +import testsuite from '../test/List.test' + +export default { + onCreate() { + console.info('TestApplication onCreate') + var abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator() + var abilityDelegatorArguments = AbilityDelegatorRegistry.getArguments() + console.info('start run testcase!!!') + Hypium.hypiumTest(abilityDelegator, abilityDelegatorArguments, testsuite) + }, + onDestroy() { + console.info("TestApplication onDestroy"); + } +}; diff --git a/notification/ces_standard/actsCommonEventManagerTest/src/main/js/TestAbility/i18n/en-US.json b/notification/ces_standard/actsCommonEventManagerTest/src/main/js/TestAbility/i18n/en-US.json new file mode 100644 index 0000000000000000000000000000000000000000..55561b83737c3c31d082fbfa11e5fc987a351104 --- /dev/null +++ b/notification/ces_standard/actsCommonEventManagerTest/src/main/js/TestAbility/i18n/en-US.json @@ -0,0 +1,8 @@ +{ + "strings": { + "hello": "Hello", + "world": "World" + }, + "Files": { + } +} \ No newline at end of file diff --git a/notification/ces_standard/actsCommonEventManagerTest/src/main/js/TestAbility/i18n/zh-CN.json b/notification/ces_standard/actsCommonEventManagerTest/src/main/js/TestAbility/i18n/zh-CN.json new file mode 100644 index 0000000000000000000000000000000000000000..cce1af06761a42add0cac1a0567aa3237eda8cb4 --- /dev/null +++ b/notification/ces_standard/actsCommonEventManagerTest/src/main/js/TestAbility/i18n/zh-CN.json @@ -0,0 +1,8 @@ +{ + "strings": { + "hello": "您好", + "world": "世界" + }, + "Files": { + } +} \ No newline at end of file diff --git a/notification/ces_standard/actsCommonEventManagerTest/src/main/js/TestAbility/pages/index/index.css b/notification/ces_standard/actsCommonEventManagerTest/src/main/js/TestAbility/pages/index/index.css new file mode 100644 index 0000000000000000000000000000000000000000..54cb6d3b329638cc3562aa6ecdb0c2c5c8b8a443 --- /dev/null +++ b/notification/ces_standard/actsCommonEventManagerTest/src/main/js/TestAbility/pages/index/index.css @@ -0,0 +1,30 @@ +.container { + /* display: flex; */ + flex-direction: column; + justify-content: center; + align-items: center; + left: 0px; + top: 0px; + width: 100%; + height: 100%; +} + +.title { + font-size: 60px; + text-align: center; + width: 100%; + height: 40%; + margin: 10px; +} + +@media screen and (device-type: phone) and (orientation: landscape) { + .title { + font-size: 60px; + } +} + +@media screen and (device-type: tablet) and (orientation: landscape) { + .title { + font-size: 100px; + } +} \ No newline at end of file diff --git a/notification/ces_standard/actsCommonEventManagerTest/src/main/js/TestAbility/pages/index/index.hml b/notification/ces_standard/actsCommonEventManagerTest/src/main/js/TestAbility/pages/index/index.hml new file mode 100644 index 0000000000000000000000000000000000000000..f64b040a5ae394dbaa5e185e1ecd4f4556b92184 --- /dev/null +++ b/notification/ces_standard/actsCommonEventManagerTest/src/main/js/TestAbility/pages/index/index.hml @@ -0,0 +1,5 @@ +
+ + {{ $t('strings.hello') }} {{ title }} + +
diff --git a/notification/ces_standard/actsCommonEventManagerTest/src/main/js/TestAbility/pages/index/index.js b/notification/ces_standard/actsCommonEventManagerTest/src/main/js/TestAbility/pages/index/index.js new file mode 100644 index 0000000000000000000000000000000000000000..c2c0b3c5220d9ab2572b0b9f786a8404f846f8ff --- /dev/null +++ b/notification/ces_standard/actsCommonEventManagerTest/src/main/js/TestAbility/pages/index/index.js @@ -0,0 +1,26 @@ +/* + * Copyright (c) 2023 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +export default { + data: { + title: "" + }, + onInit() { + this.title = this.$t('strings.world'); + } +} + + + diff --git a/notification/ces_standard/actsCommonEventManagerTest/src/main/js/TestRunner/OpenHarmonyTestRunner.js b/notification/ces_standard/actsCommonEventManagerTest/src/main/js/TestRunner/OpenHarmonyTestRunner.js new file mode 100644 index 0000000000000000000000000000000000000000..0de8843a437287d59294955a86169ee90d02e482 --- /dev/null +++ b/notification/ces_standard/actsCommonEventManagerTest/src/main/js/TestRunner/OpenHarmonyTestRunner.js @@ -0,0 +1,59 @@ +/* + * Copyright (c) 2023 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import AbilityDelegatorRegistry from '@ohos.application.abilityDelegatorRegistry' + +function translateParamsToString(parameters) { + const keySet = new Set([ + '-s class', '-s notClass', '-s suite', '-s itName', + '-s level', '-s testType', '-s size', '-s timeout', + '-s package', '-s dryRun' + ]) + let targetParams = ''; + for (const key in parameters) { + if (keySet.has(key)) { + targetParams += ' ' + key + ' ' + parameters[key] + } + } + return targetParams.trim() +} + + export default { + onPrepare() { + console.info('OpenHarmonyTestRunner OnPrepare') + }, + onRun() { + console.log('OpenHarmonyTestRunner onRun run') + var abilityDelegatorArguments = AbilityDelegatorRegistry.getArguments() + var abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator() + + var testAbilityName = abilityDelegatorArguments.parameters['-p'] + '.TestAbility' + + var cmd = 'aa start -d 0 -a ' + testAbilityName + ' -b ' + abilityDelegatorArguments.bundleName + cmd += ' ' + translateParamsToString(abilityDelegatorArguments.parameters) + var debug = abilityDelegatorArguments.parameters["-D"] + console.info('debug value : '+debug) + if (debug == 'true') + { + cmd += ' -D' + } + console.info('cmd : '+cmd) + abilityDelegator.executeShellCommand(cmd, (err, data) => { + console.info('executeShellCommand : err : ' + JSON.stringify(err)); + console.info('executeShellCommand : data : ' + data.stdResult); + console.info('executeShellCommand : data : ' + data.exitCode); + }) + } +}; diff --git a/notification/ces_standard/actsCommonEventManagerTest/src/main/js/test/ActsCommonEventManagerSubscribeTest.js b/notification/ces_standard/actsCommonEventManagerTest/src/main/js/test/ActsCommonEventManagerSubscribeTest.js new file mode 100644 index 0000000000000000000000000000000000000000..c0fef5debf62ea413ea963cba8ed06de73fadcf7 --- /dev/null +++ b/notification/ces_standard/actsCommonEventManagerTest/src/main/js/test/ActsCommonEventManagerSubscribeTest.js @@ -0,0 +1,215 @@ +/* +* Copyright (c) 2023 Huawei Device Co., Ltd. +* Licensed under the Apache License, Version 2.0 (the "License") +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ +import { describe, beforeAll, beforeEach, afterEach, afterAll, it, expect } from '@ohos/hypium' +import commonEventManager from '@ohos.commonEventManager' + +export default function ActsCommonEventManagerSubscribeTest() { + describe('SUB_NOTIFICATION_CES_SUBSCRIBE_MANAGER_TEST', function () { + let TAG = 'SUB_NOTIFICATION_CES_SUBSCRIBE_MANAGER_TEST ===>' + console.info(`${TAG} SUB_NOTIFICATION_CES_SUBSCRIBE_MANAGER_TEST START`) + + /* + * @tc.number: SUB_NOTIFICATION_CES_SUBSCRIBE_MANAGER_TEST_0900 + * @tc.name: isStickyCommonEvent isOrderedCommonEvent abortCommonEvent getAbortCommonEvent clearAbortCommonEvent + * @tc.desc: verify the callback function + */ + it('SUB_NOTIFICATION_CES_SUBSCRIBE_MANAGER_TEST_0900', 0, async function (done) { + console.info(`${TAG} SUB_NOTIFICATION_CES_SUBSCRIBE_MANAGER_TEST_0900 START`) + + let subscriber + + let subscribeInfo = { + events: ["event09"] + } + + try { + console.info(`${TAG} SUB_NOTIFICATION_CES_SUBSCRIBE_MANAGER_TEST_0900 come in `) + + commonEventManager.createSubscriber(subscribeInfo, (err, commonEventSubscriber) => { + console.info(`${TAG} SUB_NOTIFICATION_CES_SUBSCRIBE_MANAGER_TEST_0900 createSubscriber come in `) + if (err) { + console.info(`SUB_NOTIFICATION_CES_SUBSCRIBE_MANAGER_TEST_0900 createSubscriber err, error code: ${err.code}, message: ${err.message}`) + expect(false).assertTrue() + done() + } else { + console.info(`SUB_NOTIFICATION_CES_SUBSCRIBE_MANAGER_TEST_0900 createSubscriber success ${commonEventSubscriber}`) + subscriber = commonEventSubscriber + expect(true).assertTrue() + done() + + subscriber.isStickyCommonEvent((err, isSticky) => { + if (err) { + console.info(`isStickyCommonEvent_9 err ${err}`) + expect(false).assertTrue() + done() + } else { + console.info(`isStickyCommonEvent_9 success ${isSticky}`) + expect(true).assertTrue() + done() + } + }) + + subscriber.isOrderedCommonEvent((err, isOrdered) => { + if (err) { + console.info(`isOrderedCommonEvent_9 err ${err}`) + expect(false).assertTrue() + done() + } else { + console.info(`isOrderedCommonEvent_9 success ${isOrdered}`) + if (isOrdered == true) { + subscriber.abortCommonEvent((err) => { + if (err) { + console.info(`abortCommonEvent_9 err ${err}`) + expect(false).assertTrue() + done() + } else { + console.info(`abortCommonEvent_9 success`) + expect(true).assertTrue() + done() + } + }) + } + else { + expect(true).assertTrue() + } + done() + } + }) + + subscriber.getAbortCommonEvent((err, abortEvent) => { + if (err) { + console.info(`getAbortCommonEvent_9 err ${err}`) + expect(false).assertTrue() + done() + } else { + console.info(`getAbortCommonEvent_9 success ${abortEvent}`) + expect(true).assertTrue() + done() + } + }) + + subscriber.clearAbortCommonEvent((err) => { + if (err) { + console.info(`clearAbortCommonEvent_9 err ${err}`) + expect(false).assertTrue() + done() + } else { + console.info(`clearAbortCommonEvent_9 success`) + expect(true).assertTrue() + done() + } + }) + + } + }) + } catch (err) { + console.info(`SUB_NOTIFICATION_CES_SUBSCRIBE_MANAGER_TEST_0900 failed, code is ${err.code}, message is ${err.message}`) + expect(false).assertTrue() + done() + } + + console.info(`${TAG} SUB_NOTIFICATION_CES_SUBSCRIBE_MANAGER_TEST_0900 END`) + }) + + /* + * @tc.number: SUB_NOTIFICATION_CES_SUBSCRIBE_MANAGER_TEST_1000 + * @tc.name: isStickyCommonEvent isOrderedCommonEvent abortCommonEvent getAbortCommonEvent clearAbortCommonEvent + * @tc.desc: verify the promise function + */ + it('SUB_NOTIFICATION_CES_SUBSCRIBE_MANAGER_TEST_1000', 0, async function (done) { + console.info(`${TAG} SUB_NOTIFICATION_CES_SUBSCRIBE_MANAGER_TEST_1000 START`) + + let subscriber + + let subscribeInfo = { + events: ["event10"] + } + + try { + commonEventManager.createSubscriber(subscribeInfo, async (err, commonEventSubscriber) => { + if (err) { + console.info(`SUB_NOTIFICATION_CES_SUBSCRIBE_MANAGER_TEST_1000 createSubscriber err, error code: ${err.code}, message: ${err.message}`) + expect(false).assertTrue() + done() + } else { + console.info(`SUB_NOTIFICATION_CES_SUBSCRIBE_MANAGER_TEST_1000 createSubscriber success ${commonEventSubscriber}`) + subscriber = commonEventSubscriber + expect(true).assertTrue() + done() + + await subscriber.isStickyCommonEvent().then((isSticky) => { + console.info(`isStickyCommonEvent_10 success ${isSticky}`) + expect(true).assertTrue() + done() + }).catch((err) => { + console.info(`isStickyCommonEvent_10 err ${err}`) + expect(false).assertTrue() + done() + }) + + await subscriber.isOrderedCommonEvent().then((isOrdered) => { + console.info(`isOrderedCommonEvent_10 success ${isOrdered}`) + expect(true).assertTrue() + done() + }).catch((err) => { + console.info(`isOrderedCommonEvent_10 err ${err}`) + expect(false).assertTrue() + done() + }) + + await subscriber.abortCommonEvent().then(() => { + console.info(`abortCommonEvent_10 success`) + expect(true).assertTrue() + done() + }).catch((err) => { + console.info(`abortCommonEvent_10 err ${err}`) + expect(false).assertTrue() + done() + }) + + await subscriber.getAbortCommonEvent().then((abortEvent) => { + console.info(`getAbortCommonEvent_10 success ${abortEvent}`) + expect(true).assertTrue() + done() + }).catch((err) => { + console.info(`getAbortCommonEvent_10 err ${err}`) + expect(false).assertTrue() + done() + }) + + await subscriber.clearAbortCommonEvent().then(() => { + console.info(`clearAbortCommonEvent_10 success`) + expect(true).assertTrue() + done() + }).catch((err) => { + console.info(`clearAbortCommonEvent_10 err ${err}`) + expect(false).assertTrue() + done() + }) + + } + }) + } catch (err) { + console.info(`SUB_NOTIFICATION_CES_SUBSCRIBE_MANAGER_TEST_1000 failed, code is ${err.code}, message is ${err.message}`) + expect(false).assertTrue() + done() + } + console.info(`${TAG} SUB_NOTIFICATION_CES_SUBSCRIBE_MANAGER_TEST_1000 END`) + }) + + console.info(`${TAG} SUB_NOTIFICATION_CES_SUBSCRIBE_MANAGER_TEST END`) + }) +} + diff --git a/notification/ces_standard/actsCommonEventManagerTest/src/main/js/test/ActsCommonEventManagerTest.js b/notification/ces_standard/actsCommonEventManagerTest/src/main/js/test/ActsCommonEventManagerTest.js new file mode 100644 index 0000000000000000000000000000000000000000..8feefe53804c02ae67497c11d709a3a4d1490c33 --- /dev/null +++ b/notification/ces_standard/actsCommonEventManagerTest/src/main/js/test/ActsCommonEventManagerTest.js @@ -0,0 +1,498 @@ +/* + * Copyright (c) 2023 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License") + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { describe, beforeAll, beforeEach, afterEach, afterAll, it, expect } from '@ohos/hypium' +import commonEventManager from '@ohos.commonEventManager' + +export default function ActsCommonEventManagerTest() { + describe('SUB_NOTIFICATION_CES_MANAGER_TEST', function () { + let TAG = 'SUB_NOTIFICATION_CES_MANAGER_TEST ===>' + console.info(`${TAG} SUB_NOTIFICATION_CES_MANAGER_TEST START`) + + /* + * @tc.number: SUB_NOTIFICATION_CES_MANAGER_TEST_0100 + * @tc.name: publish(event: string, callback: AsyncCallback): void + * @tc.desc: verify the callback function of publish + */ + it('SUB_NOTIFICATION_CES_MANAGER_TEST_0100', 0, async function (done) { + console.info(`${TAG} SUB_NOTIFICATION_CES_MANAGER_TEST_0100 START`) + try { + commonEventManager.publish("EVENT01", (err) => { + if (err) { + console.info(`SUB_NOTIFICATION_CES_MANAGER_TEST_0100 err, error code: ${err.code}, message: ${err.message}`) + expect(false).assertTrue() + done() + } else { + console.info("SUB_NOTIFICATION_CES_MANAGER_TEST_0100 success") + expect(true).assertTrue() + done() + } + }) + } catch (err) { + console.info(`SUB_NOTIFICATION_CES_MANAGER_TEST_0100 failed, catch error code: ${err.code}, message: ${err.message}`) + expect(false).assertTrue() + done() + } + console.info(`${TAG} SUB_NOTIFICATION_CES_MANAGER_TEST_0100 END`) + }) + + /* + * @tc.number: SUB_NOTIFICATION_CES_MANAGER_TEST_0200 + * @tc.name: publish(event: string, options: CommonEventPublishData, callback: AsyncCallback): void + * @tc.desc: publish options + */ + it('SUB_NOTIFICATION_CES_MANAGER_TEST_0200', 0, async function (done) { + console.info(`${TAG} SUB_NOTIFICATION_CES_MANAGER_TEST_0200 START`) + let options = { + code: 0, + data: "initial data", + isOrdered: true + } + + try { + commonEventManager.publish("EVENT02", options, (err) => { + if (err) { + console.info(`SUB_NOTIFICATION_CES_MANAGER_TEST_0200 err, error code: ${err.code}, message: ${err.message}`) + expect(false).assertTrue() + done() + } else { + console.info("SUB_NOTIFICATION_CES_MANAGER_TEST_0200 success") + expect(true).assertTrue() + done() + } + }) + } catch (err) { + console.info(`SUB_NOTIFICATION_CES_MANAGER_TEST_0200 failed, catch error code: ${err.code}, message: ${err.message}`) + expect(false).assertTrue() + done() + } + + console.info(`${TAG} SUB_NOTIFICATION_CES_MANAGER_TEST_0200 END`) + + }) + + /* + * @tc.number: SUB_NOTIFICATION_CES_MANAGER_TEST_0300 + * @tc.name: createSubscriber(subscribeInfo: CommonEventSubscribeInfo, callback: AsyncCallback): void + * @tc.desc: createSubscriber + */ + it('SUB_NOTIFICATION_CES_MANAGER_TEST_0300', 0, async function (done) { + console.info(`${TAG} SUB_NOTIFICATION_CES_MANAGER_TEST_0300 START`) + + let subscriber + + let subscribeInfo = { + events: ["event03"] + } + + try { + commonEventManager.createSubscriber(subscribeInfo, (err, commonEventSubscriber) => { + if (err) { + console.info(`SUB_NOTIFICATION_CES_MANAGER_TEST_0300 err, error code: ${err.code}, message: ${err.message}`) + expect(false).assertTrue() + done() + } else { + console.info(`SUB_NOTIFICATION_CES_MANAGER_TEST_0300 success ${commonEventSubscriber}`) + subscriber = commonEventSubscriber + expect(true).assertTrue() + done() + } + }) + } catch (err) { + console.info(`SUB_NOTIFICATION_CES_MANAGER_TEST_0300 failed, catch error code: ${err.code}, message: ${err.message}`) + expect(false).assertTrue() + done() + } + + console.info(`${TAG} SUB_NOTIFICATION_CES_MANAGER_TEST_0300 END`) + + }) + + /* + * @tc.number: SUB_NOTIFICATION_CES_MANAGER_TEST_0400 + * @tc.name: createSubscriber(subscribeInfo: CommonEventSubscribeInfo): Promise + * @tc.desc: createSubscriber + */ + it('SUB_NOTIFICATION_CES_MANAGER_TEST_0400', 0, async function (done) { + console.info(`${TAG} SUB_NOTIFICATION_CES_MANAGER_TEST_0400 START`) + + let subscriber + + let subscribeInfo = { + events: ["event04"] + } + + await commonEventManager.createSubscriber(subscribeInfo).then((commonEventSubscriber) => { + console.info(`SUB_NOTIFICATION_CES_MANAGER_TEST_0400 success ${commonEventSubscriber}`) + subscriber = commonEventSubscriber + expect(true).assertTrue() + done() + }).catch((err) => { + console.info(`SUB_NOTIFICATION_CES_MANAGER_TEST_0400 err, error code: ${err.code}, message: ${err.message}`) + expect(false).assertTrue() + done() + }) + + console.info(`${TAG} SUB_NOTIFICATION_CES_MANAGER_TEST_0400 END`) + + }) + + /* + * @tc.number: SUB_NOTIFICATION_CES_MANAGER_TEST_0500 + * @tc.name: subscribe(subscriber: CommonEventSubscriber, callback: AsyncCallback): void + * @tc.desc: subscribe + */ + it('SUB_NOTIFICATION_CES_MANAGER_TEST_0500', 0, async function (done) { + console.info(`${TAG} SUB_NOTIFICATION_CES_MANAGER_TEST_0500 START`) + + let subscriber + + let subscribeInfo = { + events: ["event05"] + } + + try { + commonEventManager.createSubscriber(subscribeInfo, (err, commonEventSubscriber) => { + if (err) { + console.info(`SUB_NOTIFICATION_CES_MANAGER_TEST_0500 err, error code: ${err.code}, message: ${err.message}`) + expect(false).assertTrue() + done() + } else { + console.info(`SUB_NOTIFICATION_CES_MANAGER_TEST_0500 success ${commonEventSubscriber}`) + subscriber = commonEventSubscriber + try { + commonEventManager.subscribe(subscriber, (err, data) => { + if (err) { + console.info(`subscribe_1 err, code is ${err.code}, message is ${err.message}`) + expect(false).assertTrue() + done() + } else { + console.info(`subscribe_1 success`) + expect(true).assertTrue() + done() + } + }) + } catch (err) { + console.info(`subscribe_1 failed, code is ${err.code}, message is ${err.message}`) + } + expect(true).assertTrue() + done() + } + }) + } catch (err) { + console.info(`SUB_NOTIFICATION_CES_MANAGER_TEST_0500 failed, code is ${err.code}, message is ${err.message}`) + expect(false).assertTrue() + done() + } + + console.info(`${TAG} SUB_NOTIFICATION_CES_MANAGER_TEST_0500 END`) + + }) + + /* + * @tc.number: SUB_NOTIFICATION_CES_MANAGER_TEST_0600 + * @tc.name: unsubscribe(subscriber: CommonEventSubscriber, callback?: AsyncCallback): void + * @tc.desc: unsubscribe + */ + it('SUB_NOTIFICATION_CES_MANAGER_TEST_0600', 0, async function (done) { + console.info(`${TAG} SUB_NOTIFICATION_CES_MANAGER_TEST_0600 START`) + let subscriber + + let subscribeInfo = { + events: ["event06"] + } + + try { + commonEventManager.createSubscriber(subscribeInfo, (err, commonEventSubscriber) => { + if (err) { + console.info(`SUB_NOTIFICATION_CES_MANAGER_TEST_0600 err, error code: ${err.code}, message: ${err.message}`) + expect(false).assertTrue() + done() + } else { + console.info(`SUB_NOTIFICATION_CES_MANAGER_TEST_0600 success ${commonEventSubscriber}`) + subscriber = commonEventSubscriber + try { + commonEventManager.subscribe(subscriber, (err, data) => { + if (err) { + console.info(`subscribe_2 err, code is ${err.code}, message is ${err.message}`) + expect(false).assertTrue() + done() + } else { + console.info(`subscribe_2 success`) + expect(true).assertTrue() + done() + } + }) + } catch (err) { + console.info(`subscribe_2 failed, code is ${err.code}, message is ${err.message}`) + } + + try { + commonEventManager.unsubscribe(subscriber, (err) => { + if (err) { + console.info(`unsubscribe err, code is ${err.code}, message is ${err.message}`) + expect(false).assertTrue() + done() + } else { + console.info(`unsubscribe success`) + expect(true).assertTrue() + done() + } + }) + } catch (err) { + console.info(`unsubscribe failed, code is ${err.code}, message is ${err.message}`) + expect(false).assertTrue() + done() + } + expect(true).assertTrue() + done() + } + }) + } catch (err) { + console.info(`createSubscriber failed, code is ${err.code}, message is ${err.message}`) + expect(false).assertTrue() + done() + } + + console.info(`${TAG} SUB_NOTIFICATION_CES_MANAGER_TEST_0600 END`) + + }) + + /* + * @tc.number: SUB_NOTIFICATION_CES_MANAGER_TEST_0700 + * @tc.name: getCode setCode setData getData setCodeAndData getSubscribeInfo finishCommonEvent + * @tc.desc: verify the callback function + */ + it('SUB_NOTIFICATION_CES_MANAGER_TEST_0700', 0, async function (done) { + console.info(`${TAG} SUB_NOTIFICATION_CES_MANAGER_TEST_0700 START`) + + let subscriber + + let subscribeInfo = { + events: ["event07"] + } + + try { + commonEventManager.createSubscriber(subscribeInfo, async (err, commonEventSubscriber) => { + if (err) { + console.info(`SUB_NOTIFICATION_CES_MANAGER_TEST_0700 err, error code: ${err.code}, message: ${err.message}`) + expect(false).assertTrue() + done() + } else { + console.info(`SUB_NOTIFICATION_CES_MANAGER_TEST_0700 success ${commonEventSubscriber}`) + subscriber = commonEventSubscriber + expect(true).assertTrue() + done() + + await subscriber.setCode(1, (err) => { + if (err) { + console.info(`setCode_1 err, error code: ${err.code}, message: ${err.message}`) + expect(false).assertTrue() + done() + } else { + console.info(`setCode_1 success `) + expect(true).assertTrue() + subscriber.getCode((err, Code) => { + if (err) { + console.info(`getCode_1 err, error code: ${err.code}, message: ${err.message}`) + expect(false).assertTrue() + done() + } else { + console.info(`getCode_1 success ${Code}`) + expect(Code).assertEqual(1) + done() + } + }) + } + }) + + await subscriber.setData('data01', (err) => { + if (err) { + console.info(`setData_1 err, error code: ${err.code}, message: ${err.message}`) + expect(false).assertTrue() + done() + } else { + console.info(`setData_1 success `) + expect(true).assertTrue() + done() + subscriber.getData((err, data) => { + if (err) { + console.info(`getData_1 err, error code: ${err.code}, message: ${err.message}`) + expect(false).assertTrue() + done() + } else { + console.info(`getData_1 success ${data}`) + expect(data).assertEqual('data01') + done() + } + }) + } + }) + + await subscriber.setCodeAndData(2, 'data02', (err) => { + if (err) { + console.info(`setCodeAndData_1 err, error code: ${err.code}, message: ${err.message}`) + expect(false).assertTrue() + done() + } else { + console.info(`setCodeAndData_1 success `) + expect(true).assertTrue() + done() + } + }) + + await subscriber.getSubscribeInfo((err, CommonEventSubscribeInfo) => { + if (err) { + console.info(`getSubscribeInfo_1 err, error code: ${err.code}, message: ${err.message}`) + expect(false).assertTrue() + done() + } else { + console.info(`getSubscribeInfo_1 success ${CommonEventSubscribeInfo}`) + expect(true).assertTrue() + done() + } + }) + + await subscriber.finishCommonEvent((err) => { + if (err) { + console.info(`finishCommonEvent_1 err, error code: ${err.code}, message: ${err.message}`) + expect(false).assertTrue() + done() + } else { + console.info(`finishCommonEvent_1 success `) + expect(true).assertTrue() + done() + } + }) + + } + }) + } catch (err) { + console.info(`SUB_NOTIFICATION_CES_MANAGER_TEST_0700 failed, catch error code: ${err.code}, message: ${err.message}`) + expect(false).assertTrue() + done() + } + console.info(`${TAG} SUB_NOTIFICATION_CES_MANAGER_TEST_0700 END`) + + }) + + /* + * @tc.number: SUB_NOTIFICATION_CES_MANAGER_TEST_0800 + * @tc.name: getCode setCode setData getData setCodeAndData getSubscribeInfo finishCommonEvent + * @tc.desc: verify the promise function + */ + it('SUB_NOTIFICATION_CES_MANAGER_TEST_0800', 0, async function (done) { + console.info(`${TAG} SUB_NOTIFICATION_CES_MANAGER_TEST_0800 START`) + + let subscriber + + let subscribeInfo = { + events: ["event08"] + } + + try { + commonEventManager.createSubscriber(subscribeInfo, async (err, commonEventSubscriber) => { + if (err) { + console.info(`SUB_NOTIFICATION_CES_MANAGER_TEST_0800 err, error code: ${err.code}, message: ${err.message}`) + expect(false).assertTrue() + done() + } else { + console.info(`SUB_NOTIFICATION_CES_MANAGER_TEST_0800 success ${commonEventSubscriber}`) + subscriber = commonEventSubscriber + expect(true).assertTrue() + done() + + await subscriber.setCode(3).then(() => { + console.info(`setCode_2 success `) + expect(true).assertTrue() + done() + }).catch((err) => { + console.info(`setCode_2 err, error code: ${err.code}, message: ${err.message}`) + expect(false).assertTrue() + done() + }) + + await subscriber.getCode().then((Code) => { + console.info(`getCode_2 success ${Code}`) + expect(Code).assertEqual(3) + done() + }).catch((err) => { + console.info(`getCode_2 err, error code: ${err.code}, message: ${err.message}`) + expect(false).assertTrue() + done() + }) + + await subscriber.setData('data03').then(() => { + console.info(`setData_2 success `) + expect(true).assertTrue() + done() + subscriber.getData().then((data) => { + console.info(`getData_2 success ${data}`) + expect(data).assertEqual('data03') + done() + }).catch((err) => { + console.info(`getData_2 err, error code: ${err.code}, message: ${err.message}`) + expect(false).assertTrue() + done() + }) + }).catch((err) => { + console.info(`setData_2 err, error code: ${err.code}, message: ${err.message}`) + expect(false).assertTrue() + done() + }) + + await subscriber.setCodeAndData(4, 'data04').then(() => { + console.info(`setCodeAndData_2 success `) + expect(true).assertTrue() + done() + }).catch((err) => { + console.info(`setCodeAndData_2 err, error code: ${err.code}, message: ${err.message}`) + expect(false).assertTrue() + done() + }) + + await subscriber.getSubscribeInfo().then((CommonEventSubscribeInfo) => { + console.info(`getSubscribeInfo_2 success ${CommonEventSubscribeInfo}`) + expect(true).assertTrue() + done() + }).catch((err) => { + console.info(`getSubscribeInfo_2 err, error code: ${err.code}, message: ${err.message}`) + expect(false).assertTrue() + done() + }) + + await subscriber.finishCommonEvent().then(() => { + console.info(`finishCommonEvent_2 success `) + expect(true).assertTrue() + done() + }).catch((err) => { + console.info(`finishCommonEvent_2 err, error code: ${err.code}, message: ${err.message}`) + expect(false).assertTrue() + done() + }) + + } + }) + } catch (err) { + console.info(`SUB_NOTIFICATION_CES_MANAGER_TEST_0800 failed, catch error code: ${err.code}, message: ${err.message}`) + expect(false).assertTrue() + done() + } + console.info(`${TAG} SUB_NOTIFICATION_CES_MANAGER_TEST_0800 END`) + }) + + console.info(`${TAG} SUB_NOTIFICATION_CES_MANAGER_TEST END`) + + }) +} \ No newline at end of file diff --git a/notification/ces_standard/actsCommonEventManagerTest/src/main/js/test/List.test.js b/notification/ces_standard/actsCommonEventManagerTest/src/main/js/test/List.test.js new file mode 100644 index 0000000000000000000000000000000000000000..bffff8ec9f4235496b60908a1187eb15b703200c --- /dev/null +++ b/notification/ces_standard/actsCommonEventManagerTest/src/main/js/test/List.test.js @@ -0,0 +1,21 @@ +/* + * Copyright (c) 2023 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import ActsCommonEventManagerSubscribeTest from './ActsCommonEventManagerSubscribeTest.js' +import ActsCommonEventManagerTest from './ActsCommonEventManagerTest.js' + +export default function testsuite() { + ActsCommonEventManagerSubscribeTest() + ActsCommonEventManagerTest() +} diff --git a/notification/ces_standard/actsCommonEventManagerTest/src/main/resources/base/element/string.json b/notification/ces_standard/actsCommonEventManagerTest/src/main/resources/base/element/string.json new file mode 100644 index 0000000000000000000000000000000000000000..dd0fc0c93d80d0c60749f4ef05677a8feb951cc7 --- /dev/null +++ b/notification/ces_standard/actsCommonEventManagerTest/src/main/resources/base/element/string.json @@ -0,0 +1,28 @@ +{ + "string": [ + { + "name": "app_name", + "value": "JsHelloWorld" + }, + { + "name": "mainability_description", + "value": "hap sample empty page" + }, + { + "name": "MainAbility_desc", + "value": "description" + }, + { + "name": "MainAbility_label", + "value": "label" + }, + { + "name": "TestAbility_desc", + "value": "description" + }, + { + "name": "TestAbility_label", + "value": "label" + } + ] +} \ No newline at end of file diff --git a/notification/ces_standard/actsCommonEventManagerTest/src/main/resources/base/media/icon.png b/notification/ces_standard/actsCommonEventManagerTest/src/main/resources/base/media/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..ce307a8827bd75456441ceb57d530e4c8d45d36c Binary files /dev/null and b/notification/ces_standard/actsCommonEventManagerTest/src/main/resources/base/media/icon.png differ