diff --git a/ability/BUILD.gn b/ability/BUILD.gn index 5a4809d95cf7d9afbe27125b3c07e02197cf8eaf..d0cd55395e5270d126378ae55e0369a20224a053 100644 --- a/ability/BUILD.gn +++ b/ability/BUILD.gn @@ -16,6 +16,9 @@ import("//build/ohos_var.gni") group("ability") { testonly = true if (is_standard_system) { - deps = [ "ability_runtime:ability_runtime" ] + deps = [ + "ability_runtime:ability_runtime", + "dmsfwk:dmsfwk", + ] } } diff --git a/ability/dmsfwk/BUILD.gn b/ability/dmsfwk/BUILD.gn new file mode 100644 index 0000000000000000000000000000000000000000..44cc84825e2852ef3165edf34d24da2db42ee4d5 --- /dev/null +++ b/ability/dmsfwk/BUILD.gn @@ -0,0 +1,21 @@ +# Copyright (c) 2022 Huawei Device Co., Ltd. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import("//build/ohos_var.gni") + +group("dmsfwk") { + testonly = true + if (is_standard_system) { + deps = [ "continuationmanagertest:continuationmanager_js_test" ] + } +} diff --git a/ability/dmsfwk/continuationmanagertest/BUILD.gn b/ability/dmsfwk/continuationmanagertest/BUILD.gn new file mode 100644 index 0000000000000000000000000000000000000000..b3d2e5dff1cfdb6ac2581eb54670da32c3727399 --- /dev/null +++ b/ability/dmsfwk/continuationmanagertest/BUILD.gn @@ -0,0 +1,35 @@ +# Copyright (C) 2022 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("continuationmanager_js_test") { + hap_profile = "./src/main/config.json" + deps = [ + ":continuationmanager_js_assets", + ":continuationmanager_resources", + ] + certificate_profile = "./signature/openharmony_sx.p7b" + hap_name = "ActsContinuationManagerJsTest" + subsystem_name = "ability" + part_name = "dmsfwk" +} +ohos_js_assets("continuationmanager_js_assets") { + js2abc = true + hap_profile = "./src/main/config.json" + source_dir = "./src/main/js" +} +ohos_resources("continuationmanager_resources") { + sources = [ "./src/main/resources" ] + hap_profile = "./src/main/config.json" +} diff --git a/ability/dmsfwk/continuationmanagertest/Test.json b/ability/dmsfwk/continuationmanagertest/Test.json new file mode 100644 index 0000000000000000000000000000000000000000..7104e0ef7c00a5c259c78829d4600437e0bc4343 --- /dev/null +++ b/ability/dmsfwk/continuationmanagertest/Test.json @@ -0,0 +1,19 @@ +{ + "description": "Configuration for hjunit demo Tests", + "driver": { + "type": "OHJSUnitTest", + "test-timeout": "1200000", + "shell-timeout": "1200000", + "bundle-name": "ohos.acts.distributedschedule.continuationmanager", + "package-name": "ohos.acts.distributedschedule.continuationmanager" + }, + "kits": [ + { + "test-file-name": [ + "ActsContinuationManagerJsTest.hap" + ], + "type": "AppInstallKit", + "cleanup-apps": true + } + ] +} \ No newline at end of file diff --git a/ability/dmsfwk/continuationmanagertest/signature/openharmony_sx.p7b b/ability/dmsfwk/continuationmanagertest/signature/openharmony_sx.p7b new file mode 100644 index 0000000000000000000000000000000000000000..9be1e98fa4c0c28ca997ed660112fa16b194f0f5 Binary files /dev/null and b/ability/dmsfwk/continuationmanagertest/signature/openharmony_sx.p7b differ diff --git a/ability/dmsfwk/continuationmanagertest/src/main/config.json b/ability/dmsfwk/continuationmanagertest/src/main/config.json new file mode 100644 index 0000000000000000000000000000000000000000..73664228baca03b9cd85ed6d2e4a22fcfcae8b9e --- /dev/null +++ b/ability/dmsfwk/continuationmanagertest/src/main/config.json @@ -0,0 +1,94 @@ +{ + "app": { + "bundleName": "ohos.acts.distributedschedule.continuationmanager", + "vendor": "example", + "version": { + "code": 1000000, + "name": "1.0.0" + }, + "apiVersion": { + "compatible": 4, + "target": 5 + } + }, + "deviceConfig": {}, + "module": { + "package": "ohos.acts.distributedschedule.continuationmanager", + "name": ".entry", + "mainAbility": ".MainAbility", + "deviceType": [ + "phone" + ], + "distro": { + "deliveryWithInstall": true, + "moduleName": "entry", + "moduleType": "entry", + "installationFree": false + }, + "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": true + } + }, + { + "pages": [ + "pages/index/index" + ], + "name": ".TestAbility", + "window": { + "designWidth": 720, + "autoDesignWidth": false + } + } + ], + "testRunner": { + "name": "OpenHarmonyTestRunner", + "srcPath": "TestRunner" + }, + "srcPath": "" + } +} \ No newline at end of file diff --git a/ability/dmsfwk/continuationmanagertest/src/main/js/MainAbility/app.js b/ability/dmsfwk/continuationmanagertest/src/main/js/MainAbility/app.js new file mode 100644 index 0000000000000000000000000000000000000000..3a41e590ec6d582abedac2821eb54bf9aad77dd4 --- /dev/null +++ b/ability/dmsfwk/continuationmanagertest/src/main/js/MainAbility/app.js @@ -0,0 +1,22 @@ +/* +* Copyright (c) 2022 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('TestApplication onCreate'); + }, + onDestroy() { + console.info('TestApplication onDestroy'); + } +}; diff --git a/ability/dmsfwk/continuationmanagertest/src/main/js/MainAbility/i18n/en-US.json b/ability/dmsfwk/continuationmanagertest/src/main/js/MainAbility/i18n/en-US.json new file mode 100644 index 0000000000000000000000000000000000000000..3cb24b374b1d919ca8eac0638f361692b603a900 --- /dev/null +++ b/ability/dmsfwk/continuationmanagertest/src/main/js/MainAbility/i18n/en-US.json @@ -0,0 +1,8 @@ +{ + "strings": { + "hello": "Hello", + "world": "World" + }, + "Files": { + } +} \ No newline at end of file diff --git a/ability/dmsfwk/continuationmanagertest/src/main/js/MainAbility/i18n/zh-CN.json b/ability/dmsfwk/continuationmanagertest/src/main/js/MainAbility/i18n/zh-CN.json new file mode 100644 index 0000000000000000000000000000000000000000..c804e32c0c3103929baca5617cdac70be11fdba1 --- /dev/null +++ b/ability/dmsfwk/continuationmanagertest/src/main/js/MainAbility/i18n/zh-CN.json @@ -0,0 +1,8 @@ +{ + "strings": { + "hello": "您好", + "world": "世界" + }, + "Files": { + } +} \ No newline at end of file diff --git a/ability/dmsfwk/continuationmanagertest/src/main/js/MainAbility/pages/index/index.css b/ability/dmsfwk/continuationmanagertest/src/main/js/MainAbility/pages/index/index.css new file mode 100644 index 0000000000000000000000000000000000000000..0eb1086016dbb3adcbaed911f027264630f12993 --- /dev/null +++ b/ability/dmsfwk/continuationmanagertest/src/main/js/MainAbility/pages/index/index.css @@ -0,0 +1,23 @@ +/* +* Copyright (c) 2022 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/ability/dmsfwk/continuationmanagertest/src/main/js/MainAbility/pages/index/index.hml b/ability/dmsfwk/continuationmanagertest/src/main/js/MainAbility/pages/index/index.hml new file mode 100644 index 0000000000000000000000000000000000000000..2a54c0734ed9fa2b56dcd7bdcb282ba0477c90fd --- /dev/null +++ b/ability/dmsfwk/continuationmanagertest/src/main/js/MainAbility/pages/index/index.hml @@ -0,0 +1,20 @@ +/* +* Copyright (c) 2022 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/ability/dmsfwk/continuationmanagertest/src/main/js/MainAbility/pages/index/index.js b/ability/dmsfwk/continuationmanagertest/src/main/js/MainAbility/pages/index/index.js new file mode 100644 index 0000000000000000000000000000000000000000..bd4cb14f07d97ea29445efd49882eab0c698f263 --- /dev/null +++ b/ability/dmsfwk/continuationmanagertest/src/main/js/MainAbility/pages/index/index.js @@ -0,0 +1,31 @@ +/* +* Copyright (c) 2022 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. +*/ + +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() { + }, +} \ No newline at end of file diff --git a/ability/dmsfwk/continuationmanagertest/src/main/js/TestAbility/app.js b/ability/dmsfwk/continuationmanagertest/src/main/js/TestAbility/app.js new file mode 100644 index 0000000000000000000000000000000000000000..cdc31f3dcf031e2f6a7665d9653e53bb649e21c5 --- /dev/null +++ b/ability/dmsfwk/continuationmanagertest/src/main/js/TestAbility/app.js @@ -0,0 +1,31 @@ +/* + * Copyright (c) 2022 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/ability/dmsfwk/continuationmanagertest/src/main/js/TestAbility/i18n/en-US.json b/ability/dmsfwk/continuationmanagertest/src/main/js/TestAbility/i18n/en-US.json new file mode 100644 index 0000000000000000000000000000000000000000..3cb24b374b1d919ca8eac0638f361692b603a900 --- /dev/null +++ b/ability/dmsfwk/continuationmanagertest/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/ability/dmsfwk/continuationmanagertest/src/main/js/TestAbility/i18n/zh-CN.json b/ability/dmsfwk/continuationmanagertest/src/main/js/TestAbility/i18n/zh-CN.json new file mode 100644 index 0000000000000000000000000000000000000000..c804e32c0c3103929baca5617cdac70be11fdba1 --- /dev/null +++ b/ability/dmsfwk/continuationmanagertest/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/ability/dmsfwk/continuationmanagertest/src/main/js/TestAbility/pages/index/index.css b/ability/dmsfwk/continuationmanagertest/src/main/js/TestAbility/pages/index/index.css new file mode 100644 index 0000000000000000000000000000000000000000..b1bcd43387ba131cc1d30975ff7508a6f8084a4b --- /dev/null +++ b/ability/dmsfwk/continuationmanagertest/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/ability/dmsfwk/continuationmanagertest/src/main/js/TestAbility/pages/index/index.hml b/ability/dmsfwk/continuationmanagertest/src/main/js/TestAbility/pages/index/index.hml new file mode 100644 index 0000000000000000000000000000000000000000..f629c71a9be857db6cdf94149652a191b9b272ea --- /dev/null +++ b/ability/dmsfwk/continuationmanagertest/src/main/js/TestAbility/pages/index/index.hml @@ -0,0 +1,5 @@ +
+ + {{ $t('strings.hello') }} {{ title }} + +
diff --git a/ability/dmsfwk/continuationmanagertest/src/main/js/TestAbility/pages/index/index.js b/ability/dmsfwk/continuationmanagertest/src/main/js/TestAbility/pages/index/index.js new file mode 100644 index 0000000000000000000000000000000000000000..88b083a7f6b979019d6a2c5ad20b19c5fd43286b --- /dev/null +++ b/ability/dmsfwk/continuationmanagertest/src/main/js/TestAbility/pages/index/index.js @@ -0,0 +1,26 @@ +/* + * Copyright (c) 2022 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/ability/dmsfwk/continuationmanagertest/src/main/js/TestRunner/OpenHarmonyTestRunner.js b/ability/dmsfwk/continuationmanagertest/src/main/js/TestRunner/OpenHarmonyTestRunner.js new file mode 100644 index 0000000000000000000000000000000000000000..c5fa8620ca77d381f20b65a903b833e6e3378c97 --- /dev/null +++ b/ability/dmsfwk/continuationmanagertest/src/main/js/TestRunner/OpenHarmonyTestRunner.js @@ -0,0 +1,59 @@ +/* + * Copyright (c) 2022 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/ability/dmsfwk/continuationmanagertest/src/main/js/test/ContinuationManagerJsunit.test.js b/ability/dmsfwk/continuationmanagertest/src/main/js/test/ContinuationManagerJsunit.test.js new file mode 100644 index 0000000000000000000000000000000000000000..f068b50c8ea82270f50312b0b232ce1c068f98c5 --- /dev/null +++ b/ability/dmsfwk/continuationmanagertest/src/main/js/test/ContinuationManagerJsunit.test.js @@ -0,0 +1,575 @@ +/* + * Copyright (c) 2022 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 continuationManager from '@ohos.continuation.continuationManager'; + +const TEST_DEVICE_ID = "test_deviceId"; +const TEST_CONNECT_STATUS = continuationManager.DeviceConnectState.CONNECTED; +let token = -1; + +export default function ContinuationManagerTest() { +describe('ContinuationManagerTest', function() { + + beforeAll(async function (done) { + console.info('beforeAll'); + done(); + }) + + afterAll(async function (done) { + console.info('afterAll'); + done(); + }) + + beforeEach(async function (done) { + console.info('beforeEach'); + await continuationManager.register(function (err, data) { + token = data; + console.info('beforeEach register success'); + done(); + }); + console.info('beforeEach end'); + }) + + afterEach(async function (done) { + console.info('afterEach'); + await continuationManager.unregister(token, function (err, data) { + console.info('afterEach unregister success'); + done(); + }); + console.info('afterEach end'); + }) + + /** + * @tc.number SUB_DISTRIBUTEDSCHEDULE_CONTINUATIONMANAGER_REGISTER_0100 + * @tc.name [JS-API8]ContinuationManager.register(). + * @tc.desc Test Js Api ContinuationManager.register() testcase 001 + */ + it('testRegister001', 0, async function(done) { + try { + continuationManager.register(function (err, data) { + expect(err.code == 0).assertTrue(); + expect(data - token == 1).assertTrue(); + done(); + }); + } catch (e) { + console.info("testRegister001 " + e); + expect(null).assertFail(); + done(); + } + }) + + /** + * @tc.number SUB_DISTRIBUTEDSCHEDULE_CONTINUATIONMANAGER_REGISTER_0200 + * @tc.name [JS-API8]ContinuationManager.register(). + * @tc.desc Test Js Api ContinuationManager.register() testcase 002 + */ + it('testRegister002', 0, async function(done) { + try { + let continuationExtraParams = { + deviceType: [], + description: "", + filter: "", + continuationMode: null, + authInfo: {} + }; + continuationManager.register(continuationExtraParams, function(err, data){ + console.info("testRegister002 " + err.message) + expect(err.message == "Invalidate params.").assertTrue(); + done(); + }); + } catch (e) { + console.info("testRegister002 " + e); + expect(null).assertFail(); + done(); + } + }) + + /** + * @tc.number SUB_DISTRIBUTEDSCHEDULE_CONTINUATIONMANAGER_REGISTER_0300 + * @tc.name [JS-API8]ContinuationManager.register(). + * @tc.desc Test Js Api ContinuationManager.register() testcase 003 + */ + it('testRegister003', 0, async function(done) { + try { + let continuationExtraParams = { + deviceType: ["00E"], + description: "description", + filter: {"name": "authInfo","length": 8}, + continuationMode: 10, + authInfo: {"name": "authInfo","length": 8} + }; + continuationManager.register(continuationExtraParams, function(err, data) { + expect(err.code == 29360216).assertTrue(); + console.info("testRegister003 "+ err); + done(); + }); + } catch (e) { + console.info("testRegister003 " + e); + expect(null).assertFail(); + done(); + } + }) + + /** + * @tc.number SUB_DISTRIBUTEDSCHEDULE_CONTINUATIONMANAGER_REGISTER_0400 + * @tc.name [JS-API8]ContinuationManager.register(). + * @tc.desc Test Js Api ContinuationManager.register() testcase 004 + */ + it('testRegister004', 0, async function(done) { + try { + let continuationExtraParams = { + deviceType: ["00E"], + description: "description", + filter: {"name": "authInfo","length": 8}, + continuationMode: continuationManager.ContinuationMode.COLLABORATION_MUTIPLE, + authInfo: {"name": "authInfo","length": 8} + }; + continuationManager.register(continuationExtraParams, function(err, data) { + expect(err.code == 0).assertTrue(); + expect(data - token == 1).assertTrue(); + done(); + }); + } catch (e) { + console.info("testRegister004 " + e); + expect(null).assertFail(); + done(); + } + }) + + + /** + * @tc.number SUB_DISTRIBUTEDSCHEDULE_CONTINUATIONMANAGER_UNREGISTER_0100 + * @tc.name [JS-API8]ContinuationManager.unregister(). + * @tc.desc Test Js Api ContinuationManager.unregister() testcase 001 + */ + it('testUnregister001', 0, async function(done) { + try { + continuationManager.unregister(token, function (err, data) { + expect(err.code == 0).assertTrue(); + expect(data == undefined).assertTrue(); + }) + done(); + } catch (e) { + console.info("testUnregister001 " + e); + expect(null).assertFail(); + done(); + } + }) + + /** + * @tc.number SUB_DISTRIBUTEDSCHEDULE_CONTINUATIONMANAGER_UNREGISTER_0200 + * @tc.name [JS-API8]ContinuationManager.unregister(). + * @tc.desc Test Js Api ContinuationManager.unregister() testcase 002 + */ + it('testUnregister002', 0, async function(done) { + try { + continuationManager.unregister(null, function (err, data) { + console.info("testUnregister002 " + data); + expect(err.message == "Invalidate params.").assertTrue(); + expect(data == undefined).assertTrue(); + }) + done(); + } catch (e) { + console.info("testUnregister002 " + e); + expect(null).assertFail(); + done(); + } + }) + + + /** + * @tc.number SUB_DISTRIBUTEDSCHEDULE_CONTINUATIONMANAGER_UNREGISTER_0300 + * @tc.name [JS-API8]ContinuationManager.unregister(). + * @tc.desc Test Js Api ContinuationManager.unregister() testcase 003 + */ + it('testUnregister003', 0, async function(done) { + try { + continuationManager.unregister(300, function (err, data) { + expect(err.code == 29360208).assertTrue(); + expect(data == undefined).assertTrue(); + }) + done(); + } catch (e) { + console.info("testUnregister003 " + e); + expect(null).assertFail(); + done(); + } + }) + + /** + * @tc.number SUB_DISTRIBUTEDSCHEDULE_CONTINUATIONMANAGER_ON_0100 + * @tc.name [JS-API8]ContinuationManager.on(). + * @tc.desc Test Js Api ContinuationManager.on() testcase 001 + */ + it('testOn001', 0, async function(done) { + try { + continuationManager.on("deviceConnect", function (data) { + expect(data == undefined).assertTrue(); + }); + done(); + } catch (e) { + console.info("testOn001 " + e); + expect(null).assertFail(); + done(); + } + }) + + /** + * @tc.number SUB_DISTRIBUTEDSCHEDULE_CONTINUATIONMANAGER_ON_0200 + * @tc.name [JS-API8]ContinuationManager.on(). + * @tc.desc Test Js Api ContinuationManager.on() testcase 002 + */ + it('testOn002', 0, async function(done) { + try { + continuationManager.on("deviceDisconnect", function (data) { + expect(data == undefined).assertTrue(); + }); + done(); + } catch (e) { + console.info("testOn002 " + e); + expect(null).assertFail(); + done(); + } + }) + + /** + * @tc.number SUB_DISTRIBUTEDSCHEDULE_CONTINUATIONMANAGER_ON_0300 + * @tc.name [JS-API9]ContinuationManager.on(). + * @tc.desc Test Js Api ContinuationManager.on() testcase 003 + */ + it('testOn003', 0, async function(done) { + try { + continuationManager.on("deviceConnect", token, function (data) { + expect(data == undefined).assertTrue(); + }) + done(); + } catch (e) { + console.info("testOn003 " + e); + expect(null).assertFail(); + done(); + } + }) + + /** + * @tc.number SUB_DISTRIBUTEDSCHEDULE_CONTINUATIONMANAGER_ON_0400 + * @tc.name [JS-API9]ContinuationManager.on(). + * @tc.desc Test Js Api ContinuationManager.on() testcase 004 + */ + it('testOn004', 0, async function(done) { + try { + continuationManager.on("deviceDisconnect", token, function (data) { + expect(data == undefined).assertTrue(); + }); + done(); + } catch (e) { + console.info("testOn004 " + e); + expect(null).assertFail(); + done(); + } + }) + + /** + * @tc.number SUB_DISTRIBUTEDSCHEDULE_CONTINUATIONMANAGER_OFF_0100 + * @tc.name [JS-API8]ContinuationManager.off(). + * @tc.desc Test Js Api ContinuationManager.off() testcase 001 + */ + it('testOff001', 0, async function(done) { + try { + continuationManager.off("deviceConnect", function (data) { + expect(data == undefined).assertTrue(); + }); + done(); + } catch (e) { + console.info("testOff001 " + e); + expect(null).assertFail(); + done(); + } + }) + + /** + * @tc.number SUB_DISTRIBUTEDSCHEDULE_CONTINUATIONMANAGER_OFF_0200 + * @tc.name [JS-API8]ContinuationManager.off(). + * @tc.desc Test Js Api ContinuationManager.off() testcase 002 + */ + it('testOff002', 0, async function(done) { + try { + continuationManager.off("deviceDisconnect", function (data) { + expect(data == undefined).assertTrue(); + }); + done(); + } catch (e) { + console.info("testOff002 " + e); + expect(null).assertFail(); + done(); + } + }) + + /** + * @tc.number SUB_DISTRIBUTEDSCHEDULE_CONTINUATIONMANAGER_OFF_0300 + * @tc.name [JS-API9]ContinuationManager.off(). + * @tc.desc Test Js Api ContinuationManager.off() testcase 003 + */ + it('testOff003', 0, async function(done) { + try { + continuationManager.off("deviceConnect", token); + done(); + } catch (e) { + console.info("testOff003 " + e); + expect(null).assertFail(); + done(); + } + }) + + /** + * @tc.number SUB_DISTRIBUTEDSCHEDULE_CONTINUATIONMANAGER_OFF_0400 + * @tc.name [JS-API9]ContinuationManager.off(). + * @tc.desc Test Js Api ContinuationManager.off() testcase 004 + */ + it('testOff004', 0, async function(done) { + try { + continuationManager.off("deviceDisconnect", token); + done(); + } catch (e) { + console.info("testOff004 " + e); + expect(null).assertFail(); + done(); + } + }) + + /** + * @tc.number SUB_DISTRIBUTEDSCHEDULE_CONTINUATIONMANAGER_STARTDEVICEMANAGER_0100 + * @tc.name [JS-API8]ContinuationManager.startDeviceManager(). + * @tc.desc Test Js Api ContinuationManager.startDeviceManager() testcase 001 + */ + it('testStartDeviceManager001', 0, async function(done) { + try { + continuationManager.startDeviceManager(token, function (err, data) { + expect(err.code != 0).assertTrue(); + expect(data == undefined).assertTrue(); + }); + done(); + } catch (e) { + console.info("testStartDeviceManager001 " + e); + expect(null).assertFail(); + done(); + } + }) + + /** + * @tc.number SUB_DISTRIBUTEDSCHEDULE_CONTINUATIONMANAGER_STARTDEVICEMANAGER_0200 + * @tc.name [JS-API8]ContinuationManager.startDeviceManager(). + * @tc.desc Test Js Api ContinuationManager.startDeviceManager() testcase 002 + */ + it('testStartDeviceManager002', 0, async function(done) { + try { + continuationManager.startDeviceManager(null, function (err, data) { + expect(err.code == -1).assertTrue(); + expect(data == undefined).assertTrue(); + }); + done(); + } catch (e) { + console.info("testStartDeviceManager002 " + e); + expect(null).assertFail(); + done(); + } + }) + + /** + * @tc.number SUB_DISTRIBUTEDSCHEDULE_CONTINUATIONMANAGER_STARTDEVICEMANAGER_0300 + * @tc.name [JS-API8]ContinuationManager.startDeviceManager(). + * @tc.desc Test Js Api ContinuationManager.startDeviceManager() testcase 003 + */ + it('testStartDeviceManager003', 0, async function(done) { + try { + let continuationExtraParams = { + deviceType: ["00E"], + description: "description", + filter: {"name": "authInfo","length": 8}, + continuationMode: continuationManager.ContinuationMode.COLLABORATION_MUTIPLE, + authInfo: {"name": "authInfo","length": 8} + }; + continuationManager.startDeviceManager(null, continuationExtraParams, function (err, data) { + expect(err.code == -1).assertTrue(); + expect(data == undefined).assertTrue(); + }); + done(); + } catch (e) { + console.info("testStartDeviceManager003 " + e); + expect(null).assertFail(); + done(); + } + }) + + /** + * @tc.number SUB_DISTRIBUTEDSCHEDULE_CONTINUATIONMANAGER_STARTDEVICEMANAGER_0400 + * @tc.name [JS-API8]ContinuationManager.startDeviceManager(). + * @tc.desc Test Js Api ContinuationManager.startDeviceManager() testcase 004 + */ + it('testStartDeviceManager004', 0, async function(done) { + try { + let continuationExtraParams = { + deviceType: ["00E"], + description: "description", + filter: {"name": "authInfo","length": 8}, + continuationMode: continuationManager.ContinuationMode.COLLABORATION_MUTIPLE, + authInfo: {"name": "authInfo","length": 8} + }; + continuationManager.startDeviceManager(52, continuationExtraParams, function (err, data) { + console.info("testStartDeviceManager004 " + err.code); + expect(err.code == 29360208).assertTrue(); + expect(data == undefined).assertTrue(); + }); + done(); + } catch (e) { + console.info("testStartDeviceManager004 " + e); + expect(null).assertFail(); + done(); + } + }) + + /** + * @tc.number SUB_DISTRIBUTEDSCHEDULE_CONTINUATIONMANAGER_STARTDEVICEMANAGER_0500 + * @tc.name [JS-API8]ContinuationManager.startDeviceManager(). + * @tc.desc Test Js Api ContinuationManager.startDeviceManager() testcase 005 + */ + it('testStartDeviceManager005', 0, async function(done) { + try { + let continuationExtraParams = { + deviceType: ["00E"], + description: "description", + filter: {"name": "authInfo","length": 8}, + continuationMode: 30, + authInfo: {"name": "authInfo","length": 8} + }; + continuationManager.startDeviceManager(token, continuationExtraParams, function (err, data) { + console.info("testStartDeviceManager005 " + err.code); + expect(err.code == 29360216).assertTrue(); + expect(data == undefined).assertTrue(); + }); + done(); + } catch (e) { + console.info("testStartDeviceManager005 " + e); + expect(null).assertFail(); + done(); + } + }) + + /** + * @tc.number SUB_DISTRIBUTEDSCHEDULE_CONTINUATIONMANAGER_STARTDEVICEMANAGER_0600 + * @tc.name [JS-API8]ContinuationManager.startDeviceManager(). + * @tc.desc Test Js Api ContinuationManager.startDeviceManager() testcase 006 + */ + it('testStartDeviceManager006', 0, async function(done) { + try { + let continuationExtraParams = { + }; + continuationManager.startDeviceManager(token, continuationExtraParams, function (err, data) { + console.info("testStartDeviceManager006 " + err.code); + expect(err.code != 0).assertTrue(); + expect(data == undefined).assertTrue(); + }); + done(); + } catch (e) { + console.info("testStartDeviceManager006 " + e); + expect(null).assertFail(); + done(); + } + }) + + /** + * @tc.number SUB_DISTRIBUTEDSCHEDULE_CONTINUATIONMANAGER_STARTDEVICEMANAGER_0700 + * @tc.name [JS-API8]ContinuationManager.startDeviceManager(). + * @tc.desc Test Js Api ContinuationManager.startDeviceManager() testcase 007 + */ + it('testStartDeviceManager007', 0, async function(done) { + try { + let continuationExtraParams = { + deviceType: ["00E"], + description: "description", + filter: {"name": "authInfo","length": 8}, + continuationMode: continuationManager.ContinuationMode.COLLABORATION_MUTIPLE, + authInfo: {"name": "authInfo","length": 8} + }; + continuationManager.startDeviceManager(token, continuationExtraParams, function (err, data) { + expect(err.code != 0).assertTrue(); + expect(data == undefined).assertTrue(); + }); + done(); + } catch (e) { + console.info("testStartDeviceManager007 " + e); + expect(null).assertFail(); + done(); + } + }) + + /** + * @tc.number SUB_DISTRIBUTEDSCHEDULE_CONTINUATIONMANAGER_UPDATECONNECTSTATUS_0100 + * @tc.name [JS-API8]ContinuationManager.updateConnectStatus(). + * @tc.desc Test Js Api ContinuationManager.updateConnectStatus() testcase 001 + */ + it('testUpdateConnectStatus001', 0, async function(done) { + try { + continuationManager.updateConnectStatus(token, TEST_DEVICE_ID, TEST_CONNECT_STATUS, function (err, data) { + expect(err.code != 0).assertTrue(); + expect(data == undefined).assertTrue(); + }); + done(); + } catch (e) { + console.info("testUpdateConnectStatus001 " + e); + expect(null).assertFail(); + done(); + } + }) + + /** + * @tc.number SUB_DISTRIBUTEDSCHEDULE_CONTINUATIONMANAGER_UPDATECONNECTSTATUS_0200 + * @tc.name [JS-API8]ContinuationManager.updateConnectStatus(). + * @tc.desc Test Js Api ContinuationManager.updateConnectStatus() testcase 002 + */ + it('testUpdateConnectStatus002', 0, async function(done) { + try { + continuationManager.updateConnectStatus(null, TEST_DEVICE_ID, TEST_CONNECT_STATUS, function (err, data) { + console.info("testUpdateConnectStatus002 " + err.code); + expect(err.code == -1).assertTrue(); + expect(data == undefined).assertTrue(); + }); + done(); + } catch (e) { + console.info("testUpdateConnectStatus002 " + e); + expect(null).assertFail(); + done(); + } + }) + + /** + * @tc.number SUB_DISTRIBUTEDSCHEDULE_CONTINUATIONMANAGER_UPDATECONNECTSTATUS_0300 + * @tc.name [JS-API8]ContinuationManager.updateConnectStatus(). + * @tc.desc Test Js Api ContinuationManager.updateConnectStatus() testcase 003 + */ + it('testUpdateConnectStatus003', 0, async function(done) { + try { + continuationManager.updateConnectStatus(token, TEST_DEVICE_ID, -2, function (err, data) { + console.info("testUpdateConnectStatus003 " + err.code); + expect(err.code == 29360215).assertTrue(); + expect(data == undefined).assertTrue(); + }); + done(); + } catch (e) { + console.info("testUpdateConnectStatus003 " + e); + expect(null).assertFail(); + done(); + } + }) +})} diff --git a/ability/dmsfwk/continuationmanagertest/src/main/js/test/List.test.js b/ability/dmsfwk/continuationmanagertest/src/main/js/test/List.test.js new file mode 100644 index 0000000000000000000000000000000000000000..a6a82ae64195f994ca4755177bb6e6eb66b4ae48 --- /dev/null +++ b/ability/dmsfwk/continuationmanagertest/src/main/js/test/List.test.js @@ -0,0 +1,18 @@ +/* +* Copyright (c) 2022 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 ContinuationManagerTest from './ContinuationManagerJsunit.test.js' +export default function testsuite() { +ContinuationManagerTest() +} diff --git a/ability/dmsfwk/continuationmanagertest/src/main/resources/base/element/string.json b/ability/dmsfwk/continuationmanagertest/src/main/resources/base/element/string.json new file mode 100644 index 0000000000000000000000000000000000000000..c931e164748318159c3a3939e588b26ec19f7b7f --- /dev/null +++ b/ability/dmsfwk/continuationmanagertest/src/main/resources/base/element/string.json @@ -0,0 +1,28 @@ +{ + "string": [ + { + "name": "app_name", + "value": "ContinuationManagerJsTest" + }, + { + "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" + } + ] +} diff --git a/ability/dmsfwk/continuationmanagertest/src/main/resources/base/media/icon.png b/ability/dmsfwk/continuationmanagertest/src/main/resources/base/media/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..ce307a8827bd75456441ceb57d530e4c8d45d36c Binary files /dev/null and b/ability/dmsfwk/continuationmanagertest/src/main/resources/base/media/icon.png differ