diff --git a/telephony/telephonyjstest/BUILD.gn b/telephony/telephonyjstest/BUILD.gn
index 05e4514069e113b165c52f6efdb5507d8e2d7e16..5fcf47d4f8a3984c1835470403170f37490da8ec 100644
--- a/telephony/telephonyjstest/BUILD.gn
+++ b/telephony/telephonyjstest/BUILD.gn
@@ -24,5 +24,6 @@ group("telephonyjstest") {
"radiostatistic:ActsRadiostatisticEtsTest",
"sim:sim",
"sms_mms:sms_mms",
+ "telephony_base:telephony_base",
]
}
diff --git a/telephony/telephonyjstest/telephony_base/BUILD.gn b/telephony/telephonyjstest/telephony_base/BUILD.gn
new file mode 100644
index 0000000000000000000000000000000000000000..47fca16a807049ab26e7c801c241474a000a7883
--- /dev/null
+++ b/telephony/telephonyjstest/telephony_base/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("//build/ohos_var.gni")
+
+group("telephony_base") {
+ testonly = true
+ if (is_standard_system) {
+ deps = [
+ "call_manager:ActsBaseCallManagerTest",
+ "cellular_data:ActsBaseCellularDataTest",
+ ]
+ }
+}
diff --git a/telephony/telephonyjstest/telephony_base/call_manager/BUILD.gn b/telephony/telephonyjstest/telephony_base/call_manager/BUILD.gn
new file mode 100644
index 0000000000000000000000000000000000000000..f1e25461f6d8d407513e7bd965731a0415fc246f
--- /dev/null
+++ b/telephony/telephonyjstest/telephony_base/call_manager/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_js_hap_suite("ActsBaseCallManagerTest") {
+ hap_profile = "./src/main/config.json"
+ deps = [
+ ":hjs_demo_js_assets",
+ ":hjs_demo_resources",
+ ]
+ certificate_profile = "./signature/openharmony_sx.p7b"
+ hap_name = "ActsBaseCallManagerTest"
+ part_name = "netstack"
+ subsystem_name = "communication"
+}
+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/telephony/telephonyjstest/telephony_base/call_manager/Test.json b/telephony/telephonyjstest/telephony_base/call_manager/Test.json
new file mode 100644
index 0000000000000000000000000000000000000000..64833f5b04a31acb96910e1f64d542eda4254563
--- /dev/null
+++ b/telephony/telephonyjstest/telephony_base/call_manager/Test.json
@@ -0,0 +1,19 @@
+{
+ "description": "Function test of sim manager interface",
+ "driver": {
+ "type": "OHJSUnitTest",
+ "test-timeout": "900000",
+ "bundle-name": "com.ohos.call_manager",
+ "package-name": "com.ohos.call_manager",
+ "shell-timeout": "900000"
+ },
+ "kits": [
+ {
+ "test-file-name": [
+ "$module.hap"
+ ],
+ "type": "AppInstallKit",
+ "cleanup-apps": true
+ }
+ ]
+}
diff --git a/telephony/telephonyjstest/telephony_base/call_manager/signature/openharmony_sx.p7b b/telephony/telephonyjstest/telephony_base/call_manager/signature/openharmony_sx.p7b
new file mode 100644
index 0000000000000000000000000000000000000000..66b4457a8a81fb8d3356cf46d67226c850944858
Binary files /dev/null and b/telephony/telephonyjstest/telephony_base/call_manager/signature/openharmony_sx.p7b differ
diff --git a/telephony/telephonyjstest/telephony_base/call_manager/src/main/config.json b/telephony/telephonyjstest/telephony_base/call_manager/src/main/config.json
new file mode 100644
index 0000000000000000000000000000000000000000..37a532bb41085fbe784c9de969106cdf643e9e86
--- /dev/null
+++ b/telephony/telephonyjstest/telephony_base/call_manager/src/main/config.json
@@ -0,0 +1,140 @@
+{
+ "app": {
+ "bundleName": "com.ohos.call_manager",
+ "vendor": "ohos",
+ "version": {
+ "code": 1000000,
+ "name": "1.0.0"
+ },
+ "apiVersion": {
+ "compatible": 4,
+ "target": 5,
+ "releaseType": "Release"
+ }
+ },
+ "deviceConfig": {},
+ "module": {
+ "package": "com.ohos.call_manager",
+ "name": ".entry",
+ "mainAbility": ".MainAbility",
+ "srcPath":"",
+ "deviceType": [
+ "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"
+ }
+ ],
+ "reqPermissions": [
+ {
+ "name": "ohos.permission.LOCATION",
+ "reason": "need use ohos.permission.LOCATION"
+ },
+ {
+ "name":"ohos.permission.SET_TELEPHONY_STATE",
+ "reason":"need use ohos.permission.SET_TELEPHONY_STATE"
+ },
+ {
+ "name":"ohos.permission.GET_TELEPHONY_STATE",
+ "reason":"need use ohos.permission.GET_TELEPHONY_STATE"
+ },
+ {
+ "name":"ohos.permission.PLACE_CALL",
+ "reason":"need use ohos.permission.PLACE_CALL"
+ },
+ {
+ "name":"ohos.permission.READ_CONTACTS",
+ "reason":"need use ohos.permission.READ_CONTACTS"
+ },
+ {
+ "name":"ohos.permission.WRITE_CONTACTS",
+ "reason":"need use ohos.permission.WRITE_CONTACTS"
+ },
+ {
+ "name":"ohos.permission.SEND_MESSAGES",
+ "reason":"need use ohos.permission.SEND_MESSAGES"
+ },
+ {
+ "name":"ohos.permission.RECEIVE_SMS",
+ "reason":"need use ohos.permission.RECEIVE_SMS"
+ },
+ {
+ "name":"ohos.permission.READ_CALL_LOG",
+ "reason":"need use ohos.permission.READ_CALL_LOG"
+ },
+ {
+ "name":"ohos.permission.GET_NETWORK_INFO",
+ "reason":"need use ohos.permission.GET_NETWORK_INFO"
+ },
+ {
+ "name":"ohos.permission.INTERNET",
+ "reason":"need use ohos.permission.INTERNET"
+ }
+ ],
+ "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"
+ }
+ }
+}
\ No newline at end of file
diff --git a/telephony/telephonyjstest/telephony_base/call_manager/src/main/js/MainAbility/app.js b/telephony/telephonyjstest/telephony_base/call_manager/src/main/js/MainAbility/app.js
new file mode 100644
index 0000000000000000000000000000000000000000..7657258ed64c43d52aa1eb6d55d86dea9e812969
--- /dev/null
+++ b/telephony/telephonyjstest/telephony_base/call_manager/src/main/js/MainAbility/app.js
@@ -0,0 +1,22 @@
+/*
+ * 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('TestApplication onCreate');
+ },
+ onDestroy () {
+ console.info('TestApplication onDestroy');
+ }
+};
diff --git a/telephony/telephonyjstest/telephony_base/call_manager/src/main/js/MainAbility/i18n/en-US.json b/telephony/telephonyjstest/telephony_base/call_manager/src/main/js/MainAbility/i18n/en-US.json
new file mode 100644
index 0000000000000000000000000000000000000000..55561b83737c3c31d082fbfa11e5fc987a351104
--- /dev/null
+++ b/telephony/telephonyjstest/telephony_base/call_manager/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/telephony/telephonyjstest/telephony_base/call_manager/src/main/js/MainAbility/i18n/zh-CN.json b/telephony/telephonyjstest/telephony_base/call_manager/src/main/js/MainAbility/i18n/zh-CN.json
new file mode 100644
index 0000000000000000000000000000000000000000..cce1af06761a42add0cac1a0567aa3237eda8cb4
--- /dev/null
+++ b/telephony/telephonyjstest/telephony_base/call_manager/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/telephony/telephonyjstest/telephony_base/call_manager/src/main/js/MainAbility/pages/index/index.css b/telephony/telephonyjstest/telephony_base/call_manager/src/main/js/MainAbility/pages/index/index.css
new file mode 100644
index 0000000000000000000000000000000000000000..6fda792753f2e15f22b529c7b90a82185b2770bf
--- /dev/null
+++ b/telephony/telephonyjstest/telephony_base/call_manager/src/main/js/MainAbility/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/telephony/telephonyjstest/telephony_base/call_manager/src/main/js/MainAbility/pages/index/index.hml b/telephony/telephonyjstest/telephony_base/call_manager/src/main/js/MainAbility/pages/index/index.hml
new file mode 100644
index 0000000000000000000000000000000000000000..1761ec52614d15e232d2e5ba45299eff2b1179f9
--- /dev/null
+++ b/telephony/telephonyjstest/telephony_base/call_manager/src/main/js/MainAbility/pages/index/index.hml
@@ -0,0 +1,5 @@
+
+
+ SIM TEST
+
+
diff --git a/telephony/telephonyjstest/telephony_base/call_manager/src/main/js/MainAbility/pages/index/index.js b/telephony/telephonyjstest/telephony_base/call_manager/src/main/js/MainAbility/pages/index/index.js
new file mode 100644
index 0000000000000000000000000000000000000000..51b16517bf634ec6b35c2299f96888242fea71ad
--- /dev/null
+++ b/telephony/telephonyjstest/telephony_base/call_manager/src/main/js/MainAbility/pages/index/index.js
@@ -0,0 +1,43 @@
+/*
+ * 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 file from '@system.file';
+import app from '@system.app';
+import device from '@system.device';
+import router from '@system.router';
+import AbilityDelegatorRegistry from '@ohos.application.abilityDelegatorRegistry'
+import { Hypium } from '@ohos/hypium'
+import testsuite from '../../../test/List.test'
+
+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!');
+ var abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator()
+ var abilityDelegatorArguments = AbilityDelegatorRegistry.getArguments()
+ console.info('start run testcase!!!')
+ Hypium.hypiumTest(abilityDelegator, abilityDelegatorArguments, testsuite)
+ },
+ onReady () {
+ },
+};
\ No newline at end of file
diff --git a/telephony/telephonyjstest/telephony_base/call_manager/src/main/js/TestAbility/app.js b/telephony/telephonyjstest/telephony_base/call_manager/src/main/js/TestAbility/app.js
new file mode 100644
index 0000000000000000000000000000000000000000..065cded0a5f0da1c4f86460db4bd0b3445816805
--- /dev/null
+++ b/telephony/telephonyjstest/telephony_base/call_manager/src/main/js/TestAbility/app.js
@@ -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.
+ */
+export default {
+ onCreate() {
+ console.info('TestApplication onCreate');
+ },
+ onDestroy() {
+ console.info('TestApplication onDestroy');
+ }
+};
+
diff --git a/telephony/telephonyjstest/telephony_base/call_manager/src/main/js/TestAbility/i18n/en-US.json b/telephony/telephonyjstest/telephony_base/call_manager/src/main/js/TestAbility/i18n/en-US.json
new file mode 100644
index 0000000000000000000000000000000000000000..55561b83737c3c31d082fbfa11e5fc987a351104
--- /dev/null
+++ b/telephony/telephonyjstest/telephony_base/call_manager/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/telephony/telephonyjstest/telephony_base/call_manager/src/main/js/TestAbility/i18n/zh-CN.json b/telephony/telephonyjstest/telephony_base/call_manager/src/main/js/TestAbility/i18n/zh-CN.json
new file mode 100644
index 0000000000000000000000000000000000000000..cce1af06761a42add0cac1a0567aa3237eda8cb4
--- /dev/null
+++ b/telephony/telephonyjstest/telephony_base/call_manager/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/telephony/telephonyjstest/telephony_base/call_manager/src/main/js/TestAbility/pages/index/index.css b/telephony/telephonyjstest/telephony_base/call_manager/src/main/js/TestAbility/pages/index/index.css
new file mode 100644
index 0000000000000000000000000000000000000000..b21c92c6290ea747bd891e2ab673721afc5521ed
--- /dev/null
+++ b/telephony/telephonyjstest/telephony_base/call_manager/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/telephony/telephonyjstest/telephony_base/call_manager/src/main/js/TestAbility/pages/index/index.hml b/telephony/telephonyjstest/telephony_base/call_manager/src/main/js/TestAbility/pages/index/index.hml
new file mode 100644
index 0000000000000000000000000000000000000000..f64b040a5ae394dbaa5e185e1ecd4f4556b92184
--- /dev/null
+++ b/telephony/telephonyjstest/telephony_base/call_manager/src/main/js/TestAbility/pages/index/index.hml
@@ -0,0 +1,5 @@
+
+
+ {{ $t('strings.hello') }} {{ title }}
+
+
diff --git a/telephony/telephonyjstest/telephony_base/call_manager/src/main/js/TestAbility/pages/index/index.js b/telephony/telephonyjstest/telephony_base/call_manager/src/main/js/TestAbility/pages/index/index.js
new file mode 100644
index 0000000000000000000000000000000000000000..d94b75c085fa1c16a0b2721609b18c57a7295476
--- /dev/null
+++ b/telephony/telephonyjstest/telephony_base/call_manager/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/telephony/telephonyjstest/telephony_base/call_manager/src/main/js/TestRunner/OpenHarmonyTestRunner.js b/telephony/telephonyjstest/telephony_base/call_manager/src/main/js/TestRunner/OpenHarmonyTestRunner.js
new file mode 100644
index 0000000000000000000000000000000000000000..527be90a1240e77ba994eb71d2868331533bb464
--- /dev/null
+++ b/telephony/telephonyjstest/telephony_base/call_manager/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'] + '.MainAbility'
+
+ 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/telephony/telephonyjstest/telephony_base/call_manager/src/main/js/test/CallManagerTest.test.js b/telephony/telephonyjstest/telephony_base/call_manager/src/main/js/test/CallManagerTest.test.js
new file mode 100644
index 0000000000000000000000000000000000000000..c837c4d2c20993b64c6265c4afc14a545e4422f1
--- /dev/null
+++ b/telephony/telephonyjstest/telephony_base/call_manager/src/main/js/test/CallManagerTest.test.js
@@ -0,0 +1,1147 @@
+/**
+ * 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 net_connection from '@ohos.net.connection';
+import call from '@ohos.telephony.call';
+import {describe, beforeAll, beforeEach, afterEach, afterAll, it, expect} from '@ohos/hypium';
+export default function ActsBaseCallManagerTest() {
+
+
+ let net = net_connection.createNetConnection()
+
+ class RejectMessageOptions {
+ constructor(str) {
+ this.messageContent = str;
+ }
+ }
+
+ describe('CallManagerTest', function () {
+ const ERROR_CALLID_999 = 999;
+ const GETMAIN_CALLID_ERRO = -1;
+ const SLOT_0 = 0;
+ const ERR_SLOT_ID = -1;
+ const MORE_THAN_30_NUMBERS = '';
+ const INVALID_NUMBER = '';
+ const ACTIVATE_TRUE = true;
+ const ACTIVATE_FALSE = false;
+ const REJECT_MESSAGE_NUM = '1234567890123456789012345678901234567890';
+
+ /**
+ * @tc.number Telephony_CallManager_getCallState_Async_0100
+ * @tc.name To get the idle call status, call getCallState() to get the current call status.
+ * call.CALL_STATE_IDLE is returned
+ * @tc.desc Function test
+ */
+ it('Telephony_CallManager_getCallState_Async_0100', 0, async function (done) {
+ call.getCallState((err, data) => {
+ if (err) {
+ console.log(`Telephony_CallManager_getCallState_Async_0100 : err = ${err.message}`);
+ expect().assertFail();
+ done();
+ return;
+ }
+ expect(data === call.CALL_STATE_IDLE).assertTrue();
+ console.log(`Telephony_CallManager_getCallState_Async_0100 finish data = ${data}`);
+ done();
+ });
+ });
+
+ /**
+ * @tc.number Telephony_CallManager_getCallState_Promise_0100
+ * @tc.name To get the idle call status, call getCallState() to get the current call status.
+ * call.CALL_STATE_IDLE is returned
+ * @tc.desc Function test
+ */
+ it('Telephony_CallManager_getCallState_Promise_0100', 0, async function (done) {
+ try {
+ var data = await call.getCallState();
+ expect(data === call.CALL_STATE_IDLE).assertTrue();
+ console.log(`Telephony_CallManager_getCallState_Promise_0100 finish data = ${data}`);
+ done();
+ } catch (err) {
+ console.log(`Telephony_CallManager_getCallState_Promise_0100 : err = ${err.message}`);
+ expect().assertFail();
+ done();
+
+ }
+ });
+
+
+ /**
+ * @tc.number Telephony_CallManager_hasCall_Async_0400
+ * @tc.name When idle, hasCall() is called to confirm that there is no current call,returning false
+ * @tc.desc Function test
+ */
+ it('Telephony_CallManager_hasCall_Async_0400', 0, async function (done) {
+ call.hasCall((err, data) => {
+ if (err) {
+ console.log('Telephony_CallManager_hasCall_Async_0400 fail');
+ expect().assertFail();
+ done();
+ return;
+ }
+ expect(data === false).assertTrue();
+ console.log(`Telephony_CallManager_hasCall_Async_0400 finish data = ${data}`);
+ done();
+ });
+ });
+
+
+ /**
+ * @tc.number Telephony_CallManager_hasCall_Promise_0400
+ * @tc.name When idle, hasCall() is called to confirm that there is no current call, returning false
+ * @tc.desc Function test
+ */
+ it('Telephony_CallManager_hasCall_Promise_0400', 0, async function (done) {
+ try {
+ var data = await call.hasCall();
+ expect(data === false).assertTrue();
+ console.log(`Telephony_CallManager_hasCall_Promise_0400 finish data = ${data}`);
+ done();
+ } catch (err) {
+ console.log('Telephony_CallManager_hasCall_Promise_0400 fail');
+ expect().assertFail();
+ done();
+
+ }
+ });
+
+
+ /**
+ * @tc.number Telephony_CallManager_startDTMF_Async_1000
+ * @tc.name CallId is 999, character is C, startDTMF() is called as a callback to startDTMF and capture err
+ * @tc.desc Function test
+ */
+ it('Telephony_CallManager_startDTMF_Async_1000', 0, async function (done) {
+ call.startDTMF(ERROR_CALLID_999, 'C', (err) => {
+ if (err) {
+ console.log(`Telephony_CallManager_startDTMF_Async_1000 finish err = ${err.message}`);
+ done();
+ return;
+ }
+ expect().assertFail();
+ console.log('Telephony_CallManager_startDTMF_Async_1000 fail');
+ done();
+ });
+ });
+
+ /**
+ * @tc.number Telephony_CallManager_formatPhoneNumber_Async_0100
+ * @tc.name PhoneNumber is 100000000000. Call formatPhoneNumber() to format the number.
+ * The return value is 10 000 000 0000
+ * @tc.desc Function test
+ */
+ it('Telephony_CallManager_formatPhoneNumber_Async_0100', 0, async function (done) {
+ call.formatPhoneNumber('100000000000', (err, data) => {
+ if (err) {
+ console.log(`Telephony_CallManager_formatPhoneNumber_Async_0100 err = ${err.message}`);
+ console.log('Telephony_CallManager_formatPhoneNumber_Async_0100 fail');
+ expect().assertFail();
+ done();
+ return;
+ }
+ expect(data === '10 000 000 0000').assertTrue();
+ console.log(`Telephony_CallManager_formatPhoneNumber_Async_0100 finish data = ${data}`);
+ done();
+ });
+ });
+
+ /**
+ * @tc.number Telephony_CallManager_formatPhoneNumber_Async_0200
+ * @tc.name If phoneNumber is 10 000 000 0000, options: CN, call formatPhoneNumber() to format the number,
+ * and capture err
+ * @tc.desc Function test
+ */
+ it('Telephony_CallManager_formatPhoneNumber_Async_0200', 0, async function (done) {
+ call.formatPhoneNumber('10 000 000 0000', {
+ countryCode: 'CN'
+ }, (err, data) => {
+ if (err) {
+ console.log(`Telephony_CallManager_formatPhoneNumber_Async_0200 finish = ${err.message}`);
+ done();
+ return;
+ }
+ expect().assertFail();
+ console.log('Telephony_CallManager_formatPhoneNumber_Async_0200 fail');
+ done();
+ });
+ });
+
+ /**
+ * @tc.number Telephony_CallManager_formatPhoneNumber_Async_0300
+ * @tc.name If phoneNumber is (010)00000000, options: CN, call formatPhoneNumber() to format the number,
+ * return the value 010 0000 0000
+ * @tc.desc Function test
+ */
+ it('Telephony_CallManager_formatPhoneNumber_Async_0300', 0, async function (done) {
+ call.formatPhoneNumber('(010)00000000', {
+ countryCode: 'CN'
+ }, (err, data) => {
+ if (err) {
+ console.log('Telephony_CallManager_formatPhoneNumber_Async_0300 fail');
+ expect().assertFail();
+ done();
+ return;
+ }
+ expect(data === '010 0000 0000').assertTrue();
+ console.log(`Telephony_CallManager_formatPhoneNumber_Async_0300 finish data : ${data}`);
+ done();
+ });
+ });
+
+ /**
+ * @tc.number Telephony_CallManager_formatPhoneNumber_Async_0400
+ * @tc.name PhoneNumber is 010-0000-0000, options: CN, call formatPhoneNumber() to format the number,
+ * return 010 0000 0000
+ * @tc.desc Function test
+ */
+ it('Telephony_CallManager_formatPhoneNumber_Async_0400', 0, async function (done) {
+ call.formatPhoneNumber('010-0000-0000', {
+ countryCode: 'CN'
+ }, (err, data) => {
+ if (err) {
+ console.log('Telephony_CallManager_formatPhoneNumber_Async_0400 fail');
+ expect().assertFail();
+ done();
+ return;
+ }
+ expect(data === '010 0000 0000').assertTrue();
+ console.log(`Telephony_CallManager_formatPhoneNumber_Async_0400 finish data : ${data}`);
+ done();
+ });
+ });
+
+ /**
+ * @tc.number Telephony_CallManager_formatPhoneNumber_Async_0500
+ * @tc.name PhoneNumber 666666999999 is not supported in the current country. Options: CN. Call
+ * formatPhoneNumber() to format the number and capture err
+ * @tc.desc Function test
+ */
+ it('Telephony_CallManager_formatPhoneNumber_Async_0500', 0, async function (done) {
+ call.formatPhoneNumber('666666999999', {
+ countryCode: 'CN'
+ }, (err) => {
+ if (err) {
+ console.log(`Telephony_CallManager_formatPhoneNumber_Async_0500 finish err = ${err.message}`);
+ done();
+ return;
+ }
+ console.log('Telephony_CallManager_formatPhoneNumber_Async_0500 fail');
+ expect().assertFail();
+ done();
+ });
+ });
+
+ /**
+ * @tc.number Telephony_CallManager_formatPhoneNumber_Async_0600
+ * @tc.name If phoneNumber is 2000000000, type non-existent options: abCDFG. Call
+ * formatPhoneNumber() to format the number and capture err
+ * @tc.desc Function test
+ */
+ it('Telephony_CallManager_formatPhoneNumber_Async_0600', 0, async function (done) {
+ call.formatPhoneNumber('2000000000', {
+ countryCode: 'abcdefg'
+ }, (err) => {
+ if (err) {
+ console.log(`Telephony_CallManager_formatPhoneNumber_Async_0600 finish err = ${err.message}`);
+ done();
+ return;
+ }
+ expect().assertFail();
+ console.log('Telephony_CallManager_formatPhoneNumber_Async_0600 fail');
+ done();
+ });
+ });
+
+ /**
+ * @tc.number Telephony_CallManager_formatPhoneNumber_Async_0700
+ * @tc.name If phoneNumber is 2000000000, options: ', call formatPhoneNumber() to
+ * format the number and catch err
+ * @tc.desc Function test
+ */
+ it('Telephony_CallManager_formatPhoneNumber_Async_0700', 0, async function (done) {
+ call.formatPhoneNumber('2000000000', {
+ countryCode: ''
+ }, (err) => {
+ if (err) {
+ console.log(`Telephony_CallManager_formatPhoneNumber_Async_0700 finish err = ${err.message}`);
+ done();
+ return;
+ }
+ expect().assertFail();
+ console.log('Telephony_CallManager_formatPhoneNumber_Async_0700 fail');
+ done();
+ });
+ });
+
+ /**
+ * @tc.number Telephony_CallManager_formatPhoneNumber_Promise_0100
+ * @tc.name PhoneNumber is 2000000. Call formatPhoneNumber() to format the number.
+ * The return value is 200 0000
+ * @tc.desc Function test
+ */
+ it('Telephony_CallManager_formatPhoneNumber_Promise_0100', 0, async function (done) {
+ try {
+ var data = await call.formatPhoneNumber('2000000');
+ expect(data === '200 0000').assertTrue();
+ console.log(`Telephony_CallManager_formatPhoneNumber_Promise_0100 finish data = ${data}`);
+ done();
+ } catch (err) {
+ console.log('Telephony_CallManager_formatPhoneNumber_Promise_0100 fail');
+ expect().assertFail();
+ done();
+
+ }
+ });
+
+ /**
+ * @tc.number Telephony_CallManager_formatPhoneNumber_Promise_0200
+ * @tc.name PhoneNumber is 010-100-0000, options: CN, call formatPhoneNumber() to format the number, err
+ * @tc.desc Function test
+ */
+ it('Telephony_CallManager_formatPhoneNumber_Promise_0200', 0, async function (done) {
+ try {
+ await call.formatPhoneNumber('010-100-0000', {
+ countryCode: 'CN'
+ });
+ expect().assertFail();
+ console.log('Telephony_CallManager_formatPhoneNumber_Promise_0200 fail');
+ done();
+ } catch (err) {
+ console.log(`Telephony_CallManager_formatPhoneNumber_Promise_0200 finish err = ${err}`);
+ done();
+
+ }
+ });
+
+ /**
+ * @tc.number Telephony_CallManager_formatPhoneNumber_Promise_0300
+ * @tc.name PhoneNumber: (010)00000000, options: CN, call formatPhoneNumber() to format the number,
+ * return the value 010 0000 0000
+ * @tc.desc Function test
+ */
+ it('Telephony_CallManager_formatPhoneNumber_Promise_0300', 0, async function (done) {
+ try {
+ var data = await call.formatPhoneNumber('(010)00000000', {
+ countryCode: 'CN'
+ });
+ expect(data === '010 0000 0000').assertTrue();
+ console.log(`Telephony_CallManager_formatPhoneNumber_Promise_0300 finish data = ${data}`);
+ done();
+ } catch (err) {
+ console.log('Telephony_CallManager_formatPhoneNumber_Promise_0300 fail');
+ expect().assertFail();
+ done();
+
+ }
+ });
+
+ /**
+ * @tc.number Telephony_CallManager_formatPhoneNumber_Promise_0400
+ * @tc.name If phoneNumber is 200-0000, options: CN, call formatPhoneNumber() to format the
+ * number and return 200 0000
+ * @tc.desc Function test
+ */
+ it('Telephony_CallManager_formatPhoneNumber_Promise_0400', 0, async function (done) {
+ try {
+ var data = await call.formatPhoneNumber('200-0000', {
+ countryCode: 'CN'
+ });
+ expect(data === '200 0000').assertTrue();
+ console.log(`Telephony_CallManager_formatPhoneNumber_Promise_0400 finish data = ${data}`);
+ done();
+ } catch (err) {
+ console.log('Telephony_CallManager_formatPhoneNumber_Promise_0400 fail');
+ expect().assertFail();
+ done();
+
+ }
+ });
+
+ /**
+ * @tc.number Telephony_CallManager_formatPhoneNumber_Promise_0500
+ * @tc.name PhoneNumber 666666999999 is not supported in the current country. Options: CN. Call
+ * formatPhoneNumber() to format the number and capture err
+ * @tc.desc Function test
+ */
+ it('Telephony_CallManager_formatPhoneNumber_Promise_0500', 0, async function (done) {
+ try {
+ await call.formatPhoneNumber('666666999999', {
+ countryCode: 'CN'
+ });
+ console.log('Telephony_CallManager_formatPhoneNumber_Promise_0500 fail');
+ expect().assertFail();
+ done();
+ return;
+ } catch (err) {
+ console.log(`Telephony_CallManager_formatPhoneNumber_Promise_0500 finish err = ${err.message}`);
+ done();
+ }
+ });
+
+ /**
+ * @tc.number Telephony_CallManager_formatPhoneNumber_Promise_0600
+ * @tc.name If phoneNumber is 20000000, enter non-existent options: abCDFG and call
+ * formatPhoneNumber() to format the number and capture err
+ * @tc.desc Function test
+ */
+ it('Telephony_CallManager_formatPhoneNumber_Promise_0600', 0, async function (done) {
+ try {
+ await call.formatPhoneNumber('20000000', {
+ countryCode: 'abcdefg'
+ });
+ expect().assertFail();
+ console.log('Telephony_CallManager_formatPhoneNumber_Promise_0600 fail');
+ done();
+ return;
+ } catch (err) {
+ console.log(`Telephony_CallManager_formatPhoneNumber_Promise_0600 finish err = ${err.message}`);
+ done();
+ }
+ });
+
+ /**
+ * @tc.number Telephony_CallManager_formatPhoneNumber_Promise_0700
+ * @tc.name If phoneNumber is 20000000, options: , call formatPhoneNumber() to format the number and catch err
+ * @tc.desc Function test
+ */
+ it('Telephony_CallManager_formatPhoneNumber_Promise_0700', 0, async function (done) {
+ try {
+ var data = await call.formatPhoneNumber('20000000', {
+ countryCode: ''
+ });
+ expect().assertFail();
+ console.log('Telephony_CallManager_formatPhoneNumber_Promise_0700 fail');
+ done();
+ return;
+ } catch (err) {
+ console.log(`Telephony_CallManager_formatPhoneNumber_Promise_0700 finish err = ${err.message}`);
+ done();
+ }
+ });
+
+ /**
+ * @tc.number Telephony_CallManager_formatPhoneNumberToE164_Async_0100
+ * @tc.name PhoneNumber is 010-0000-0000, options: CN, call formatPhoneNumberToE164() to format the number,
+ * and return +861000000000
+ * @tc.desc Function test
+ */
+ it('Telephony_CallManager_formatPhoneNumberToE164_Async_0100', 0, async function (done) {
+ call.formatPhoneNumberToE164('010-0000-0000', 'CN', (err, data) => {
+ if (err) {
+ console.log('Telephony_CallManager_formatPhoneNumberToE164_Async_0100 fail');
+ expect().assertFail();
+ done();
+ return;
+ }
+ expect(data === '+861000000000').assertTrue();
+ console.log(`Telephony_CallManager_formatPhoneNumberToE164_Async_0100 finish data = ${data}`);
+ done();
+ });
+ });
+
+ /**
+ * @tc.number Telephony_CallManager_formatPhoneNumberToE164_Async_0200
+ * @tc.name If phoneNumber is (010)00000000, options: CN, call formatPhoneNumberToE164() to format the number,
+ * return +861000000000
+ * @tc.desc Function test
+ */
+ it('Telephony_CallManager_formatPhoneNumberToE164_Async_0200', 0, async function (done) {
+ call.formatPhoneNumberToE164('(010)00000000', 'CN', (err, data) => {
+ if (err) {
+ console.log('Telephony_CallManager_formatPhoneNumberToE164_Async_0200 fail');
+ expect().assertFail();
+ done();
+ return;
+ }
+ expect(data === '+861000000000').assertTrue();
+ console.log(`Telephony_CallManager_formatPhoneNumberToE164_Async_0200 finish data = ${data}`);
+ done();
+ });
+ });
+
+ /**
+ * @tc.number Telephony_CallManager_formatPhoneNumberToE164_Async_0300
+ * @tc.name If phoneNumber is 01000000000, options: CN, call formatPhoneNumberToE164() to format the number,
+ * and return +861000000000
+ * @tc.desc Function test
+ */
+ it('Telephony_CallManager_formatPhoneNumberToE164_Async_0300', 0, async function (done) {
+ call.formatPhoneNumberToE164('01000000000', 'CN', (err, data) => {
+ if (err) {
+ console.log('Telephony_CallManager_formatPhoneNumberToE164_Async_0300 fail');
+ expect().assertFail();
+ done();
+ return;
+ }
+ expect(data === '+861000000000').assertTrue();
+ console.log(`Telephony_CallManager_formatPhoneNumberToE164_Async_0300 finish data = ${data}`);
+ done();
+ });
+ });
+
+ /**
+ * @tc.number Telephony_CallManager_formatPhoneNumberToE164_Async_0400
+ * @tc.name PhoneNumber 666666999999 is not supported in the current country. Options: CN. Call
+ * formatPhoneNumberToE164() to format the number and capture err
+ * @tc.desc Function test
+ */
+ it('Telephony_CallManager_formatPhoneNumberToE164_Async_0400', 0, async function (done) {
+ call.formatPhoneNumberToE164('666666999999', 'CN', (err) => {
+ if (err) {
+ console.log(`Telephony_CallManager_formatPhoneNumberToE164_Async_0400 finish err = ${err.message}`);
+ done();
+ return;
+ }
+ console.log('Telephony_CallManager_formatPhoneNumberToE164_Async_0400 fail');
+ expect().assertFail();
+ done();
+ });
+ });
+
+ /**
+ * @tc.number Telephony_CallManager_formatPhoneNumberToE164_Async_0500
+ * @tc.name If phoneNumber is 01000000000, type non-existent options: abCDFG. Call formatPhoneNumberToE164()
+ * to format the number and capture err
+ * @tc.desc Function test
+ */
+ it('Telephony_CallManager_formatPhoneNumberToE164_Async_0500', 0, async function (done) {
+ call.formatPhoneNumberToE164('01000000000', 'abcdfg', (err) => {
+ if (err) {
+ console.log(`Telephony_CallManager_formatPhoneNumberToE164_Async_0500 finish err = ${err.message}`);
+ done();
+ return;
+ }
+ expect().assertFail();
+ console.log('Telephony_CallManager_formatPhoneNumberToE164_Async_0500 fail');
+ done();
+ });
+ });
+
+ /**
+ * @tc.number Telephony_CallManager_formatPhoneNumberToE164_Async_0600
+ * @tc.name If phoneNumber is 01000000000, options: ', call formatPhoneNumberToE164() to
+ * format the number and catch err
+ * @tc.desc Function test
+ */
+ it('Telephony_CallManager_formatPhoneNumberToE164_Async_0600', 0, async function (done) {
+ call.formatPhoneNumberToE164('01000000000', '', (err) => {
+ if (err) {
+ console.log(`Telephony_CallManager_formatPhoneNumberToE164_Async_0600 finish err = ${err.message}`);
+ done();
+ return;
+ }
+ expect().assertFail();
+ console.log('Telephony_CallManager_formatPhoneNumberToE164_Async_0600 fail');
+ done();
+ });
+ });
+
+ /**
+ * @tc.number Telephony_CallManager_formatPhoneNumberToE164_Promise_0100
+ * @tc.name PhoneNumber is 52300000000, options: CN, call formatPhoneNumberToE164() to format the number,
+ * return +8652300000000
+ * @tc.desc Function test
+ */
+ it('Telephony_CallManager_formatPhoneNumberToE164_Promise_0100', 0, async function (done) {
+ try {
+ var data = await call.formatPhoneNumberToE164('52300000000', 'CN');
+ expect(data === '+8652300000000').assertTrue();
+ console.log(`Telephony_CallManager_formatPhoneNumberToE164_Promise_0100 finish data = ${data}`);
+ done();
+ } catch (err) {
+ console.log('Telephony_CallManager_formatPhoneNumberToE164_Promise_0100 fail');
+ expect().assertFail();
+ done();
+
+ }
+ });
+
+ /**
+ * @tc.number Telephony_CallManager_formatPhoneNumberToE164_Promise_0200
+ * @tc.name If phoneNumber is (523)00000000, options: CN, call formatPhoneNumberToE164() to format the number,
+ * return +8652300000000
+ * @tc.desc Function test
+ */
+ it('Telephony_CallManager_formatPhoneNumberToE164_Promise_0200', 0, async function (done) {
+ console.log('Telephony_CallManager_formatPhoneNumberToE164_Promise_0200 running');
+ try {
+ var data = await call.formatPhoneNumberToE164('(523)00000000', 'CN');
+ expect(data === '+8652300000000').assertTrue();
+ console.log(`Telephony_CallManager_formatPhoneNumberToE164_Promise_0200 finish data = ${data}`);
+ done();
+ } catch (err) {
+ console.log('Telephony_CallManager_formatPhoneNumberToE164_Promise_0200 fail');
+ expect().assertFail();
+ done();
+
+ }
+ });
+
+ /**
+ * @tc.number Telephony_CallManager_formatPhoneNumberToE164_Promise_0300
+ * @tc.name PhoneNumber is 523-0000-0000, options: CN. Call formatPhoneNumberToE164() to format the number.
+ * +8652300000000 is returned
+ * @tc.desc Function test
+ */
+ it('Telephony_CallManager_formatPhoneNumberToE164_Promise_0300', 0, async function (done) {
+ try {
+ var data = await call.formatPhoneNumberToE164('523-0000-0000', 'CN');
+ expect(data === '+8652300000000').assertTrue();
+ console.log(`Telephony_CallManager_formatPhoneNumberToE164_Promise_0300 finish data = ${data}`);
+ done();
+ } catch (err) {
+ console.log('Telephony_CallManager_formatPhoneNumberToE164_Promise_0300 fail');
+ expect().assertFail();
+ done();
+
+ }
+ });
+
+ /**
+ * @tc.number Telephony_CallManager_formatPhoneNumberToE164_Promise_0400
+ * @tc.name Currently, phoneNumber is 999999, options: CN. Call formatPhoneNumberToE164() to
+ * format the number and capture err
+ * @tc.desc Function test
+ */
+ it('Telephony_CallManager_formatPhoneNumberToE164_Promise_0400', 0, async function (done) {
+ try {
+ await call.formatPhoneNumberToE164('999999', 'CN');
+ console.log('Telephony_CallManager_formatPhoneNumberToE164_Promise_0400 fail');
+ expect().assertFail();
+ done();
+ } catch (err) {
+ console.log(`Telephony_CallManager_formatPhoneNumberToE164_Promise_0400 finish err = ${err.message}`);
+ done();
+
+ }
+ });
+
+ /**
+ * @tc.number Telephony_CallManager_formatPhoneNumberToE164_Promise_0500
+ * @tc.name PhoneNumber is 52300000000. Type non-existent options: abCDFG. Call formatPhoneNumberToE164() to
+ * format the number and capture err
+ * @tc.desc Function test
+ */
+ it('Telephony_CallManager_formatPhoneNumberToE164_Promise_0500', 0, async function (done) {
+ try {
+ await call.formatPhoneNumberToE164('52300000000', 'abcdefg');
+ console.log('Telephony_CallManager_formatPhoneNumberToE164_Promise_0500 fail');
+ expect().assertFail();
+ done();
+ } catch (err) {
+ console.log(`Telephony_CallManager_formatPhoneNumberToE164_Promise_0500 finish err = ${err.message}`);
+ done();
+
+ }
+ });
+
+ /**
+ * @tc.number Telephony_CallManager_formatPhoneNumberToE164_Promise_0600
+ * @tc.name If phoneNumber is 52300000000, options: ', call formatPhoneNumberToE164()
+ * to format the number and catch err
+ * @tc.desc Function test
+ */
+ it('Telephony_CallManager_formatPhoneNumberToE164_Promise_0600', 0, async function (done) {
+ try {
+ await call.formatPhoneNumberToE164('52300000000', '');
+ expect().assertFail();
+ console.log('Telephony_CallManager_formatPhoneNumberToE164_Promise_0600 fail');
+ done();
+ } catch (err) {
+ console.log(`Telephony_CallManager_formatPhoneNumberToE164_Promise_0600 finish err = ${err.message}`);
+ done();
+
+ }
+ });
+
+
+ /**
+ * @tc.number Telephony_CallManager_isEmergencyPhoneNumber_Async_0100
+ * @tc.name PhoneNumber: 0+0+0, options is 1. Call isEmergencyPhoneNumber() to check whether it is an
+ * emergency number. The return value is false
+ * @tc.desc Function test
+ */
+ it('Telephony_CallManager_isEmergencyPhoneNumber_Async_0100', 0, async function (done) {
+ call.isEmergencyPhoneNumber('0+0+0', {
+ slotId: SLOT_0
+ }, (err, data) => {
+ if (err) {
+ console.log('Telephony_CallManager_isEmergencyPhoneNumber_Async_0100 fail');
+ expect().assertFail();
+ done();
+ return;
+ }
+ expect(data === false).assertTrue();
+ console.log(`Telephony_CallManager_isEmergencyPhoneNumber_Async_0100 finish data = ${data}`);
+ done();
+ });
+ });
+
+ /**
+ * @tc.number Telephony_CallManager_isEmergencyPhoneNumber_Async_0200
+ * @tc.name PhoneNumber: INVALID_NUMBER, options 1. Call isEmergencyPhoneNumber() to check whether it is an
+ * emergency number. The return value is false
+ * @tc.desc Function test
+ */
+ it('Telephony_CallManager_isEmergencyPhoneNumber_Async_0200', 0, async function (done) {
+ call.isEmergencyPhoneNumber(INVALID_NUMBER, {
+ slotId: SLOT_0
+ }, (err, data) => {
+ if (err) {
+ console.log('Telephony_CallManager_isEmergencyPhoneNumber_Async_0200 fail');
+ expect().assertFail();
+ done();
+ return;
+ }
+ expect(data === false).assertTrue();
+ console.log(`Telephony_CallManager_isEmergencyPhoneNumber_Async_0200 finish data = ${data}`);
+ done();
+ });
+ });
+
+ /**
+ * @tc.number Telephony_CallManager_isEmergencyPhoneNumber_Async_0300
+ * @tc.name PhoneNumber: 000, options 1. Call isEmergencyPhoneNumber() to check whether it is an emergency number
+ * The return value is true
+ * @tc.desc Function test
+ */
+ it('Telephony_CallManager_isEmergencyPhoneNumber_Async_0300', 0, async function (done) {
+ call.isEmergencyPhoneNumber('000', {
+ slotId: SLOT_0
+ }, (err, data) => {
+ if (err) {
+ console.log('Telephony_CallManager_isEmergencyPhoneNumber_Async_0300 fail');
+ expect().assertFail();
+ done();
+ return;
+ }
+ expect(data).assertTrue();
+ console.log(`Telephony_CallManager_isEmergencyPhoneNumber_Async_0300 finish data = ${data}`);
+ done();
+ });
+ });
+
+ /**
+ * @tc.number Telephony_CallManager_isEmergencyPhoneNumber_Async_0400
+ * @tc.name PhoneNumber: 112 with options 1. Call isEmergencyPhoneNumber() to verify whether it is an emergency
+ * number. The return value is true
+ * @tc.desc Function test
+ */
+ it('Telephony_CallManager_isEmergencyPhoneNumber_Async_0400', 0, async function (done) {
+ call.isEmergencyPhoneNumber('112', {
+ slotId: SLOT_0
+ }, (err, data) => {
+ if (err) {
+ console.log('Telephony_CallManager_isEmergencyPhoneNumber_Async_0400 fail');
+ expect().assertFail();
+ done();
+ return;
+ }
+ expect(data).assertTrue();
+ console.log(`Telephony_CallManager_isEmergencyPhoneNumber_Async_0400 finish data = ${data}`);
+ done();
+ });
+ });
+
+ /**
+ * @tc.number Telephony_CallManager_isEmergencyPhoneNumber_Async_0500
+ * @tc.name PhoneNumber: 911, options are 1. Call isEmergencyPhoneNumber() to check whether it is an emergency
+ * number. The return value is true
+ * @tc.desc Function test
+ */
+ it('Telephony_CallManager_isEmergencyPhoneNumber_Async_0500', 0, async function (done) {
+ call.isEmergencyPhoneNumber('911', {
+ slotId: SLOT_0
+ }, (err, data) => {
+ if (err) {
+ console.log('Telephony_CallManager_isEmergencyPhoneNumber_Async_0500 fail');
+ expect().assertFail();
+ done();
+ return;
+ }
+ expect(data).assertTrue();
+ console.log(`Telephony_CallManager_isEmergencyPhoneNumber_Async_0500 finish data = ${data}`);
+ done();
+ });
+ });
+
+ /**
+ * @tc.number Telephony_CallManager_isEmergencyPhoneNumber_Async_0600
+ * @tc.name PhoneNumber: 08 with options 1. Call isEmergencyPhoneNumber() to check whether it is an emergency
+ * number. The return value is true
+ * @tc.desc Function test
+ */
+ it('Telephony_CallManager_isEmergencyPhoneNumber_Async_0600', 0, async function (done) {
+ call.isEmergencyPhoneNumber('08', {
+ slotId: SLOT_0
+ }, (err, data) => {
+ if (err) {
+ console.log('Telephony_CallManager_isEmergencyPhoneNumber_Async_0600 fail');
+ expect().assertFail();
+ done();
+ return;
+ }
+ expect(data).assertTrue();
+ console.log(`Telephony_CallManager_isEmergencyPhoneNumber_Async_0600 finish data = ${data}`);
+ done();
+ });
+ });
+
+ /**
+ * @tc.number Telephony_CallManager_isEmergencyPhoneNumber_Async_0700
+ * @tc.name PhoneNumber: 118, options 1. Call isEmergencyPhoneNumber() to check whether it is an emergency
+ * number. The return value is true
+ * @tc.desc Function test
+ */
+ it('Telephony_CallManager_isEmergencyPhoneNumber_Async_0700', 0, async function (done) {
+ call.isEmergencyPhoneNumber('118', {
+ slotId: SLOT_0
+ }, (err, data) => {
+ if (err) {
+ console.log('Telephony_CallManager_isEmergencyPhoneNumber_Async_0700 fail');
+ expect().assertFail();
+ done();
+ return;
+ }
+ expect(data).assertTrue();
+ console.log(`Telephony_CallManager_isEmergencyPhoneNumber_Async_0700 finish data = ${data}`);
+ done();
+ });
+ });
+
+ /**
+ * @tc.number Telephony_CallManager_isEmergencyPhoneNumber_Async_0800
+ * @tc.name PhoneNumber: 999 with options 1. Call isEmergencyPhoneNumber() to check whether it is an emergency
+ * number. The return value is true
+ * @tc.desc Function test
+ */
+ it('Telephony_CallManager_isEmergencyPhoneNumber_Async_0800', 0, async function (done) {
+ call.isEmergencyPhoneNumber('999', {
+ slotId: SLOT_0
+ }, (err, data) => {
+ if (err) {
+ console.log('Telephony_CallManager_isEmergencyPhoneNumber_Async_0800 fail');
+ expect().assertFail();
+ done();
+ return;
+ }
+ expect(data).assertTrue();
+ console.log(`Telephony_CallManager_isEmergencyPhoneNumber_Async_0800 finish data = ${data}`);
+ done();
+ });
+ });
+
+ /**
+ * @tc.number Telephony_CallManager_isEmergencyPhoneNumber_Async_0900
+ * @tc.name PhoneNumber: 119. Call isEmergencyPhoneNumber() to determine whether it is an emergency number.
+ * The return value is true
+ * @tc.desc Function test
+ */
+ it('Telephony_CallManager_isEmergencyPhoneNumber_Async_0900', 0, async function (done) {
+ call.isEmergencyPhoneNumber('119', {
+ slotId: SLOT_0
+ }, (err, data) => {
+ if (err) {
+ console.log('Telephony_CallManager_isEmergencyPhoneNumber_Async_0900 fail');
+ expect().assertFail();
+ done();
+ return;
+ }
+ expect(data).assertTrue();
+ console.log(`Telephony_CallManager_isEmergencyPhoneNumber_Async_0900 finish data = ${data}`);
+ done();
+ });
+ });
+
+ /**
+ * @tc.number Telephony_CallManager_isEmergencyPhoneNumber_Async_1000
+ * @tc.name PhoneNumber: 110, isEmergencyPhoneNumber() is called back to determine whether it is an emergency
+ * number, returning true
+ * @tc.desc Function test
+ */
+ it('Telephony_CallManager_isEmergencyPhoneNumber_Async_1000', 0, async function (done) {
+ call.isEmergencyPhoneNumber('110', {
+ slotId: SLOT_0
+ }, (err, data) => {
+ if (err) {
+ console.log('Telephony_CallManager_isEmergencyPhoneNumber_Async_1000 fail');
+ expect().assertFail();
+ done();
+ return;
+ }
+ expect(data).assertTrue();
+ console.log(`Telephony_CallManager_isEmergencyPhoneNumber_Async_1000 finish data = ${data}`);
+ done();
+ });
+ });
+
+ /**
+ * @tc.number Telephony_CallManager_isEmergencyPhoneNumber_Async_1300
+ * @tc.name PhoneNumber: 110, options -1. Call isEmergencyPhoneNumber() to check whether it is an emergency
+ * number. The return value is false
+ * @tc.desc Function test
+ */
+ it('Telephony_CallManager_isEmergencyPhoneNumber_Async_1300', 0, async function (done) {
+ call.isEmergencyPhoneNumber('110', {
+ slotId: ERR_SLOT_ID
+ }, (err) => {
+ if (err) {
+ console.log(`Telephony_CallManager_isEmergencyPhoneNumber_Async_1300 finish err = ${err}`);
+ done();
+ return;
+ }
+ expect().assertFail();
+ console.log('Telephony_CallManager_isEmergencyPhoneNumber_Async_1300 fail ');
+ done();
+ });
+ });
+
+ /**
+ * @tc.number Telephony_CallManager_isEmergencyPhoneNumber_Promise_0100
+ * @tc.name PhoneNumber: 0+0+0, options is 1. Call isEmergencyPhoneNumber() to check whether it is an emergency
+ * number. The return value is false
+ * @tc.desc Function test
+ */
+ it('Telephony_CallManager_isEmergencyPhoneNumber_Promise_0100', 0, async function (done) {
+ try {
+ var data = await call.isEmergencyPhoneNumber('0+0+0', {
+ slotId: SLOT_0
+ });
+ expect(data === false).assertTrue();
+ console.log(`Telephony_CallManager_isEmergencyPhoneNumber_Promise_0100 finish data = ${data}`);
+ done();
+ } catch (err) {
+ console.log('Telephony_CallManager_isEmergencyPhoneNumber_Promise_0100 fail');
+ expect().assertFail();
+ done();
+
+ }
+ });
+
+ /**
+ * @tc.number Telephony_CallManager_isEmergencyPhoneNumber_Promise_0200
+ * @tc.name PhoneNumber: INVALID_NUMBER, options 1. Call isEmergencyPhoneNumber() to check whether it is an
+ * emergency number. The return value is false
+ * @tc.desc Function test
+ */
+ it('Telephony_CallManager_isEmergencyPhoneNumber_Promise_0200', 0, async function (done) {
+ try {
+ var data = await call.isEmergencyPhoneNumber('INVALID_NUMBER', {
+ slotId: SLOT_0
+ });
+ expect(data === false).assertTrue();
+ console.log(`Telephony_CallManager_isEmergencyPhoneNumber_Promise_0200 finish data = ${data}`);
+ done();
+ } catch (err) {
+ console.log('Telephony_CallManager_isEmergencyPhoneNumber_Promise_0200 fail');
+ expect().assertFail();
+ done();
+
+ }
+ });
+
+ /**
+ * @tc.number Telephony_CallManager_isEmergencyPhoneNumber_Promise_0300
+ * @tc.name PhoneNumber: 000 with options 1. Call isEmergencyPhoneNumber() to check whether it is an emergency
+ * number. The return value is true
+ * @tc.desc Function test
+ */
+ it('Telephony_CallManager_isEmergencyPhoneNumber_Promise_0300', 0, async function (done) {
+ try {
+ var data = await call.isEmergencyPhoneNumber('000', {
+ slotId: SLOT_0
+ });
+ expect(data).assertTrue();
+ console.log(`Telephony_CallManager_isEmergencyPhoneNumber_Promise_0300 finish data = ${data}`);
+ done();
+ } catch (err) {
+ console.log('Telephony_CallManager_isEmergencyPhoneNumber_Promise_0300 fail');
+ expect().assertFail();
+ done();
+
+ }
+ });
+
+ /**
+ * @tc.number Telephony_CallManager_isEmergencyPhoneNumber_Promise_0400
+ * @tc.name PhoneNumber: 112 with options 1. Call isEmergencyPhoneNumber() to check whether it is an emergency
+ * number. The return value is true
+ * @tc.desc Function test
+ */
+ it('Telephony_CallManager_isEmergencyPhoneNumber_Promise_0400', 0, async function (done) {
+ try {
+ var data = await call.isEmergencyPhoneNumber('112', {
+ slotId: SLOT_0
+ });
+ expect(data).assertTrue();
+ console.log(`Telephony_CallManager_isEmergencyPhoneNumber_Promise_0400 finish data = ${data}`);
+ done();
+ } catch (err) {
+ console.log('Telephony_CallManager_isEmergencyPhoneNumber_Promise_0400 fail');
+ expect().assertFail();
+ done();
+
+ }
+ });
+
+ /**
+ * @tc.number Telephony_CallManager_isEmergencyPhoneNumber_Promise_0500
+ * @tc.name PhoneNumber: 911 with options 1. Call isEmergencyPhoneNumber() to check whether it is an emergency
+ * number. The return value is true
+ * @tc.desc Function test
+ */
+ it('Telephony_CallManager_isEmergencyPhoneNumber_Promise_0500', 0, async function (done) {
+ try {
+ var data = await call.isEmergencyPhoneNumber('911', {
+ slotId: SLOT_0
+ });
+ expect(data).assertTrue();
+ console.log(`Telephony_CallManager_isEmergencyPhoneNumber_Promise_0500 finish data = ${data}`);
+ done();
+ } catch (err) {
+ console.log('Telephony_CallManager_isEmergencyPhoneNumber_Promise_0500 fail');
+ expect().assertFail();
+ done();
+
+ }
+ });
+
+ /**
+ * @tc.number Telephony_CallManager_isEmergencyPhoneNumber_Promise_0600
+ * @tc.name PhoneNumber: 08. If options are 1, call isEmergencyPhoneNumber() to check whether it is an
+ * emergency number. The return value is true
+ * @tc.desc Function test
+ */
+ it('Telephony_CallManager_isEmergencyPhoneNumber_Promise_0600', 0, async function (done) {
+ try {
+ var data = await call.isEmergencyPhoneNumber('08', {
+ slotId: SLOT_0
+ });
+ expect(data).assertTrue();
+ console.log(`Telephony_CallManager_isEmergencyPhoneNumber_Promise_0600 finish data = ${data}`);
+ done();
+ } catch (err) {
+ console.log('Telephony_CallManager_isEmergencyPhoneNumber_Promise_0600 fail');
+ expect().assertFail();
+ done();
+
+ }
+ });
+
+ /**
+ * @tc.number Telephony_CallManager_isEmergencyPhoneNumber_Promise_0700
+ * @tc.name PhoneNumber: 118 with options 1. Call isEmergencyPhoneNumber() to check whether it is an emergency
+ * number. The return value is true
+ * @tc.desc Function test
+ */
+ it('Telephony_CallManager_isEmergencyPhoneNumber_Promise_0700', 0, async function (done) {
+ try {
+ var data = await call.isEmergencyPhoneNumber('118', {
+ slotId: SLOT_0
+ });
+ expect(data).assertTrue();
+ console.log(`Telephony_CallManager_isEmergencyPhoneNumber_Promise_0700 finish data = ${data}`);
+ done();
+ } catch (err) {
+ console.log('Telephony_CallManager_isEmergencyPhoneNumber_Promise_0700 fail');
+ expect().assertFail();
+ done();
+
+ }
+ });
+
+ /**
+ * @tc.number Telephony_CallManager_isEmergencyPhoneNumber_Promise_0800
+ * @tc.name PhoneNumber: 999 with options 1. Call isEmergencyPhoneNumber() to check whether it is an emergency
+ * number. The return value is true
+ * @tc.desc Function test
+ */
+ it('Telephony_CallManager_isEmergencyPhoneNumber_Promise_0800', 0, async function (done) {
+ try {
+ var data = await call.isEmergencyPhoneNumber('999', {
+ slotId: SLOT_0
+ });
+ expect(data).assertTrue();
+ console.log(`Telephony_CallManager_isEmergencyPhoneNumber_Promise_0800 finish data = ${data}`);
+ done();
+ } catch (err) {
+ console.log('Telephony_CallManager_isEmergencyPhoneNumber_Promise_0800 fail');
+ expect().assertFail();
+ done();
+
+ }
+ });
+
+ /**
+ * @tc.number Telephony_CallManager_isEmergencyPhoneNumber_Promise_1100
+ * @tc.name PhoneNumber: 119 with options 1. Call isEmergencyPhoneNumber() to check whether it is an emergency
+ * number. The return value is true
+ * @tc.desc Function test
+ */
+ it('Telephony_CallManager_isEmergencyPhoneNumber_Promise_1100', 0, async function (done) {
+ try {
+ var data = await call.isEmergencyPhoneNumber('119');
+ expect(data).assertTrue();
+ console.log(`Telephony_CallManager_isEmergencyPhoneNumber_Promise_1100 finish data = ${data}`);
+ done();
+ } catch (err) {
+ console.log('Telephony_CallManager_isEmergencyPhoneNumber_Promise_1100 fail');
+ expect().assertFail();
+ done();
+
+ }
+ });
+
+ /**
+ * @tc.number Telephony_CallManager_isEmergencyPhoneNumber_Promise_1200
+ * @tc.name PhoneNumber: 110 with options 1. Call isEmergencyPhoneNumber() to check whether it is an emergency
+ * number. The return value is true
+ * @tc.desc Function test
+ */
+ it('Telephony_CallManager_isEmergencyPhoneNumber_Promise_1200', 0, async function (done) {
+ try {
+ var data = await call.isEmergencyPhoneNumber('110');
+ expect(data).assertTrue();
+ console.log(`Telephony_CallManager_isEmergencyPhoneNumber_Promise_1200 finish data = ${data}`);
+ done();
+ } catch (err) {
+ console.log('Telephony_CallManager_isEmergencyPhoneNumber_Promise_1200 fail');
+ expect().assertFail();
+ done();
+
+ }
+ });
+
+ /**
+ * @tc.number Telephony_CallManager_isEmergencyPhoneNumber_Promise_1300
+ * @tc.name PhoneNumber: 120, options -1. Call isEmergencyPhoneNumber() to check whether it is an emergency
+ * number. The return value is false
+ * @tc.desc Function test
+ */
+ it('Telephony_CallManager_isEmergencyPhoneNumber_Promise_1300', 0, async function (done) {
+ try {
+ var data = await call.isEmergencyPhoneNumber('120', {
+ slotId: ERR_SLOT_ID
+ });
+ expect().assertFail();
+ console.log('Telephony_CallManager_isEmergencyPhoneNumber_Promise_1300 fail ');
+ done();
+ } catch (err) {
+ console.log(`Telephony_CallManager_isEmergencyPhoneNumber_Promise_1300 finish err = ${err}`);
+ done();
+ }
+ });
+ });
+}
diff --git a/telephony/telephonyjstest/telephony_base/call_manager/src/main/js/test/List.test.js b/telephony/telephonyjstest/telephony_base/call_manager/src/main/js/test/List.test.js
new file mode 100644
index 0000000000000000000000000000000000000000..0066bb05aa44dcee8a8039ab1610a3332736d458
--- /dev/null
+++ b/telephony/telephonyjstest/telephony_base/call_manager/src/main/js/test/List.test.js
@@ -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.
+ */
+
+import CallManagerTest from './CallManagerTest.test.js'
+
+export default function testsuite() {
+ CallManagerTest();
+}
\ No newline at end of file
diff --git a/telephony/telephonyjstest/telephony_base/call_manager/src/main/resources/base/element/string.json b/telephony/telephonyjstest/telephony_base/call_manager/src/main/resources/base/element/string.json
new file mode 100644
index 0000000000000000000000000000000000000000..d51fd51ba91957ec1c986cfd99d00655c80c65fc
--- /dev/null
+++ b/telephony/telephonyjstest/telephony_base/call_manager/src/main/resources/base/element/string.json
@@ -0,0 +1,28 @@
+{
+ "string": [
+ {
+ "name": "app_name",
+ "value": "Sim Test"
+ },
+ {
+ "name": "mainability_description",
+ "value": "Sim Test - sim manager interface test"
+ },
+ {
+ "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/telephony/telephonyjstest/telephony_base/call_manager/src/main/resources/base/media/icon.png b/telephony/telephonyjstest/telephony_base/call_manager/src/main/resources/base/media/icon.png
new file mode 100644
index 0000000000000000000000000000000000000000..ce307a8827bd75456441ceb57d530e4c8d45d36c
Binary files /dev/null and b/telephony/telephonyjstest/telephony_base/call_manager/src/main/resources/base/media/icon.png differ
diff --git a/telephony/telephonyjstest/telephony_base/cellular_data/BUILD.gn b/telephony/telephonyjstest/telephony_base/cellular_data/BUILD.gn
new file mode 100644
index 0000000000000000000000000000000000000000..7e056807de7e36795161e3c23d6d18b98283740c
--- /dev/null
+++ b/telephony/telephonyjstest/telephony_base/cellular_data/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_js_hap_suite("ActsBaseCellularDataTest") {
+ hap_profile = "./src/main/config.json"
+ deps = [
+ ":hjs_demo_js_assets",
+ ":hjs_demo_resources",
+ ]
+ certificate_profile = "./signature/openharmony_sx.p7b"
+ hap_name = "ActsBaseCellularDataTest"
+ part_name = "netmanager_ext"
+ subsystem_name = "communication"
+}
+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/telephony/telephonyjstest/telephony_base/cellular_data/Test.json b/telephony/telephonyjstest/telephony_base/cellular_data/Test.json
new file mode 100644
index 0000000000000000000000000000000000000000..4f675dc28ca9435a9fe7a8fa70d2cbab4ffe9314
--- /dev/null
+++ b/telephony/telephonyjstest/telephony_base/cellular_data/Test.json
@@ -0,0 +1,20 @@
+{
+ "description": "Function test of sim manager interface",
+ "driver": {
+ "type": "OHJSUnitTest",
+ "test-timeout": "900000",
+ "bundle-name": "com.ohos.cellular_data",
+ "package-name": "com.ohos.cellular_data",
+ "shell-timeout": "900000",
+ "testcase-timeout": "30000"
+ },
+ "kits": [
+ {
+ "test-file-name": [
+ "$module.hap"
+ ],
+ "type": "AppInstallKit",
+ "cleanup-apps": true
+ }
+ ]
+}
diff --git a/telephony/telephonyjstest/telephony_base/cellular_data/signature/openharmony_sx.p7b b/telephony/telephonyjstest/telephony_base/cellular_data/signature/openharmony_sx.p7b
new file mode 100644
index 0000000000000000000000000000000000000000..66b4457a8a81fb8d3356cf46d67226c850944858
Binary files /dev/null and b/telephony/telephonyjstest/telephony_base/cellular_data/signature/openharmony_sx.p7b differ
diff --git a/telephony/telephonyjstest/telephony_base/cellular_data/src/main/config.json b/telephony/telephonyjstest/telephony_base/cellular_data/src/main/config.json
new file mode 100644
index 0000000000000000000000000000000000000000..4138f3f9b37f9dccb0d08f9bf5912f99808fbd2f
--- /dev/null
+++ b/telephony/telephonyjstest/telephony_base/cellular_data/src/main/config.json
@@ -0,0 +1,140 @@
+{
+ "app": {
+ "bundleName": "com.ohos.cellular_data",
+ "vendor": "ohos",
+ "version": {
+ "code": 1000000,
+ "name": "1.0.0"
+ },
+ "apiVersion": {
+ "compatible": 4,
+ "target": 5,
+ "releaseType": "Release"
+ }
+ },
+ "deviceConfig": {},
+ "module": {
+ "package": "com.ohos.cellular_data",
+ "name": ".entry",
+ "mainAbility": ".MainAbility",
+ "srcPath":"",
+ "deviceType": [
+ "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"
+ }
+ ],
+ "reqPermissions": [
+ {
+ "name": "ohos.permission.LOCATION",
+ "reason": "need use ohos.permission.LOCATION"
+ },
+ {
+ "name":"ohos.permission.SET_TELEPHONY_STATE",
+ "reason":"need use ohos.permission.SET_TELEPHONY_STATE"
+ },
+ {
+ "name":"ohos.permission.GET_TELEPHONY_STATE",
+ "reason":"need use ohos.permission.GET_TELEPHONY_STATE"
+ },
+ {
+ "name":"ohos.permission.PLACE_CALL",
+ "reason":"need use ohos.permission.PLACE_CALL"
+ },
+ {
+ "name":"ohos.permission.READ_CONTACTS",
+ "reason":"need use ohos.permission.READ_CONTACTS"
+ },
+ {
+ "name":"ohos.permission.WRITE_CONTACTS",
+ "reason":"need use ohos.permission.WRITE_CONTACTS"
+ },
+ {
+ "name":"ohos.permission.SEND_MESSAGES",
+ "reason":"need use ohos.permission.SEND_MESSAGES"
+ },
+ {
+ "name":"ohos.permission.RECEIVE_SMS",
+ "reason":"need use ohos.permission.RECEIVE_SMS"
+ },
+ {
+ "name":"ohos.permission.READ_CALL_LOG",
+ "reason":"need use ohos.permission.READ_CALL_LOG"
+ },
+ {
+ "name":"ohos.permission.GET_NETWORK_INFO",
+ "reason":"need use ohos.permission.GET_NETWORK_INFO"
+ },
+ {
+ "name":"ohos.permission.INTERNET",
+ "reason":"need use ohos.permission.INTERNET"
+ }
+ ],
+ "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"
+ }
+ }
+}
\ No newline at end of file
diff --git a/telephony/telephonyjstest/telephony_base/cellular_data/src/main/js/MainAbility/app.js b/telephony/telephonyjstest/telephony_base/cellular_data/src/main/js/MainAbility/app.js
new file mode 100644
index 0000000000000000000000000000000000000000..a54db6874b44e7914f7245bea8349188b1a8347c
--- /dev/null
+++ b/telephony/telephonyjstest/telephony_base/cellular_data/src/main/js/MainAbility/app.js
@@ -0,0 +1,23 @@
+/*
+ * Copyright (C) 2021 Huawei Device Co., Ltd.
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+export default {
+ onCreate() {
+ console.info('TestApplication onCreate')
+
+ },
+ onDestroy() {
+ console.info("TestApplication onDestroy");
+ }
+};
\ No newline at end of file
diff --git a/telephony/telephonyjstest/telephony_base/cellular_data/src/main/js/MainAbility/i18n/en-US.json b/telephony/telephonyjstest/telephony_base/cellular_data/src/main/js/MainAbility/i18n/en-US.json
new file mode 100644
index 0000000000000000000000000000000000000000..55561b83737c3c31d082fbfa11e5fc987a351104
--- /dev/null
+++ b/telephony/telephonyjstest/telephony_base/cellular_data/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/telephony/telephonyjstest/telephony_base/cellular_data/src/main/js/MainAbility/i18n/zh-CN.json b/telephony/telephonyjstest/telephony_base/cellular_data/src/main/js/MainAbility/i18n/zh-CN.json
new file mode 100644
index 0000000000000000000000000000000000000000..cce1af06761a42add0cac1a0567aa3237eda8cb4
--- /dev/null
+++ b/telephony/telephonyjstest/telephony_base/cellular_data/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/telephony/telephonyjstest/telephony_base/cellular_data/src/main/js/MainAbility/pages/index/index.css b/telephony/telephonyjstest/telephony_base/cellular_data/src/main/js/MainAbility/pages/index/index.css
new file mode 100644
index 0000000000000000000000000000000000000000..6fda792753f2e15f22b529c7b90a82185b2770bf
--- /dev/null
+++ b/telephony/telephonyjstest/telephony_base/cellular_data/src/main/js/MainAbility/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/telephony/telephonyjstest/telephony_base/cellular_data/src/main/js/MainAbility/pages/index/index.hml b/telephony/telephonyjstest/telephony_base/cellular_data/src/main/js/MainAbility/pages/index/index.hml
new file mode 100644
index 0000000000000000000000000000000000000000..1761ec52614d15e232d2e5ba45299eff2b1179f9
--- /dev/null
+++ b/telephony/telephonyjstest/telephony_base/cellular_data/src/main/js/MainAbility/pages/index/index.hml
@@ -0,0 +1,5 @@
+
+
+ SIM TEST
+
+
diff --git a/telephony/telephonyjstest/telephony_base/cellular_data/src/main/js/MainAbility/pages/index/index.js b/telephony/telephonyjstest/telephony_base/cellular_data/src/main/js/MainAbility/pages/index/index.js
new file mode 100644
index 0000000000000000000000000000000000000000..51b16517bf634ec6b35c2299f96888242fea71ad
--- /dev/null
+++ b/telephony/telephonyjstest/telephony_base/cellular_data/src/main/js/MainAbility/pages/index/index.js
@@ -0,0 +1,43 @@
+/*
+ * 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 file from '@system.file';
+import app from '@system.app';
+import device from '@system.device';
+import router from '@system.router';
+import AbilityDelegatorRegistry from '@ohos.application.abilityDelegatorRegistry'
+import { Hypium } from '@ohos/hypium'
+import testsuite from '../../../test/List.test'
+
+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!');
+ var abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator()
+ var abilityDelegatorArguments = AbilityDelegatorRegistry.getArguments()
+ console.info('start run testcase!!!')
+ Hypium.hypiumTest(abilityDelegator, abilityDelegatorArguments, testsuite)
+ },
+ onReady () {
+ },
+};
\ No newline at end of file
diff --git a/telephony/telephonyjstest/telephony_base/cellular_data/src/main/js/TestAbility/app.js b/telephony/telephonyjstest/telephony_base/cellular_data/src/main/js/TestAbility/app.js
new file mode 100644
index 0000000000000000000000000000000000000000..065cded0a5f0da1c4f86460db4bd0b3445816805
--- /dev/null
+++ b/telephony/telephonyjstest/telephony_base/cellular_data/src/main/js/TestAbility/app.js
@@ -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.
+ */
+export default {
+ onCreate() {
+ console.info('TestApplication onCreate');
+ },
+ onDestroy() {
+ console.info('TestApplication onDestroy');
+ }
+};
+
diff --git a/telephony/telephonyjstest/telephony_base/cellular_data/src/main/js/TestAbility/i18n/en-US.json b/telephony/telephonyjstest/telephony_base/cellular_data/src/main/js/TestAbility/i18n/en-US.json
new file mode 100644
index 0000000000000000000000000000000000000000..55561b83737c3c31d082fbfa11e5fc987a351104
--- /dev/null
+++ b/telephony/telephonyjstest/telephony_base/cellular_data/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/telephony/telephonyjstest/telephony_base/cellular_data/src/main/js/TestAbility/i18n/zh-CN.json b/telephony/telephonyjstest/telephony_base/cellular_data/src/main/js/TestAbility/i18n/zh-CN.json
new file mode 100644
index 0000000000000000000000000000000000000000..cce1af06761a42add0cac1a0567aa3237eda8cb4
--- /dev/null
+++ b/telephony/telephonyjstest/telephony_base/cellular_data/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/telephony/telephonyjstest/telephony_base/cellular_data/src/main/js/TestAbility/pages/index/index.css b/telephony/telephonyjstest/telephony_base/cellular_data/src/main/js/TestAbility/pages/index/index.css
new file mode 100644
index 0000000000000000000000000000000000000000..b21c92c6290ea747bd891e2ab673721afc5521ed
--- /dev/null
+++ b/telephony/telephonyjstest/telephony_base/cellular_data/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/telephony/telephonyjstest/telephony_base/cellular_data/src/main/js/TestAbility/pages/index/index.hml b/telephony/telephonyjstest/telephony_base/cellular_data/src/main/js/TestAbility/pages/index/index.hml
new file mode 100644
index 0000000000000000000000000000000000000000..f64b040a5ae394dbaa5e185e1ecd4f4556b92184
--- /dev/null
+++ b/telephony/telephonyjstest/telephony_base/cellular_data/src/main/js/TestAbility/pages/index/index.hml
@@ -0,0 +1,5 @@
+
+
+ {{ $t('strings.hello') }} {{ title }}
+
+
diff --git a/telephony/telephonyjstest/telephony_base/cellular_data/src/main/js/TestAbility/pages/index/index.js b/telephony/telephonyjstest/telephony_base/cellular_data/src/main/js/TestAbility/pages/index/index.js
new file mode 100644
index 0000000000000000000000000000000000000000..d94b75c085fa1c16a0b2721609b18c57a7295476
--- /dev/null
+++ b/telephony/telephonyjstest/telephony_base/cellular_data/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/telephony/telephonyjstest/telephony_base/cellular_data/src/main/js/TestRunner/OpenHarmonyTestRunner.js b/telephony/telephonyjstest/telephony_base/cellular_data/src/main/js/TestRunner/OpenHarmonyTestRunner.js
new file mode 100644
index 0000000000000000000000000000000000000000..527be90a1240e77ba994eb71d2868331533bb464
--- /dev/null
+++ b/telephony/telephonyjstest/telephony_base/cellular_data/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'] + '.MainAbility'
+
+ 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/telephony/telephonyjstest/telephony_base/cellular_data/src/main/js/test/List.test.js b/telephony/telephonyjstest/telephony_base/cellular_data/src/main/js/test/List.test.js
new file mode 100644
index 0000000000000000000000000000000000000000..97c4850a72a674caaea155c61d2995b82c074875
--- /dev/null
+++ b/telephony/telephonyjstest/telephony_base/cellular_data/src/main/js/test/List.test.js
@@ -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.
+ */
+
+import PdpProfileDataStorageFunction from './PdpProfileDataStorageFunction.test.js'
+
+export default function testsuite() {
+ PdpProfileDataStorageFunction();
+}
\ No newline at end of file
diff --git a/telephony/telephonyjstest/telephony_base/cellular_data/src/main/js/test/PdpProfileDataStorageFunction.test.js b/telephony/telephonyjstest/telephony_base/cellular_data/src/main/js/test/PdpProfileDataStorageFunction.test.js
new file mode 100644
index 0000000000000000000000000000000000000000..b5a1de9a0642d53b3d6b59b0146b0846818155ae
--- /dev/null
+++ b/telephony/telephonyjstest/telephony_base/cellular_data/src/main/js/test/PdpProfileDataStorageFunction.test.js
@@ -0,0 +1,171 @@
+/*
+ * 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 featureAbility from '@ohos.ability.featureAbility';
+import ohosDataAbility from '@ohos.data.dataAbility';
+import { describe, beforeAll, beforeEach, afterAll, it, expect } from "@ohos/hypium";
+export default function ActsBaseCellularDataTest() {
+
+ var inItialState = false;
+ const time = 2000;
+
+ const pdpprofileabilityUrl = "dataability:///com.ohos.pdpprofileability";
+ const pdpProfileUri = "net/pdp_profile";
+ const pdpProfileFullUri = pdpprofileabilityUrl + '/' + pdpProfileUri;
+ const dataAbilityHelper = featureAbility.acquireDataAbilityHelper(pdpprofileabilityUrl);
+
+ describe("TelephonyCellularDataFunction", function () {
+ const sleep = (time) => {
+ return new Promise((resolve, reject) => {
+ setTimeout(() => {
+ resolve();
+ }, time);
+ })
+ };
+
+ beforeAll(function () {
+ let stringValue = {
+ profile_name: "test_profile_name",
+ mcc: "460",
+ mnc: "91"
+ };
+ dataAbilityHelper.insert(pdpProfileFullUri, stringValue).then(data => {
+ console.log(`Telephony_DataStorage_beforeAll success, insetId=${data}`);
+ expect(data > 0).assertTrue();
+ }).catch(error => {
+ expect().assertFail();
+ console.log("Telephony_DataStorage_beforeAll failed");
+ return;
+ });
+ })
+
+ beforeEach(function () {
+ })
+
+ afterAll(function () {
+ var condition = new ohosDataAbility.DataAbilityPredicates();
+ condition.equalTo("profile_name", "test_profile_name");
+ dataAbilityHelper.delete(pdpProfileFullUri, condition).then(data => {
+ console.log("Telephony_DataStorage_PdpProfile_afterAll: delete success data: " + JSON.stringify(data));
+ expect(data === 0).assertTrue();
+ }).catch(error => {
+ expect().assertFail();
+ console.log("Telephony_DataStorage_PdpProfile_afterAll failed");
+ return;
+ });
+ })
+
+ /*
+ * @tc.number Telephony_DataStorage_InsetIntoPdpProfile_Async_0100
+ * @tc.name Insert into pdpProfile database
+ * @tc.desc Function test
+ */
+ it("Telephony_DataStorage_PdpProfile_Insert_Async_0100", 0, async function (done) {
+ let stringValue = {
+ profile_name: "test_profile_name",
+ mcc: "460",
+ mnc: "91"
+ };
+ dataAbilityHelper.insert(pdpProfileFullUri, stringValue).then(data => {
+ console.log(`Telephony_DataStorage_InsetIntoPdpProfile_Async_0100 success, insertId=${data}`);
+ expect(data > 0).assertTrue();
+ done();
+ }).catch(error => {
+ expect().assertFail();
+ console.log("Telephony_DataStorage_InsetIntoPdpProfile_Async_0100 failed");
+ done();
+ return;
+ });
+ })
+
+ /*
+ * @tc.number Telephony_DataStorage_PdpProfile_Query_Async_0100
+ * @tc.name query from pdpProfile database
+ * @tc.desc Function test
+ */
+ it("Telephony_DataStorage_PdpProfile_Query_Async_0100", 0, async function (done) {
+ let condition = new ohosDataAbility.DataAbilityPredicates();
+ let resultColumns = [
+ "profile_name",
+ "mcc",
+ "mnc",
+ ];
+ condition.equalTo("profile_name", "test_profile_name");
+ dataAbilityHelper.query(pdpProfileFullUri, resultColumns, condition).then(resultSet => {
+ let pdpProfiles = [];
+ console.log("Telephony_DataStorage_PdpProfile_Query_Async_0100 resultSet: " + JSON.stringify(resultSet));
+ while (resultSet.goToNextRow()) {
+ let pdpProfile = {};
+ pdpProfile.profile_name = resultSet.getString(0);
+ pdpProfile.mcc = resultSet.getString(1);
+ pdpProfile.mnc = resultSet.getString(2);
+ pdpProfiles.push(pdpProfile);
+ }
+ console.log("Telephony_DataStorage_PdpProfile_Query_Async_0100 pdpProfiles: " + JSON.stringify(pdpProfiles));
+ expect(pdpProfiles.length >= 1).assertTrue();
+ done();
+ }).catch(error => {
+ expect().assertFail();
+ console.log("Telephony_DataStorage_PdpProfile_Query_Async_0100 failed");
+ done();
+ return;
+ });
+ })
+
+ /*
+ * @tc.number Telephony_DataStorage_PdpProfile_Update_Async_0100
+ * @tc.name update test data of pdpProfile database
+ * @tc.desc Function test
+ */
+ it("Telephony_DataStorage_PdpProfile_Update_Async_0100", 0, async function (done) {
+ var condition = new ohosDataAbility.DataAbilityPredicates();
+ condition.equalTo("profile_name", "test_profile_name");
+ var stringValue = {
+ 'mcc': "461",
+ 'mnc': "92",
+ };
+ dataAbilityHelper.update(pdpProfileFullUri, stringValue, condition).then(data => {
+ console.log("Telephony_DataStorage_PdpProfile_Update_Async_0100: update success data: " + JSON.stringify(data));
+ expect(data === 0).assertTrue();
+ done();
+ }).catch(error => {
+ expect().assertFail();
+ console.log("Telephony_DataStorage_PdpProfile_Update_Async_0100 failed");
+ done();
+ return;
+ });
+ })
+
+ /*
+ * @tc.number Telephony_DataStorage_PdpProfile_Delete_Async_0100
+ * @tc.name delete test data from pdpProfile database
+ * @tc.desc Function test
+ */
+ it("Telephony_DataStorage_PdpProfile_Delete_Async_0100", 0, async function (done) {
+ var condition = new ohosDataAbility.DataAbilityPredicates();
+ condition.equalTo("profile_name", "test_profile_name");
+ dataAbilityHelper.delete(pdpProfileFullUri, condition).then(data => {
+ console.log("Telephony_DataStorage_PdpProfile_Delete_Async_0100: delete success data: " + JSON.stringify(data));
+ expect(data === 0).assertTrue();
+ done();
+ }).catch(error => {
+ expect().assertFail();
+ console.log("Telephony_DataStorage_PdpProfile_Update_Async_0100 failed");
+ done();
+ return;
+ });
+ })
+ })
+}
diff --git a/telephony/telephonyjstest/telephony_base/cellular_data/src/main/resources/base/element/string.json b/telephony/telephonyjstest/telephony_base/cellular_data/src/main/resources/base/element/string.json
new file mode 100644
index 0000000000000000000000000000000000000000..d51fd51ba91957ec1c986cfd99d00655c80c65fc
--- /dev/null
+++ b/telephony/telephonyjstest/telephony_base/cellular_data/src/main/resources/base/element/string.json
@@ -0,0 +1,28 @@
+{
+ "string": [
+ {
+ "name": "app_name",
+ "value": "Sim Test"
+ },
+ {
+ "name": "mainability_description",
+ "value": "Sim Test - sim manager interface test"
+ },
+ {
+ "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/telephony/telephonyjstest/telephony_base/cellular_data/src/main/resources/base/media/icon.png b/telephony/telephonyjstest/telephony_base/cellular_data/src/main/resources/base/media/icon.png
new file mode 100644
index 0000000000000000000000000000000000000000..ce307a8827bd75456441ceb57d530e4c8d45d36c
Binary files /dev/null and b/telephony/telephonyjstest/telephony_base/cellular_data/src/main/resources/base/media/icon.png differ