diff --git a/useriam/BUILD.gn b/useriam/BUILD.gn new file mode 100644 index 0000000000000000000000000000000000000000..44b9e24ee09b890fcc2d5926c33fc1a8a15cd1f2 --- /dev/null +++ b/useriam/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") +import("//test/xts/tools/build/suite.gni") + +group("useriam") { + testonly = true + if (is_standard_system) { + deps = [ + "face_auth/js_api_test/function_test/userauth:ActsUserauthTest", + "face_auth/js_api_test/performance_test/performance:ActsUserauthPerformanceTest", + ] + } +} diff --git a/useriam/face_auth/js_api_test/function_test/userauth/BUILD.gn b/useriam/face_auth/js_api_test/function_test/userauth/BUILD.gn new file mode 100644 index 0000000000000000000000000000000000000000..d0ceca5d2e860e7fc3fdcf951deb2f70154af60b --- /dev/null +++ b/useriam/face_auth/js_api_test/function_test/userauth/BUILD.gn @@ -0,0 +1,31 @@ +# Copyright (c) 2021 Huawei Device Co., Ltd. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import("//test/xts/tools/build/suite.gni") + +ohos_js_hap_suite("ActsUserauthTest") { + hap_profile = "./entry/src/main/config.json" + deps = [ + ":hjs_demo_js_assets", + ":hjs_demo_resources", + ] + certificate_profile = "./signature/openharmony_sx.p7b" + hap_name = "ActsUserauthTest" +} +ohos_js_assets("hjs_demo_js_assets") { + source_dir = "./entry/src/main/js/default" +} +ohos_resources("hjs_demo_resources") { + sources = [ "./entry/src/main/js/resources" ] + hap_profile = "./entry/src/main/config.json" +} diff --git a/useriam/face_auth/js_api_test/function_test/userauth/Test.json b/useriam/face_auth/js_api_test/function_test/userauth/Test.json new file mode 100644 index 0000000000000000000000000000000000000000..82b3ab46123cc895b7fbb69dae25a9c762cac086 --- /dev/null +++ b/useriam/face_auth/js_api_test/function_test/userauth/Test.json @@ -0,0 +1,38 @@ +{ + "description": "Configuration for hjunit demo Tests", + "driver": { + "type": "JSUnitTest", + "test-timeout": "600000", + "package": "com.example.myapplication101", + "shell-timeout": "600000" + }, + "kits": [ + { + "test-file-name": [ + "ActsUserauthTest.hap" + ], + "type": "AppInstallKit", + "cleanup-apps": true + }, + { + "type": "ShellKit", + "run-command": [ + "remount", + "mkdir /data/test" + ] + }, + { + "type": "PushKit", + "push": [ + "UserauthTest.hap->/data/test/ActsUserauthTest.hap" + ] + }, + { + "type": "ShellKit", + "run-command": [ + "chmod 644 /data/test/*.hap", + "chmod 777 -R data" + ] + } + ] +} diff --git a/useriam/face_auth/js_api_test/function_test/userauth/entry/src/main/config.json b/useriam/face_auth/js_api_test/function_test/userauth/entry/src/main/config.json new file mode 100644 index 0000000000000000000000000000000000000000..3a9c1d22d40625050e4e461f1afc3587ea97ad17 --- /dev/null +++ b/useriam/face_auth/js_api_test/function_test/userauth/entry/src/main/config.json @@ -0,0 +1,84 @@ +{ + "app": { + "bundleName": "com.example.myapplication101", + "vendor": "example", + "version": { + "code": 12, + "name": "1.0.0" + }, + "apiVersion": { + "compatible": 4, + "target": 5, + "releaseType": "Beta1" + } + }, + "deviceConfig": {}, + "module": { + "package": "com.example.myapplication101", + "name": ".MyApplication", + "mainAbility": "com.example.myapplication101.MainAbility", + "deviceType": [ + "phone", + "tablet", + "tv", + "wearable" + ], + "distro": { + "deliveryWithInstall": true, + "moduleName": "entry", + "moduleType": "entry", + "installationFree": false + }, + "abilities": [ + { + "skills": [ + { + "entities": [ + "entity.system.home" + ], + "actions": [ + "action.system.home" + ] + } + ], + "name": "com.example.myapplication101.MainAbility", + "icon": "$media:icon", + "description": "$string:mainability_description", + "label": "$string:entry_MainAbility", + "type": "page", + "launchType": "standard", + "visible": true + } + ], + "js": [ + { + "pages": [ + "pages/index/index" + ], + "name": "default", + "window": { + "designWidth": 720, + "autoDesignWidth": true + } + } + ], + "reqPermissions": [ + { + "reason": "reason_manage_face", + "usedScene": { + "ability": ["com.myface.Ability","com.myface.AbilityBackground"], + "when": "always" + }, + "name": "ohos.permission.MANAGE_FACE" + }, + { + "reason": "reason_access_biometric", + "usedScene": { + "ability": ["com.mybiometric.Ability","com.mybiometric.AbilityBackground"], + "when": "always" + }, + "name": "ohos.permission.ACCESS_BIOMETRIC" + } + ] + } +} diff --git a/useriam/face_auth/js_api_test/function_test/userauth/entry/src/main/js/default/app.js b/useriam/face_auth/js_api_test/function_test/userauth/entry/src/main/js/default/app.js new file mode 100644 index 0000000000000000000000000000000000000000..c158442201abb1888ae8fb1d57f150c5ec26c36b --- /dev/null +++ b/useriam/face_auth/js_api_test/function_test/userauth/entry/src/main/js/default/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('AceApplication onCreate'); + }, + onDestroy() { + console.info('AceApplication onDestroy'); + } +}; diff --git a/useriam/face_auth/js_api_test/function_test/userauth/entry/src/main/js/default/i18n/en-US.json b/useriam/face_auth/js_api_test/function_test/userauth/entry/src/main/js/default/i18n/en-US.json new file mode 100644 index 0000000000000000000000000000000000000000..e63c70d978a3a53be988388c87182f81785e170c --- /dev/null +++ b/useriam/face_auth/js_api_test/function_test/userauth/entry/src/main/js/default/i18n/en-US.json @@ -0,0 +1,6 @@ +{ + "strings": { + "hello": "Hello", + "world": "World" + } +} \ No newline at end of file diff --git a/useriam/face_auth/js_api_test/function_test/userauth/entry/src/main/js/default/i18n/zh-CN.json b/useriam/face_auth/js_api_test/function_test/userauth/entry/src/main/js/default/i18n/zh-CN.json new file mode 100644 index 0000000000000000000000000000000000000000..de6ee5748322f44942c1b003319d8e66c837675f --- /dev/null +++ b/useriam/face_auth/js_api_test/function_test/userauth/entry/src/main/js/default/i18n/zh-CN.json @@ -0,0 +1,6 @@ +{ + "strings": { + "hello": "您好", + "world": "世界" + } +} \ No newline at end of file diff --git a/useriam/face_auth/js_api_test/function_test/userauth/entry/src/main/js/default/pages/index/index.css b/useriam/face_auth/js_api_test/function_test/userauth/entry/src/main/js/default/pages/index/index.css new file mode 100644 index 0000000000000000000000000000000000000000..34c6e86ad849ca56027417110e1fe793df56bf99 --- /dev/null +++ b/useriam/face_auth/js_api_test/function_test/userauth/entry/src/main/js/default/pages/index/index.css @@ -0,0 +1,60 @@ +/* + * Copyright (c) 2021 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +.container { + flex-direction: column; + justify-content: center; + align-items: center; + width: 100%; + height: 100%; +} + +.title { + font-size: 40px; + color: #000000; + opacity: 0.9; +} + +@media screen and (device-type: tablet) and (orientation: landscape) { + .title { + font-size: 100px; + } +} + +@media screen and (device-type: wearable) { + .title { + font-size: 28px; + color: #FFFFFF; + } +} + +@media screen and (device-type: tv) { + .container { + background-image: url("/common/images/Wallpaper.png"); + background-size: cover; + background-repeat: no-repeat; + background-position: center; + } + + .title { + font-size: 100px; + color: #FFFFFF; + } +} + +@media screen and (device-type: phone) and (orientation: landscape) { + .title { + font-size: 60px; + } +} diff --git a/useriam/face_auth/js_api_test/function_test/userauth/entry/src/main/js/default/pages/index/index.hml b/useriam/face_auth/js_api_test/function_test/userauth/entry/src/main/js/default/pages/index/index.hml new file mode 100644 index 0000000000000000000000000000000000000000..02fda3ba9ed9c58c52987f813e16cebb6393a805 --- /dev/null +++ b/useriam/face_auth/js_api_test/function_test/userauth/entry/src/main/js/default/pages/index/index.hml @@ -0,0 +1,19 @@ +/* + * Copyright (c) 2021 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +
+ + {{ $t('strings.hello') }} {{ title }} + +
diff --git a/useriam/face_auth/js_api_test/function_test/userauth/entry/src/main/js/default/pages/index/index.js b/useriam/face_auth/js_api_test/function_test/userauth/entry/src/main/js/default/pages/index/index.js new file mode 100644 index 0000000000000000000000000000000000000000..c152a2f4df49628f1728056c96b590400789e70a --- /dev/null +++ b/useriam/face_auth/js_api_test/function_test/userauth/entry/src/main/js/default/pages/index/index.js @@ -0,0 +1,72 @@ +/* + * Copyright (c) 2021 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import {Core, ExpectExtend} from 'deccjsunit/index' +import fileio from '@ohos.fileio' + +export default { + data: { + title: "" + }, + onInit() { + this.title = this.$t('strings.world'); + }, + onShow() { + console.info('onShow start') + const core = Core.getInstance() + const expectExtend = new ExpectExtend({ + 'id': 'extend' + }) + core.addService('expect', expectExtend) + core.init() + const configService = core.getDefaultService('config') + this.timeout = 35000; + configService.setConfig(this) + require('../../../test/ListTest') + core.execute() + console.info('onShow end') + }, + onReady() { + }, + fileSave(caseNum, codeNum, ...code) { + console.log(caseNum + ' fileSave start'); + var path = "/data/config.dat" + let fd = fileio.openSync(path, 0o102, 0o666); + var message = caseNum + "\r\n" + codeNum + "\r\n"; + for(var i = 0; i < code.length; i++){ + message = message + code[i] + "\r\n"; + } + fileio.writeSync(fd, message); + fileio.closeSync(fd); + console.log(caseNum + ' fileSave end'); + }, + fileSaveB(caseNum, code) { + console.log(caseNum + ' fileSave start'); + var path = "/data/config.dat" + let fd = fileio.openSync(path, 0o102, 0o666); + var message = code; + fileio.writeSync(fd, message); + fileio.closeSync(fd); + console.log(caseNum + ' fileSave end'); + }, + saveNull() { + console.log('JSAPI null file faceid.dat start'); + var path = "/data/faceId.dat" + let fd = fileio.openSync(path, 0o102, 0o666); + var message = ""; + fileio.writeSync(fd, message); + fileio.closeSync(fd); + console.log('JSAPI null file faceid.dat end'); + }, +} diff --git a/useriam/face_auth/js_api_test/function_test/userauth/entry/src/main/js/resources/base/element/string.json b/useriam/face_auth/js_api_test/function_test/userauth/entry/src/main/js/resources/base/element/string.json new file mode 100644 index 0000000000000000000000000000000000000000..0bae6bd40f7360d5d818998221b199d3ec0f69c0 --- /dev/null +++ b/useriam/face_auth/js_api_test/function_test/userauth/entry/src/main/js/resources/base/element/string.json @@ -0,0 +1,12 @@ +{ + "string": [ + { + "name": "entry_MainAbility", + "value": "entry_MainAbility" + }, + { + "name": "mainability_description", + "value": "JS_Empty Ability" + } + ] +} \ No newline at end of file diff --git a/useriam/face_auth/js_api_test/function_test/userauth/entry/src/main/js/resources/base/media/icon.png b/useriam/face_auth/js_api_test/function_test/userauth/entry/src/main/js/resources/base/media/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..ce307a8827bd75456441ceb57d530e4c8d45d36c Binary files /dev/null and b/useriam/face_auth/js_api_test/function_test/userauth/entry/src/main/js/resources/base/media/icon.png differ diff --git a/useriam/face_auth/js_api_test/function_test/userauth/entry/src/main/js/test/ListTest.js b/useriam/face_auth/js_api_test/function_test/userauth/entry/src/main/js/test/ListTest.js new file mode 100644 index 0000000000000000000000000000000000000000..f7844b1fddead8120d43580ab2196f52a05543f7 --- /dev/null +++ b/useriam/face_auth/js_api_test/function_test/userauth/entry/src/main/js/test/ListTest.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. + */ + +require('./execute.js') +require('./cancel.js') +require('./checkAvailability.js') +require('./on.js') +require('./off.js') diff --git a/useriam/face_auth/js_api_test/function_test/userauth/entry/src/main/js/test/cancel.js b/useriam/face_auth/js_api_test/function_test/userauth/entry/src/main/js/test/cancel.js new file mode 100644 index 0000000000000000000000000000000000000000..878a44703c6c65770e389e8f8cef9faa430ca0f5 --- /dev/null +++ b/useriam/face_auth/js_api_test/function_test/userauth/entry/src/main/js/test/cancel.js @@ -0,0 +1,141 @@ +/* + * 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 userAuth from '@ohos.userIAM.userAuth' +import {describe, beforeAll, beforeEach, afterEach, afterAll, it, expect} from 'deccjsunit/index' +var index = require('../default/pages/index/index.js'); + +/** + * test case + */ +describe('userAuthTest', function () { + beforeEach(function(done) { + let waitTime = 1000; + setTimeout(function() { + done(); + }, waitTime); + }) + afterEach(function() { + }) + + /** + * @tc.name execute_authentication_callback_cancel + * @tc.number JSAPI_Function_Cancel_0100 + * @tc.size MEDIUM + * @tc.type FUNC + * @tc.level Level2 + */ + it('JSAPI_Function_Cancel_0100', 0, function (done) { + console.log("JSAPI_Function_Cancel_0100 start"); + const auth = userAuth.getAuthenticator(); + let flag = false; + auth.execute("FACE_ONLY", "S2", function(data) { + console.log("JSAPI_Function_Cancel_0100 execute:" + data); + if(data == 0){ + flag = true; + } + setTimeout(function() { + done(); + }, 1); + if(flag && data != 0){ + expect(data).assertEqual(2); + } + }); + let result = auth.cancel(); + console.log("JSAPI_Function_Cancel_0100 auth.cancel:" + result); + expect(result).assertEqual(0); + console.log("JSAPI_Function_Cancel_0100 end"); + }) + + /** + * @tc.name execute_authentication_promise_cancel + * @tc.number JSAPI_Function_Cancel_0200 + * @tc.size MEDIUM + * @tc.type FUNC + * @tc.level Level2 + */ + it('JSAPI_Function_Cancel_0200', 0, function (done) { + console.log("JSAPI_Function_Cancel_0200 start"); + const auth = userAuth.getAuthenticator(); + let flag = false; + auth.execute("FACE_ONLY", "S2").then(function(data) { + console.log("JSAPI_Function_Cancel_0200 auth.execute:" + data); + if(data == 0){ + flag = true; + } + setTimeout(function() { + done(); + }, 1); + if(flag && data != 0){ + expect(data).assertEqual(2); + } + }); + let result = auth.cancel(); + expect(result).assertEqual(0); + console.log("JSAPI_Function_Cancel_0200 auth.cancel:" + result); + console.log("JSAPI_Function_Cancel_0200 end"); + }) + + /** + * @tc.name no userAuth cancel + * @tc.number JSAPI_Function_Cancel_0300 + * @tc.size MEDIUM + * @tc.type FUNC + * @tc.level Level2 + */ + it('JSAPI_Function_Cancel_0300', 0, function () { + console.log("JSAPI_Function_Cancel_0300 start"); + const auth = userAuth.getAuthenticator(); + let result = auth.cancel(); + console.log("JSAPI_Function_Cancel_0300 cancel result:" + Number(result)); + expect(result).assertEqual(1); + console.log("JSAPI_Function_Cancel_0300 end"); + }) + + /** + * @tc.name repeat cancel + * @tc.number JSAPI_Function_Cancel_0400 + * @tc.size MEDIUM + * @tc.type FUNC + * @tc.level Level2 + */ + it('JSAPI_Function_Cancel_0400', 0, function (done) { + console.log("JSAPI_Function_Cancel_0400 start"); + const auth = userAuth.getAuthenticator(); + let flag = false; + auth.execute("FACE_ONLY", "S2", function(data) { + console.log("JSAPI_Function_Cancel_0400 auth.execute:" + data); + if(data == 0){ + flag = true; + } + setTimeout(function() { + done(); + }, 1); + if(flag && data != 0){ + expect(data).assertEqual(2); + } + // CANCELED(2) + let result2 = auth.cancel(); + console.log("JSAPI_Function_Cancel_0400 2 cancel result2:" + result2); + expect(result2).assertEqual(1); + setTimeout(function() { + done(); + }, 1); + }); + let result1 = auth.cancel(); + console.log("JSAPI_Function_Cancel_0400 1 cancel result1:" + result1); + console.log("JSAPI_Function_Cancel_0400 end"); + }) +}) \ No newline at end of file diff --git a/useriam/face_auth/js_api_test/function_test/userauth/entry/src/main/js/test/checkAvailability.js b/useriam/face_auth/js_api_test/function_test/userauth/entry/src/main/js/test/checkAvailability.js new file mode 100644 index 0000000000000000000000000000000000000000..6858c4505485293d0d24b894f332e5b2568f64cf --- /dev/null +++ b/useriam/face_auth/js_api_test/function_test/userauth/entry/src/main/js/test/checkAvailability.js @@ -0,0 +1,162 @@ +/* + * 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 userAuth from '@ohos.userIAM.userAuth' +import {describe, beforeAll, beforeEach, afterEach, afterAll, it, expect} from 'deccjsunit/index' +var index = require('../default/pages/index/index.js'); + +/** + * test case + */ +describe('userAuthTest', function () { + beforeEach(function(done) { + let waitTime = 1000; + setTimeout(function() { + done(); + }, waitTime); + }) + afterEach(function() { + }) + + /** + * @tc.name checkAvailability type=FACE_ONLY + * @tc.number JSAPI_Function_CheckAvailability_0100 + * @tc.size MEDIUM + * @tc.type FUNC + * @tc.level Level2 + */ + it('JSAPI_Function_CheckAvailability_0100', 0, function () { + console.log("JSAPI_Function_CheckAvailability_0100 start"); + const auth = userAuth.getAuthenticator(); + let result = auth.checkAvailability("FACE_ONLY", "S2"); + console.log("JSAPI_Function_CheckAvailability_0100 result:" + result); + expect(result).assertEqual(0); + console.log("JSAPI_Function_CheckAvailability_0100 end"); + }) + + /** + * @tc.name checkAvailability type=ALL + * @tc.number JSAPI_Function_CheckAvailability_0200 + * @tc.size MEDIUM + * @tc.type FUNC + * @tc.level Level2 + */ + it('JSAPI_Function_CheckAvailability_0200', 0, function () { + console.log("JSAPI_Function_CheckAvailability_0200 start"); + const auth = userAuth.getAuthenticator(); + let result = auth.checkAvailability("ALL", "S2"); + console.log("JSAPI_Function_CheckAvailability_0200 result:" + result); + expect(result).assertEqual(0); + console.log("JSAPI_Function_CheckAvailability_0200 end"); + }) + + /** + * @tc.name checkAvailability type=null + * @tc.number JSAPI_Function_CheckAvailability_0300 + * @tc.size MEDIUM + * @tc.type FUNC + * @tc.level Level2 + */ + it('JSAPI_Function_CheckAvailability_0300', 0, function () { + console.log("JSAPI_Function_CheckAvailability_0300 start"); + const auth = userAuth.getAuthenticator(); + let result = auth.checkAvailability("", "S2"); + console.log("JSAPI_Function_CheckAvailability_0300 result:" + result); + // AUTH_TYPE_NOT_SUPPORT + expect(result).assertEqual(1); + console.log("JSAPI_Function_CheckAvailability_0300 end"); + }) + + /** + * @tc.name checkAvailability level=S1 + * @tc.number JSAPI_Function_CheckAvailability_0400 + * @tc.size MEDIUM + * @tc.type FUNC + * @tc.level Level2 + */ + it('JSAPI_Function_CheckAvailability_0400', 0, function () { + console.log("JSAPI_Function_CheckAvailability_0400 start"); + const auth = userAuth.getAuthenticator(); + let result = auth.checkAvailability("FACE_ONLY", "S1"); + console.log("JSAPI_Function_CheckAvailability_0400 result:" + result); + expect(result).assertEqual(0); + console.log("JSAPI_Function_CheckAvailability_0400 end"); + }) + + /** + * @tc.name checkAvailability level=S2 + * @tc.number JSAPI_Function_CheckAvailability_0500 + * @tc.size MEDIUM + * @tc.type FUNC + * @tc.level Level2 + */ + it('JSAPI_Function_CheckAvailability_0500', 0, function () { + console.log("JSAPI_Function_CheckAvailability_0500 start"); + const auth = userAuth.getAuthenticator(); + let result = auth.checkAvailability("FACE_ONLY", "S2"); + console.log("JSAPI_Function_CheckAvailability_0500 result:" + result); + expect(result).assertEqual(0); + console.log("JSAPI_Function_CheckAvailability_0500 end"); + }) + + /** + * @tc.name checkAvailability level=S3 + * @tc.number JSAPI_Function_CheckAvailability_0600 + * @tc.size MEDIUM + * @tc.type FUNC + * @tc.level Level2 + */ + it('JSAPI_Function_CheckAvailability_0600', 0, function () { + console.log("JSAPI_Function_CheckAvailability_0600 start"); + const auth = userAuth.getAuthenticator(); + let result = auth.checkAvailability("FACE_ONLY", "S3"); + console.log("JSAPI_Function_CheckAvailability_0600 result:" + result); + expect(result).assertEqual(0); + console.log("JSAPI_Function_CheckAvailability_0600 end"); + }) + + /** + * @tc.name checkAvailability level=S4 + * @tc.number JSAPI_Function_CheckAvailability_0700 + * @tc.size MEDIUM + * @tc.type FUNC + * @tc.level Level2 + */ + it('JSAPI_Function_CheckAvailability_0700', 0, function () { + console.log("JSAPI_Function_CheckAvailability_0700 start"); + const auth = userAuth.getAuthenticator(); + let result = auth.checkAvailability("FACE_ONLY", "S4"); + console.log("JSAPI_Function_CheckAvailability_0700 result:" + result); + expect(result).assertEqual(0); + console.log("JSAPI_Function_CheckAvailability_0700 end"); + }) + + /** + * @tc.name checkAvailability level=null + * @tc.number JSAPI_Function_CheckAvailability_0800 + * @tc.size MEDIUM + * @tc.type FUNC + * @tc.level Level2 + */ + it('JSAPI_Function_CheckAvailability_0800', 0, function () { + console.log("JSAPI_Function_CheckAvailability_0800 start"); + const auth = userAuth.getAuthenticator(); + let result = auth.checkAvailability("FACE_ONLY", ""); + console.log("JSAPI_Function_CheckAvailability_0800 result:" + result); + // SECURE_LEVEL_NOT_SUPPORT + expect(result).assertEqual(2); + console.log("JSAPI_Function_CheckAvailability_0800 end"); + }) +}) \ No newline at end of file diff --git a/useriam/face_auth/js_api_test/function_test/userauth/entry/src/main/js/test/execute.js b/useriam/face_auth/js_api_test/function_test/userauth/entry/src/main/js/test/execute.js new file mode 100644 index 0000000000000000000000000000000000000000..0a00908520333038fed0f3488d702fc131a50b94 --- /dev/null +++ b/useriam/face_auth/js_api_test/function_test/userauth/entry/src/main/js/test/execute.js @@ -0,0 +1,528 @@ +/* + * 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 userAuth from '@ohos.userIAM.userAuth' +import {describe, beforeAll, beforeEach, afterEach, afterAll, it, expect} from 'deccjsunit/index' +var index = require('../default/pages/index/index.js'); +var waitFlag = false; + +/** + * test case + */ +describe('userAuthTest', function () { + beforeEach(function(done) { + let waitTime = 1000; + if (waitFlag) { + waitTime = 30000; + } + setTimeout(function() { + done(); + }, waitTime); + }) + afterEach(function() { + }) + + /** + * @tc.name execute_authentication_callback_failed + * @tc.number JSAPI_Function_Execute_0100 + * @tc.size MEDIUM + * @tc.type FUNC + * @tc.level Level2 + */ + it('JSAPI_Function_Execute_0100', 0, function (done) { + console.log("JSAPI_Function_Execute_0100 start"); + index.default.fileSave('JSAPI_Function_Execute_0100','1','18 0 0 0 0 0 0 0 0 0 0') + const auth = userAuth.getAuthenticator(); + auth.execute("FACE_ONLY", "S2", function(data) { + console.log("JSAPI_Function_Execute_0100 auth.execute:" + data); + // COMPARE_FAILURE(1) + expect(data).assertEqual(1); + setTimeout(function() { + done(); + }, 1); + }); + console.log("JSAPI_Function_Execute_0100 end"); + }) + + /** + * @tc.name execute_authentication_callback_timeout + * @tc.number JSAPI_Function_Execute_0200 + * @tc.size MEDIUM + * @tc.type FUNC + * @tc.level Level2 + */ + it('JSAPI_Function_Execute_0200', 0, function (done) { + console.log("JSAPI_Function_Execute_0200 start"); + index.default.fileSave('JSAPI_Function_Execute_0200','1','18 6 0 0 0 0 0 0 0 0 0') + const auth = userAuth.getAuthenticator(); + auth.execute("FACE_ONLY", "S2", function(data) { + console.log("JSAPI_Function_Execute_0200 auth.execute:" + data); + // TIMEOUT (3) + expect(data).assertEqual(3); + setTimeout(function() { + done(); + }, 1); + }); + console.log("JSAPI_Function_Execute_0200 end"); + }) + + /** + * @tc.name execute_authentication_callback_camera_fail + * @tc.number JSAPI_Function_Execute_0300 + * @tc.size MEDIUM + * @tc.type FUNC + * @tc.level Level2 + */ + it('JSAPI_Function_Execute_0300', 0, function (done) { + console.log("JSAPI_Function_Execute_0300 start"); + index.default.fileSaveB('JSAPI_Function_Execute_0300','903') + const auth = userAuth.getAuthenticator(); + auth.execute("FACE_ONLY", "S2", function(data) { + console.log("JSAPI_Function_Execute_0300 auth.execute:" + data); + // CAMERA_FAIL(4) + expect(data).assertEqual(4); + setTimeout(function() { + done(); + }, 1); + }); + console.log("JSAPI_Function_Execute_0300 end"); + }) + + /** + * @tc.name execute_authentication_callback_busy + * @tc.number JSAPI_Function_Execute_0400 + * @tc.size MEDIUM + * @tc.type FUNC + * @tc.level Level2 + */ + it('JSAPI_Function_Execute_0400', 0, function (done) { + console.log("JSAPI_Function_Execute_0400 start"); + waitFlag = true; + const auth = userAuth.getAuthenticator(); + auth.execute("FACE_ONLY", "S2", function(data) { + console.log("JSAPI_Function_Execute_0400 auth.execute1:" + data); + }) + auth.execute("FACE_ONLY", "S2", function(data) { + console.log("JSAPI_Function_Execute_0400 auth.execute2:" + data); + // BUSY(5) + expect(data).assertEqual(5); + setTimeout(function() { + done(); + }, 3000); + }) + console.log("JSAPI_Function_Execute_0400 end"); + }) + + /** + * @tc.name execute_authentication_callback_LOCKED + * @tc.number JSAPI_Function_Execute_0500 + * @tc.size MEDIUM + * @tc.type FUNC + * @tc.level Level2 + */ + it('JSAPI_Function_Execute_0500', 0, function (done) { + console.log("JSAPI_Function_Execute_0500 start"); + const auth = userAuth.getAuthenticator(); + // exe 1~5 + index.default.fileSave('JSAPI_Function_Execute_0500','1','18 0 0 0 0 0 0 0 0 0 0') + new Promise(function(resolve, reject) { + resolve(); + }).then( + auth.execute("FACE_ONLY", "S2", function(data) { + console.log("JSAPI_Function_Execute_0500 auth.execute1:" + data); + index.default.fileSave('JSAPI_Function_Execute_0500','1','18 0 0 0 0 0 0 0 0 0 0') + + auth.execute("FACE_ONLY", "S2", function(data) { + console.log("JSAPI_Function_Execute_0500 auth.execute2:" + data); + index.default.fileSave('JSAPI_Function_Execute_0500','1','18 0 0 0 0 0 0 0 0 0 0') + auth.execute("FACE_ONLY", "S2", function(data) { + console.log("JSAPI_Function_Execute_0500 auth.execute3:" + data); + index.default.fileSave('JSAPI_Function_Execute_0500','1','18 0 0 0 0 0 0 0 0 0 0') + auth.execute("FACE_ONLY", "S2", function(data) { + console.log("JSAPI_Function_Execute_0500 auth.execute4:" + data); + index.default.fileSave('JSAPI_Function_Execute_0500','1','18 0 0 0 0 0 0 0 0 0 0') + auth.execute("FACE_ONLY", "S2", function(data) { + console.log("JSAPI_Function_Execute_0500 auth.execute5:" + data); + auth.execute("FACE_ONLY", "S2", function(data) { + console.log("JSAPI_Function_Execute_0500 auth.execute6:" + data); + // LOCKED(7) + expect(data).assertEqual(7); + setTimeout(function() { + console.log("JSAPI_Function_Execute_0500 end wait 30m"); + done(); + }, 1); + }) + }) + }) + }) + }) + }) + ); + console.log("JSAPI_Function_Execute_0500 end"); + }) + + /** + * @tc.name execute_authentication_callback_NOT_ENROLLED + * @tc.number JSAPI_Function_Execute_0600 + * @tc.size MEDIUM + * @tc.type FUNC + * @tc.level Level2 + */ + it('JSAPI_Function_Execute_0600', 0, function (done) { + console.log("JSAPI_Function_Execute_0600 start"); + waitFlag = false; + index.default.fileSave('JSAPI_Function_Execute_0800','1','18 9 0 0 0 0 0 0 0 0 0'); + const auth = userAuth.getAuthenticator(); + auth.execute("FACE_ONLY", "S2", function(data) { + console.log("JSAPI_Function_Execute_0600 auth.execute:" + data); + // NOT_ENROLLED(8) + expect(data).assertEqual(8); + setTimeout(function() { + done(); + }, 1); + }); + console.log("JSAPI_Function_Execute_0600 end"); + }) + + /** + * @tc.name execute_authentication_callback_GENERAL_ERROR + * @tc.number JSAPI_Function_Execute_0700 + * @tc.size MEDIUM + * @tc.type FUNC + * @tc.level Level2 + */ + it('JSAPI_Function_Execute_0700', 0, function (done) { + console.log("JSAPI_Function_Execute_0700 start"); + index.default.fileSave('JSAPI_Function_Execute_0700','1','18 4 0 0 0 0 0 0 0 0 0') + const auth = userAuth.getAuthenticator(); + auth.execute("FACE_ONLY", "S2", function(data) { + console.log("JSAPI_Function_Execute_0700 auth.execute:" + data); + // GENERAL_ERROR(100) + expect(data).assertEqual(100); + setTimeout(function() { + done(); + }, 1); + }); + console.log("JSAPI_Function_Execute_0700 end"); + }) + + /** + * @tc.name execute_authentication_promise_COMPARE_FAILURE + * @tc.number JSAPI_Function_Execute_0800 + * @tc.size MEDIUM + * @tc.type FUNC + * @tc.level Level2 + */ + it('JSAPI_Function_Execute_0800', 0, function (done) { + console.log("JSAPI_Function_Execute_0800 start"); + index.default.fileSave('JSAPI_Function_Execute_0800','1','18 0 0 0 0 0 0 0 0 0 0') + const auth = userAuth.getAuthenticator(); + auth.execute("FACE_ONLY", "S2").then(function(data) { + console.log("JSAPI_Function_Execute_0800 auth.execute:" + data); + // COMPARE_FAILURE(1) + expect(data).assertEqual(1); + setTimeout(function() { + done(); + }, 1); + }); + console.log("JSAPI_Function_Execute_0800 end"); + }) + + /** + * @tc.name execute_authentication_promise_TIMEOUT + * @tc.number JSAPI_Function_Execute_0900 + * @tc.size MEDIUM + * @tc.type FUNC + * @tc.level Level2 + */ + it('JSAPI_Function_Execute_0900', 0, function (done) { + console.log("JSAPI_Function_Execute_0900 start"); + index.default.fileSave('JSAPI_Function_Execute_0800','1','18 6 0 0 0 0 0 0 0 0 0'); + const auth = userAuth.getAuthenticator(); + auth.execute("FACE_ONLY", "S2").then(function(data) { + console.log("JSAPI_Function_Execute_0900 auth.execute:" + data); + // TIMEOUT (3) + expect(data).assertEqual(3); + setTimeout(function() { + done(); + }, 1); + }); + console.log("JSAPI_Function_Execute_0900 end"); + }) + + /** + * @tc.name execute_authentication_promise_CAMERA_FAIL + * @tc.number JSAPI_Function_Execute_1000 + * @tc.size MEDIUM + * @tc.type FUNC + * @tc.level Level2 + */ + it('JSAPI_Function_Execute_1000', 0, function (done) { + console.log("JSAPI_Function_Execute_1000 start"); + index.default.fileSaveB('JSAPI_Function_Execute_1000','903') + const auth = userAuth.getAuthenticator(); + auth.execute("FACE_ONLY", "S2").then(function(data) { + console.log("JSAPI_Function_Execute_1000 auth.execute:" + data); + // CAMERA_FAIL(4) + expect(data).assertEqual(4); + setTimeout(function() { + done(); + }, 1); + }); + console.log("JSAPI_Function_Execute_1000 end"); + }) + + /** + * @tc.name execute_authentication_promise_BUSY + * @tc.number JSAPI_Function_Execute_1100 + * @tc.size MEDIUM + * @tc.type FUNC + * @tc.level Level2 + */ + it('JSAPI_Function_Execute_1100', 0, function (done) { + console.log("JSAPI_Function_Execute_1100 start"); + waitFlag = true; + const auth = userAuth.getAuthenticator(); + auth.execute("FACE_ONLY", "S2").then(function(data) { + console.log("JSAPI_Function_Execute_1100 auth.execute1:" + data); + }); + auth.execute("FACE_ONLY", "S2").then(function(data) { + console.log("JSAPI_Function_Execute_1100 auth.execute2:" + data); + // BUSY(5) + expect(data).assertEqual(5); + setTimeout(function() { + done(); + }, 1); + }); + console.log("JSAPI_Function_Execute_1100 end"); + }) + + /** + * @tc.name execute_authentication_promise_LOCKED + * @tc.number JSAPI_Function_Execute_1200 + * @tc.size MEDIUM + * @tc.type FUNC + * @tc.level Level2 + */ + it('JSAPI_Function_Execute_1200', 0, function (done) { + console.log("JSAPI_Function_Execute_1200 start"); + index.default.fileSave('JSAPI_Function_Execute_0500','1','18 0 0 0 0 0 0 0 0 0 0') + const auth = userAuth.getAuthenticator(); + // exe 1~5 + new Promise(function(resolve, reject) { + resolve(); + }).then( + auth.execute("FACE_ONLY", "S2").then(function(data) { + console.log("JSAPI_Function_Execute_1200 auth.execute1:" + data); + index.default.fileSave('JSAPI_Function_Execute_0500','1','18 0 0 0 0 0 0 0 0 0 0') + auth.execute("FACE_ONLY", "S2").then(function(data) { + console.log("JSAPI_Function_Execute_1200 auth.execute2:" + data); + index.default.fileSave('JSAPI_Function_Execute_0500','1','18 0 0 0 0 0 0 0 0 0 0') + auth.execute("FACE_ONLY", "S2").then(function(data) { + console.log("JSAPI_Function_Execute_1200 auth.execute3:" + data); + index.default.fileSave('JSAPI_Function_Execute_0500','1','18 0 0 0 0 0 0 0 0 0 0') + auth.execute("FACE_ONLY", "S2").then(function(data) { + console.log("JSAPI_Function_Execute_1200 auth.execute4:" + data); + index.default.fileSave('JSAPI_Function_Execute_0500','1','18 0 0 0 0 0 0 0 0 0 0') + auth.execute("FACE_ONLY", "S2").then(function(data) { + console.log("JSAPI_Function_Execute_1200 auth.execute5:" + data); + auth.execute("FACE_ONLY", "S2").then(function(data) { + console.log("JSAPI_Function_Execute_1200 auth.execute6:" + data); + // LOCKED(7) + expect(data).assertEqual(7); + setTimeout(function() { + done(); + }, 1); + }); + }) + }) + }) + }) + }) + ); + console.log("JSAPI_Function_Execute_1200 end"); + }) + + /** + * @tc.name execute_authentication_promise_NOT_ENROLLED + * @tc.number JSAPI_Function_Execute_1300 + * @tc.size MEDIUM + * @tc.type FUNC + * @tc.level Level2 + */ + it('JSAPI_Function_Execute_1300', 0, function (done) { + console.log("JSAPI_Function_Execute_1300 start"); + waitFlag = false; + index.default.fileSave('JSAPI_Function_Execute_0800','1','18 9 0 0 0 0 0 0 0 0 0'); + const auth = userAuth.getAuthenticator(); + auth.execute("FACE_ONLY", "S2").then(function(data) { + console.log("JSAPI_Function_Execute_1300 auth.execute:" + data); + // NOT_ENROLLED(8) + expect(data).assertEqual(8); + setTimeout(function() { + done(); + }, 1); + }); + console.log("JSAPI_Function_Execute_1300 end"); + }) + + /** + * @tc.name execute_authentication_promise_GENERAL_ERROR + * @tc.number JSAPI_Function_Execute_1400 + * @tc.size MEDIUM + * @tc.type FUNC + * @tc.level Level2 + */ + it('JSAPI_Function_Execute_1400', 0, function (done) { + console.log("JSAPI_Function_Execute_1400 start"); + index.default.fileSave('JSAPI_Function_Execute_1400','1','18 4 0 0 0 0 0 0 0 0 0') + const auth = userAuth.getAuthenticator(); + auth.execute("FACE_ONLY", "S2").then(function(data) { + console.log("JSAPI_Function_Execute_1400 auth.execute:" + data); + // GENERAL_ERROR(100) + expect(data).assertEqual(100); + setTimeout(function() { + done(); + }, 1); + }); + console.log("JSAPI_Function_Execute_1400 end"); + }) + + /** + * @tc.name execute_authentication_callback_FACE_ONLY_SUCCESS + * @tc.number JSAPI_Function_Execute_1600 + * @tc.size MEDIUM + * @tc.type FUNC + * @tc.level Level2 + */ + it('JSAPI_Function_Execute_1600', 0, function (done) { + console.log("JSAPI_Function_Execute_1600 start"); + const auth = userAuth.getAuthenticator(); + auth.execute("FACE_ONLY", "S1", function(data) { + console.log("JSAPI_Function_Execute_1600 auth.execute:" + data); + // SUCCESS(0) + expect(data).assertEqual(0); + setTimeout(function() { + done(); + }, 1); + }); + console.log("JSAPI_Function_Execute_1600 end"); + }) + + /** + * @tc.name execute_authentication_callback_ALL_NO_SUPPORT + * @tc.number JSAPI_Function_Execute_1700 + * @tc.size MEDIUM + * @tc.type FUNC + * @tc.level Level2 + */ + it('JSAPI_Function_Execute_1700', 0, function (done) { + console.log("JSAPI_Function_Execute_1700 start"); + const auth = userAuth.getAuthenticator(); + auth.execute("ALL", "S2", function(data) { + console.log("JSAPI_Function_Execute_1700 auth.execute:" + data); + // NO_SUPPORT(-1) + expect(data).assertEqual(-1); + setTimeout(function() { + done(); + }, 1); + }); + console.log("JSAPI_Function_Execute_1700 end"); + }) + + /** + * @tc.name execute_authentication_callback_Type_is_null + * @tc.number JSAPI_Function_Execute_1800 + * @tc.size MEDIUM + * @tc.type FUNC + * @tc.level Level2 + */ + it('JSAPI_Function_Execute_1800', 0, function (done) { + console.log("JSAPI_Function_Execute_1800 start"); + const auth = userAuth.getAuthenticator(); + auth.execute("", "S2", function(data) { + console.log("JSAPI_Function_Execute_1800 auth.execute:" + data); + // INVALID_PARAMETERS(6) + expect(data).assertEqual(6); + setTimeout(function() { + done(); + }, 1); + }); + console.log("JSAPI_Function_Execute_1800 end"); + }) + + /** + * @tc.name execute_authentication_promise_FACE_ONLY_SUCCESS + * @tc.number JSAPI_Function_Execute_1900 + * @tc.size MEDIUM + * @tc.type FUNC + * @tc.level Level2 + */ + it('JSAPI_Function_Execute_1900', 0, function (done) { + console.log("JSAPI_Function_Execute_1900 start"); + const auth = userAuth.getAuthenticator(); + auth.execute("FACE_ONLY", "S2").then(function(data) { + console.log("JSAPI_Function_Execute_1900 auth.execute:" + data); + // SUCCESS(0) + expect(data).assertEqual(0); + setTimeout(function() { + done(); + }, 1); + }); + console.log("JSAPI_Function_Execute_1900 end"); + }) + + /** + * @tc.name execute_authentication_promise_ALL_NO_SUPPORT + * @tc.number JSAPI_Function_Execute_2000 + * @tc.size MEDIUM + * @tc.type FUNC + * @tc.level Level2 + */ + it('JSAPI_Function_Execute_2000', 0, function (done) { + console.log("JSAPI_Function_Execute_2000 start"); + const auth = userAuth.getAuthenticator(); + auth.execute("ALL", "S2").then(function(data) { + console.log("JSAPI_Function_Execute_2000 auth.execute:" + data); + // NO_SUPPORT(-1) + expect(data).assertEqual(-1); + setTimeout(function() { + done(); + }, 1); + }); + console.log("JSAPI_Function_Execute_2000 end"); + }) + + /** + * @tc.name execute_authentication_promise_Type_is_null + * @tc.number JSAPI_Function_Execute_2100 + * @tc.size MEDIUM + * @tc.type FUNC + * @tc.level Level2 + */ + it('JSAPI_Function_Execute_2100', 0, function (done) { + console.log("JSAPI_Function_Execute_2100 start"); + const auth = userAuth.getAuthenticator(); + auth.execute("", "S2").then(function(data) { + console.log("JSAPI_Function_Execute_2100 auth.execute:" + data); + // INVALID_PARAMETERS(6) + expect(data).assertEqual(6); + setTimeout(function() { + done(); + }, 1); + }); + console.log("JSAPI_Function_Execute_2100 end"); + }) +}) \ No newline at end of file diff --git a/useriam/face_auth/js_api_test/function_test/userauth/entry/src/main/js/test/off.js b/useriam/face_auth/js_api_test/function_test/userauth/entry/src/main/js/test/off.js new file mode 100644 index 0000000000000000000000000000000000000000..ffca2d9ba0a04df320a6c6857a1e645250390c45 --- /dev/null +++ b/useriam/face_auth/js_api_test/function_test/userauth/entry/src/main/js/test/off.js @@ -0,0 +1,80 @@ +/* + * 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 userAuth from '@ohos.userIAM.userAuth' +import {describe, beforeAll, beforeEach, afterEach, afterAll, it, expect} from 'deccjsunit/index' +var index = require('../default/pages/index/index.js'); + +/** + * test case + */ +describe('userAuthTest', function () { + beforeEach(function(done) { + let waitTime = 1000; + setTimeout(function() { + done(); + }, waitTime); + }) + afterEach(function() { + }) + + /** + * @tc.name off FAILED + * @tc.number JSAPI_Function_Off_0100 + * @tc.size MEDIUM + * @tc.type FUNC + * @tc.level Level2 + */ + it('JSAPI_Function_Off_0100', 0, function (done) { + console.log("JSAPI_Function_Off_0100 start"); + const auth = userAuth.getAuthenticator(); + auth.off("tip8", function(data) { + console.log("JSAPI_Function_Off_0100 off:" + data); + // errorCode=FAILED + expect(data).assertEqual(1); + setTimeout(function() { + done(); + }, 1); + }); + console.log("JSAPI_Function_Off_0100 end"); + }) + + /** + * @tc.name off FAILED + * @tc.number JSAPI_Function_Off_0200 + * @tc.size MEDIUM + * @tc.type FUNC + * @tc.level Level2 + */ + it('JSAPI_Function_Off_0200', 0, function (done) { + console.log("JSAPI_Function_Off_0200 start"); + const auth = userAuth.getAuthenticator(); + auth.on("tip1", function(data) { + console.log("JSAPI_Function_Off_0200 tip1 on CallBack"); + }); + auth.on("tip2", function(data) { + console.log("JSAPI_Function_Off_0200 tip2 on CallBack"); + }); + auth.off("tip1", function(data) { + console.log("JSAPI_Function_Off_0200 off:" + data); + // errorCode=SUCCESS + expect(data).assertEqual(0); + setTimeout(function() { + done(); + }, 1); + }); + console.log("JSAPI_Function_Off_0200 end"); + }) +}) \ No newline at end of file diff --git a/useriam/face_auth/js_api_test/function_test/userauth/entry/src/main/js/test/on.js b/useriam/face_auth/js_api_test/function_test/userauth/entry/src/main/js/test/on.js new file mode 100644 index 0000000000000000000000000000000000000000..a65226e7d0cd8f4379c7b7b19a8114e3b72efb80 --- /dev/null +++ b/useriam/face_auth/js_api_test/function_test/userauth/entry/src/main/js/test/on.js @@ -0,0 +1,252 @@ +/* + * 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 userAuth from '@ohos.userIAM.userAuth' +import {describe, beforeAll, beforeEach, afterEach, afterAll, it, expect} from 'deccjsunit/index' +var index = require('../default/pages/index/index.js'); +var waitFlag = false; + +/** + * test case + */ +describe('userAuthTest', function () { + beforeEach(function(done) { + let waitTime = 1000; + if (waitFlag) { + waitTime = 30000; + } + setTimeout(function() { + done(); + }, waitTime); + }) + afterEach(function() { + }) + + /** + * @tc.name on getTips 0100 + * @tc.number JSAPI_Function_On_0100 + * @tc.size MEDIUM + * @tc.type FUNC + * @tc.level Level2 + */ + it('JSAPI_Function_On_0100', 0, function (done) { + console.log("JSAPI_Function_On_0100 start"); + index.default.fileSave('JSAPI_Function_On_0100','12', + '8200 0 0 0 0 0 0 0 0 0 0', + '13 0 0 0 0 0 0 0 0 0 0', + '4 0 0 0 0 0 0 0 0 0 0', + '3 0 0 0 0 0 0 0 0 0 0', + '6 0 0 0 0 0 0 0 0 0 0', + '8 0 0 0 0 0 0 0 0 0 0', + '7 0 0 0 0 0 0 0 0 0 0', + '5 0 0 0 0 0 0 0 0 0 0', + '4105 0 0 0 0 0 0 0 0 0 0', + '9 0 0 0 0 0 0 0 0 0 0', + '2 0 0 0 0 0 0 0 0 0 0', + '17 0 0 0 0 0 0 0 0 0 0'); + const auth = userAuth.getAuthenticator(); + let tipCodeIndex = 1; + auth.on("tip", function(data) { + console.log("JSAPI_Function_On_0100 on.index:" + tipCodeIndex); + console.log("JSAPI_Function_On_0100 on.errorCode:" + data.errorCode); + console.log("JSAPI_Function_On_0100 on.tipEvent:" + data.tipEvent); + console.log("JSAPI_Function_On_0100 on.tipCode:" + data.tipCode); + if(tipCodeIndex<12){ + // errorCode = Success + expect(data.errorCode).assertEqual(0); + // ACQUIRE = 3 + expect(data.tipEvent).assertEqual(3); + + // FACE_AUTH_TIP_TOO_BRIGHT = 1, + // FACE_AUTH_TIP_TOO_DARK = 2, + // FACE_AUTH_TIP_TOO_CLOSE = 3, + // FACE_AUTH_TIP_TOO_FAR = 4, + // FACE_AUTH_TIP_TOO_HIGH = 5, + // FACE_AUTH_TIP_TOO_LOW = 6, + // FACE_AUTH_TIP_TOO_RIGHT = 7, + // FACE_AUTH_TIP_TOO_LEFT = 8, + // FACE_AUTH_TIP_TOO_MUCH_MOTION = 9, + // FACE_AUTH_TIP_POOR_GAZE = 10, + // FACE_AUTH_TIP_NOT_DETECTED = 11, + expect(data.tipCode).assertEqual(tipCodeIndex); + tipCodeIndex = tipCodeIndex + 1; + }else{ + // errorCode = Success + expect(data.errorCode).assertEqual(0); + // result = 1 + expect(data.tipEvent).assertEqual(1); + expect(data.tipCode).assertEqual(0); + } + }); + auth.execute("FACE_ONLY", "S2", function(data) { + console.log("JSAPI_Function_On_0100 auth.execute:" + data); + auth.off("tip", function(data) { + console.log("JSAPI_Function_On_0100 off:" + data); + }); + setTimeout(function() { + done(); + }, 1); + }); + console.log("JSAPI_Function_On_0100 end"); + }) + + /** + * @tc.name on getTips 0200 + * @tc.number JSAPI_Function_On_0200 + * @tc.size MEDIUM + * @tc.type FUNC + * @tc.level Level2 + */ + it('JSAPI_Function_On_0200', 0, function (done) { + console.log("JSAPI_Function_On_0200 start"); + const auth = userAuth.getAuthenticator(); + waitFlag = true; + auth.on("tip", function(data) { + console.log("JSAPI_Function_On_0200 on.errorCode:" + data.errorCode); + console.log("JSAPI_Function_On_0200 on.tipEvent:" + data.tipEvent); + if(data.tipEvent == 1){ + // errorCode= SUCCESS + expect(data.errorCode).assertEqual(0); + // RESULT = 1 + expect(data.tipEvent).assertEqual(1); + } + setTimeout(function() { + done(); + }, 1); + }); + auth.execute("FACE_ONLY", "S2", function(data) { + console.log("JSAPI_Function_On_0200 auth.execute:" + data); + expect(data).assertEqual(0); + auth.off("tip", function(data) { + console.log("JSAPI_Function_On_0200 off:" + data); + }); + setTimeout(function() { + done(); + }, 1); + }); + console.log("JSAPI_Function_On_0200 end"); + }) + + /** + * @tc.name on getTips 0300 + * @tc.number JSAPI_Function_On_0300 + * @tc.size MEDIUM + * @tc.type FUNC + * @tc.level Level2 + */ + it('JSAPI_Function_On_0300', 0, function (done) { + console.log("JSAPI_Function_On_0300 start"); + index.default.fileSave('JSAPI_Function_On_0300','1','18 0 0 0 0 0 0 0 0 0 0'); + const auth = userAuth.getAuthenticator(); + waitFlag = false; + auth.on("tip", function(data) { + console.log("JSAPI_Function_On_0300 on.errorCode:" + data.errorCode); + console.log("JSAPI_Function_On_0300 on.tipEvent:" + data.tipEvent); + // errorCode= Success + expect(data.errorCode).assertEqual(0); + // RESULT = 1 + expect(data.tipEvent).assertEqual(1); + setTimeout(function() { + done(); + }, 1); + }); + + auth.execute("FACE_ONLY", "S2", function(data) { + console.log("JSAPI_Function_On_0300 auth.execute:" + data); + expect(data).assertEqual(1); + auth.off("tip", function(data) { + console.log("JSAPI_Function_On_0300 off:" + data); + }); + setTimeout(function() { + done(); + }, 1); + }); + console.log("JSAPI_Function_On_0300 end"); + }) + + /** + * @tc.name on getTips 0400 + * @tc.number JSAPI_Function_On_0400 + * @tc.size MEDIUM + * @tc.type FUNC + * @tc.level Level2 + */ + it('JSAPI_Function_On_0400', 0, function (done) { + console.log("JSAPI_Function_On_0400 start"); + const auth = userAuth.getAuthenticator(); + waitFlag = true; + auth.on("tip", function(data) { + console.log("JSAPI_Function_On_0400 on.errorCode:" + data.errorCode); + console.log("JSAPI_Function_On_0400 on.tipEvent:" + data.tipEvent); + if(data.tipCode == 5){ + expect(data.tipCode).assertEqual(5); + // errorCode= SUCCESS + expect(data.errorCode).assertEqual(0); + // RESULT = 1 + expect(data.tipEvent).assertEqual(1); + } + }); + auth.execute("FACE_ONLY", "S2", function(data) { + console.log("JSAPI_Function_On_0400 auth.execute:" + data); + }); + auth.execute("FACE_ONLY", "S2", function(data) { + console.log("JSAPI_Function_On_0400 auth.execute:" + data); + auth.off("tip", function(data) { + console.log("JSAPI_Function_On_0400 off:" + data); + }); + setTimeout(function() { + done(); + }, 3000); + }); + + console.log("JSAPI_Function_On_0400 end"); + }) + + /** + * @tc.name on getTips 0500 + * @tc.number JSAPI_Function_On_0500 + * @tc.size MEDIUM + * @tc.type FUNC + * @tc.level Level2 + */ + it('JSAPI_Function_On_0500', 0, function (done) { + console.log("JSAPI_Function_On_0500 start"); + const auth = userAuth.getAuthenticator(); + waitFlag = false; + auth.on("tip", function(data) { + console.log("JSAPI_Function_On_0500 on.errorCode:" + data.errorCode); + console.log("JSAPI_Function_On_0500 on.tipEvent:" + data.tipEvent); + // errorCode= SUCCESS + expect(data.errorCode).assertEqual(0); + // CANCEL = 2 + expect(data.tipEvent).assertEqual(2); + setTimeout(function() { + done(); + }, 1); + }); + auth.execute("FACE_ONLY", "S2", function(data) { + console.log("JSAPI_Function_On_0500 auth.execute:" + data); + auth.off("tip", function(data) { + console.log("JSAPI_Function_On_0500 off:" + data); + }); + setTimeout(function() { + done(); + }, 1); + }); + let result = auth.cancel(); + console.log("JSAPI_Function_On_0500 auth.cancel:" + result); + console.log("JSAPI_Function_On_0500 end"); + }) +}) \ No newline at end of file diff --git a/useriam/face_auth/js_api_test/function_test/userauth/signature/openharmony_sx.p7b b/useriam/face_auth/js_api_test/function_test/userauth/signature/openharmony_sx.p7b new file mode 100644 index 0000000000000000000000000000000000000000..9be1e98fa4c0c28ca997ed660112fa16b194f0f5 Binary files /dev/null and b/useriam/face_auth/js_api_test/function_test/userauth/signature/openharmony_sx.p7b differ diff --git a/useriam/face_auth/js_api_test/performance_test/performance/BUILD.gn b/useriam/face_auth/js_api_test/performance_test/performance/BUILD.gn new file mode 100644 index 0000000000000000000000000000000000000000..d74c603fc7d0adea48ec2645bfc7242f36977dc3 --- /dev/null +++ b/useriam/face_auth/js_api_test/performance_test/performance/BUILD.gn @@ -0,0 +1,31 @@ +# Copyright (c) 2021 Huawei Device Co., Ltd. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import("//test/xts/tools/build/suite.gni") + +ohos_js_hap_suite("ActsUserauthPerformanceTest") { + hap_profile = "./entry/src/main/config.json" + deps = [ + ":hjs_demo_js_assets", + ":hjs_demo_resources", + ] + certificate_profile = "./signature/openharmony_sx.p7b" + hap_name = "ActsUserauthPerformanceTest" +} +ohos_js_assets("hjs_demo_js_assets") { + source_dir = "./entry/src/main/js/default" +} +ohos_resources("hjs_demo_resources") { + sources = [ "./entry/src/main/js/resources" ] + hap_profile = "./entry/src/main/config.json" +} diff --git a/useriam/face_auth/js_api_test/performance_test/performance/Test.json b/useriam/face_auth/js_api_test/performance_test/performance/Test.json new file mode 100644 index 0000000000000000000000000000000000000000..f44723249bc4454a721d780c39345ac3a4616be1 --- /dev/null +++ b/useriam/face_auth/js_api_test/performance_test/performance/Test.json @@ -0,0 +1,38 @@ +{ + "description": "Configuration for hjunit demo Tests", + "driver": { + "type": "JSUnitTest", + "test-timeout": "19000000", + "package": "com.example.myapplication102", + "shell-timeout": "19000000" + }, + "kits": [ + { + "test-file-name": [ + "ActsUserauthPerformanceTest.hap" + ], + "type": "AppInstallKit", + "cleanup-apps": true + }, + { + "type": "ShellKit", + "run-command": [ + "remount", + "mkdir /data/test" + ] + }, + { + "type": "PushKit", + "push": [ + "PerformanceTest.hap->/data/test/ActsUserauthPerformanceTest.hap" + ] + }, + { + "type": "ShellKit", + "run-command": [ + "chmod 644 /data/test/*.hap", + "chmod 777 -R data" + ] + } + ] +} diff --git a/useriam/face_auth/js_api_test/performance_test/performance/entry/src/main/config.json b/useriam/face_auth/js_api_test/performance_test/performance/entry/src/main/config.json new file mode 100644 index 0000000000000000000000000000000000000000..8da3f62d8d3462bf530b357075aca9b480bcaf3c --- /dev/null +++ b/useriam/face_auth/js_api_test/performance_test/performance/entry/src/main/config.json @@ -0,0 +1,66 @@ +{ + "app": { + "bundleName": "com.example.myapplication102", + "vendor": "example", + "version": { + "code": 1000000, + "name": "1.0.0" + }, + "apiVersion": { + "compatible": 4, + "target": 5, + "releaseType": "Beta1" + } + }, + "deviceConfig": {}, + "module": { + "package": "com.example.myapplication102", + "name": ".MyApplication", + "mainAbility": "com.example.myapplication102.MainAbility", + "deviceType": [ + "phone", + "tablet", + "tv", + "wearable" + ], + "distro": { + "deliveryWithInstall": true, + "moduleName": "entry", + "moduleType": "entry", + "installationFree": false + }, + "abilities": [ + { + "skills": [ + { + "entities": [ + "entity.system.home" + ], + "actions": [ + "action.system.home" + ] + } + ], + "name": "com.example.myapplication102.MainAbility", + "icon": "$media:icon", + "description": "$string:mainability_description", + "label": "$string:entry_MainAbility", + "type": "page", + "launchType": "standard", + "visible": true + } + ], + "js": [ + { + "pages": [ + "pages/index/index" + ], + "name": "default", + "window": { + "designWidth": 720, + "autoDesignWidth": true + } + } + ] + } +} diff --git a/useriam/face_auth/js_api_test/performance_test/performance/entry/src/main/js/default/app.js b/useriam/face_auth/js_api_test/performance_test/performance/entry/src/main/js/default/app.js new file mode 100644 index 0000000000000000000000000000000000000000..c158442201abb1888ae8fb1d57f150c5ec26c36b --- /dev/null +++ b/useriam/face_auth/js_api_test/performance_test/performance/entry/src/main/js/default/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('AceApplication onCreate'); + }, + onDestroy() { + console.info('AceApplication onDestroy'); + } +}; diff --git a/useriam/face_auth/js_api_test/performance_test/performance/entry/src/main/js/default/i18n/en-US.json b/useriam/face_auth/js_api_test/performance_test/performance/entry/src/main/js/default/i18n/en-US.json new file mode 100644 index 0000000000000000000000000000000000000000..e63c70d978a3a53be988388c87182f81785e170c --- /dev/null +++ b/useriam/face_auth/js_api_test/performance_test/performance/entry/src/main/js/default/i18n/en-US.json @@ -0,0 +1,6 @@ +{ + "strings": { + "hello": "Hello", + "world": "World" + } +} \ No newline at end of file diff --git a/useriam/face_auth/js_api_test/performance_test/performance/entry/src/main/js/default/i18n/zh-CN.json b/useriam/face_auth/js_api_test/performance_test/performance/entry/src/main/js/default/i18n/zh-CN.json new file mode 100644 index 0000000000000000000000000000000000000000..de6ee5748322f44942c1b003319d8e66c837675f --- /dev/null +++ b/useriam/face_auth/js_api_test/performance_test/performance/entry/src/main/js/default/i18n/zh-CN.json @@ -0,0 +1,6 @@ +{ + "strings": { + "hello": "您好", + "world": "世界" + } +} \ No newline at end of file diff --git a/useriam/face_auth/js_api_test/performance_test/performance/entry/src/main/js/default/pages/index/index.css b/useriam/face_auth/js_api_test/performance_test/performance/entry/src/main/js/default/pages/index/index.css new file mode 100644 index 0000000000000000000000000000000000000000..34c6e86ad849ca56027417110e1fe793df56bf99 --- /dev/null +++ b/useriam/face_auth/js_api_test/performance_test/performance/entry/src/main/js/default/pages/index/index.css @@ -0,0 +1,60 @@ +/* + * Copyright (c) 2021 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +.container { + flex-direction: column; + justify-content: center; + align-items: center; + width: 100%; + height: 100%; +} + +.title { + font-size: 40px; + color: #000000; + opacity: 0.9; +} + +@media screen and (device-type: tablet) and (orientation: landscape) { + .title { + font-size: 100px; + } +} + +@media screen and (device-type: wearable) { + .title { + font-size: 28px; + color: #FFFFFF; + } +} + +@media screen and (device-type: tv) { + .container { + background-image: url("/common/images/Wallpaper.png"); + background-size: cover; + background-repeat: no-repeat; + background-position: center; + } + + .title { + font-size: 100px; + color: #FFFFFF; + } +} + +@media screen and (device-type: phone) and (orientation: landscape) { + .title { + font-size: 60px; + } +} diff --git a/useriam/face_auth/js_api_test/performance_test/performance/entry/src/main/js/default/pages/index/index.hml b/useriam/face_auth/js_api_test/performance_test/performance/entry/src/main/js/default/pages/index/index.hml new file mode 100644 index 0000000000000000000000000000000000000000..02fda3ba9ed9c58c52987f813e16cebb6393a805 --- /dev/null +++ b/useriam/face_auth/js_api_test/performance_test/performance/entry/src/main/js/default/pages/index/index.hml @@ -0,0 +1,19 @@ +/* + * Copyright (c) 2021 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +
+ + {{ $t('strings.hello') }} {{ title }} + +
diff --git a/useriam/face_auth/js_api_test/performance_test/performance/entry/src/main/js/default/pages/index/index.js b/useriam/face_auth/js_api_test/performance_test/performance/entry/src/main/js/default/pages/index/index.js new file mode 100644 index 0000000000000000000000000000000000000000..738606c76e3b035e93587207a2c2f0ca15bdcabc --- /dev/null +++ b/useriam/face_auth/js_api_test/performance_test/performance/entry/src/main/js/default/pages/index/index.js @@ -0,0 +1,42 @@ +/* + * Copyright (c) 2021 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import {Core, ExpectExtend} from 'deccjsunit/index' +import fileio from '@ohos.fileio' + +export default { + data: { + title: "" + }, + onInit() { + this.title = this.$t('strings.world'); + }, + onShow() { + console.info('onShow start') + const core = Core.getInstance() + const expectExtend = new ExpectExtend({ + 'id': 'extend' + }) + core.addService('expect', expectExtend) + core.init() + const configService = core.getDefaultService('config') + this.timeout = 6100000; + configService.setConfig(this) + require('../../../test/ListTest') + core.execute() + console.info('onShow end') + }, + onReady() { + }, +} diff --git a/useriam/face_auth/js_api_test/performance_test/performance/entry/src/main/js/resources/base/element/string.json b/useriam/face_auth/js_api_test/performance_test/performance/entry/src/main/js/resources/base/element/string.json new file mode 100644 index 0000000000000000000000000000000000000000..0bae6bd40f7360d5d818998221b199d3ec0f69c0 --- /dev/null +++ b/useriam/face_auth/js_api_test/performance_test/performance/entry/src/main/js/resources/base/element/string.json @@ -0,0 +1,12 @@ +{ + "string": [ + { + "name": "entry_MainAbility", + "value": "entry_MainAbility" + }, + { + "name": "mainability_description", + "value": "JS_Empty Ability" + } + ] +} \ No newline at end of file diff --git a/useriam/face_auth/js_api_test/performance_test/performance/entry/src/main/js/resources/base/media/icon.png b/useriam/face_auth/js_api_test/performance_test/performance/entry/src/main/js/resources/base/media/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..ce307a8827bd75456441ceb57d530e4c8d45d36c Binary files /dev/null and b/useriam/face_auth/js_api_test/performance_test/performance/entry/src/main/js/resources/base/media/icon.png differ diff --git a/useriam/face_auth/js_api_test/performance_test/performance/entry/src/main/js/test/ListTest.js b/useriam/face_auth/js_api_test/performance_test/performance/entry/src/main/js/test/ListTest.js new file mode 100644 index 0000000000000000000000000000000000000000..fd379b6944ccf8b065175b98fe43d122df1f6ba6 --- /dev/null +++ b/useriam/face_auth/js_api_test/performance_test/performance/entry/src/main/js/test/ListTest.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. + */ +require('./getAuthenticator.js') +require('./execute.js') +require('./cancel.js') +require('./checkAvailability.js') +require('./on.js') +require('./off.js') diff --git a/useriam/face_auth/js_api_test/performance_test/performance/entry/src/main/js/test/cancel.js b/useriam/face_auth/js_api_test/performance_test/performance/entry/src/main/js/test/cancel.js new file mode 100644 index 0000000000000000000000000000000000000000..514f0b7043bd1c31f1d8679661327d6d1e48bafd --- /dev/null +++ b/useriam/face_auth/js_api_test/performance_test/performance/entry/src/main/js/test/cancel.js @@ -0,0 +1,60 @@ +/* + * 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 userAuth from '@ohos.userIAM.userAuth' +import {describe, beforeAll, beforeEach, afterEach, afterAll, it, expect} from 'deccjsunit/index' + +/** + * performance case + */ +describe('userAuthPerformanceTest', function () { + beforeEach(function(){ + }) + afterEach(function(){ + }) + + /** + * @tc.name cancel performance + * @tc.number JSAPI_Performance_Cancel_0100 + * @tc.size MEDIUM + * @tc.type FUNC + * @tc.level Level2 + */ + it('JSAPI_Performance_Cancel_0100', 0, function (done) { + console.log("JSAPI_Performance_Cancel_0100 start"); + const auth = userAuth.getAuthenticator(); + let allTime = 0; + let count = 0; + function callback(){ + if(count<=1000){ + console.log("JSAPI_Performance_Cancel_0100 count"+ ++count); + auth.execute("FACE_ONLY", "S2").then(callback) + let startDate = new Date(); + auth.cancel() + let endDate = new Date(); + allTime += (endDate.getTime() - startDate.getTime()); + }else{ + console.log("JSAPI_Performance_Cancel_0100 performance allTime:" + allTime); + console.log("JSAPI_Performance_Cancel_0100 performance avg" + (allTime/1000)); + expect((allTime/1000) < 2).assertTrue(); + console.log("JSAPI_Performance_Cancel_0100 end"); + setTimeout(function() { + done(); + }, 1); + } + } + auth.execute("FACE_ONLY", "S2").then(callback) + auth.cancel() + }) +}) \ No newline at end of file diff --git a/useriam/face_auth/js_api_test/performance_test/performance/entry/src/main/js/test/checkAvailability.js b/useriam/face_auth/js_api_test/performance_test/performance/entry/src/main/js/test/checkAvailability.js new file mode 100644 index 0000000000000000000000000000000000000000..8fccc755b5e81dc9f5e201a8c4d645172d2fb08e --- /dev/null +++ b/useriam/face_auth/js_api_test/performance_test/performance/entry/src/main/js/test/checkAvailability.js @@ -0,0 +1,50 @@ +/* + * 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 userAuth from '@ohos.userIAM.userAuth' +import {describe, beforeAll, beforeEach, afterEach, afterAll, it, expect} from 'deccjsunit/index' + +/** + * performance case + */ +describe('userAuthPerformanceTest', function () { + beforeEach(function(){ + }) + afterEach(function(){ + }) + + /** + * @tc.name checkAvailability performance + * @tc.number JSAPI_Performance_CheckAvailability_0100 + * @tc.size MEDIUM + * @tc.type FUNC + * @tc.level Level2 + */ + it('JSAPI_Performance_CheckAvailability_0100', 0, function () { + console.log("JSAPI_Performance_CheckAvailability_0100 start"); + const auth = userAuth.getAuthenticator(); + let allTime = 0; + for(let i = 0;i<1000;i++){ + console.log("JSAPI_Performance_CheckAvailability_0100 count"+ i); + let startDate = new Date(); + auth.checkAvailability("FACE_ONLY", "S2") + let endDate = new Date(); + allTime += (endDate.getTime() - startDate.getTime()); + } + console.log("JSAPI_Performance_CheckAvailability_0100 performance allTime:" + allTime); + console.log("JSAPI_Performance_CheckAvailability_0100 performance avg" + (allTime/1000)); + expect((allTime/1000) < 2).assertTrue(); + console.log("JSAPI_Performance_CheckAvailability_0100 end"); + }) +}) \ No newline at end of file diff --git a/useriam/face_auth/js_api_test/performance_test/performance/entry/src/main/js/test/execute.js b/useriam/face_auth/js_api_test/performance_test/performance/entry/src/main/js/test/execute.js new file mode 100644 index 0000000000000000000000000000000000000000..1c1719fea2ac9dc99f61c3426bde3dbf2f335cc9 --- /dev/null +++ b/useriam/face_auth/js_api_test/performance_test/performance/entry/src/main/js/test/execute.js @@ -0,0 +1,91 @@ +/* + * 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 userAuth from '@ohos.userIAM.userAuth' +import {describe, beforeAll, beforeEach, afterEach, afterAll, it, expect} from 'deccjsunit/index' + +/** + * performance case + */ +describe('userAuthPerformanceTest', function () { + beforeEach(function(){ + }) + afterEach(function(){ + }) + + /** + * @tc.name execute_authentication_callback_performance + * @tc.number JSAPI_Performance_Execute_0100 + * @tc.size MEDIUM + * @tc.type FUNC + * @tc.level Level2 + */ + it('JSAPI_Performance_Execute_0100', 0, function (done) { + console.log("JSAPI_Performance_Execute_0100 start"); + const auth = userAuth.getAuthenticator(); + let allTime = 0; + let count = 0; + function callback(data){ + if(count<=1000){ + console.log("JSAPI_Performance_Execute_0100 count"+ ++count); + let startDate = new Date(); + auth.execute("FACE_ONLY", "S2", callback) + let endDate = new Date(); + allTime += (endDate.getTime() - startDate.getTime()); + }else{ + console.log("JSAPI_Performance_Execute_0100 performance allTime:" + allTime); + console.log("JSAPI_Performance_Execute_0100 performance avg" + (allTime/1000)); + expect((allTime/1000) < 2).assertTrue(); + console.log("JSAPI_Performance_Execute_0100 end"); + setTimeout(function() { + done(); + }, 1); + } + } + auth.execute("FACE_ONLY", "S2", callback) + }) + + /** + * @tc.name execute_authentication_promise_performance + * @tc.number JSAPI_Performance_Execute_0200 + * @tc.size MEDIUM + * @tc.type FUNC + * @tc.level Level2 + */ + it('JSAPI_Performance_Execute_0200', 0, function (done) { + console.log("JSAPI_Performance_Execute_0200 start"); + const auth = userAuth.getAuthenticator(); + let allTime = 0; + let count = 0; + function promise(data){ + console.log("JSAPI_Performance_Execute_0200 count"+ ++count); + if(count<=1000){ + console.log("JSAPI_Performance_Execute_0100 count"+ ++count); + let startDate = new Date(); + auth.execute("FACE_ONLY", "S2").then(promise) + let endDate = new Date(); + allTime += (endDate.getTime() - startDate.getTime()); + }else{ + console.log("JSAPI_Performance_Execute_0200 performance allTime:" + allTime); + console.log("JSAPI_Performance_Execute_0200 performance avg" + (allTime/1000)); + expect((allTime/1000) < 2).assertTrue(); + console.log("JSAPI_Performance_Execute_0200 end"); + setTimeout(function() { + done(); + }, 1); + } + } + auth.execute("FACE_ONLY", "S2", promise) + }) +}) \ No newline at end of file diff --git a/useriam/face_auth/js_api_test/performance_test/performance/entry/src/main/js/test/getAuthenticator.js b/useriam/face_auth/js_api_test/performance_test/performance/entry/src/main/js/test/getAuthenticator.js new file mode 100644 index 0000000000000000000000000000000000000000..9c568f833c3b1700b7eeb507e4d9676c25e7d67a --- /dev/null +++ b/useriam/face_auth/js_api_test/performance_test/performance/entry/src/main/js/test/getAuthenticator.js @@ -0,0 +1,54 @@ +/* + * 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 userAuth from '@ohos.userIAM.userAuth' +import {describe, beforeAll, beforeEach, afterEach, afterAll, it, expect} from 'deccjsunit/index' + +/** + * performance case + */ +describe('userAuthPerformanceTest', function () { + beforeEach(function(){ + }) + afterEach(function(){ + }) + + /** + * @tc.name getAuthenticator performance + * @tc.number JSAPI_Performance_GetAuthenticator_0100 + * @tc.size MEDIUM + * @tc.type FUNC + * @tc.level Level2 + */ + it('JSAPI_Performance_GetAuthenticator_0100', 0, function () { + console.log("JSAPI_Performance_GetAuthenticator_0100 start"); + let allTime = 0; + for (let i = 0; i < 1000; i++) { + let result = false; + let startDate = new Date(); + const auth = userAuth.getAuthenticator(); + if (auth !== null) { + result = true; + } + expect(result).assertTrue(); + let endDate = new Date(); + let diff = endDate.getTime() - startDate.getTime(); + allTime = allTime + diff; + } + console.log("JSAPI_Performance_GetAuthenticator_0100 performance all time " + allTime); + console.log("JSAPI_Performance_GetAuthenticator_0100 performance avg " + (allTime / 1000)); + expect((allTime / 1000) < 2).assertTrue(); + console.log("JSAPI_Performance_GetAuthenticator_0100 end"); + }) +}) \ No newline at end of file diff --git a/useriam/face_auth/js_api_test/performance_test/performance/entry/src/main/js/test/off.js b/useriam/face_auth/js_api_test/performance_test/performance/entry/src/main/js/test/off.js new file mode 100644 index 0000000000000000000000000000000000000000..fffd467b1000046c0da7f12640b021f4016f4553 --- /dev/null +++ b/useriam/face_auth/js_api_test/performance_test/performance/entry/src/main/js/test/off.js @@ -0,0 +1,51 @@ +/* + * 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 userAuth from '@ohos.userIAM.userAuth' +import {describe, beforeAll, beforeEach, afterEach, afterAll, it, expect} from 'deccjsunit/index' + +/** + * performance case + */ +describe('userAuthPerformanceTest', function () { + beforeEach(function(){ + }) + afterEach(function(){ + }) + + /** + * @tc.name off performance + * @tc.number JSAPI_Performance_Off_0100 + * @tc.size MEDIUM + * @tc.type FUNC + * @tc.level Level2 + */ + it('JSAPI_Performance_Off_0100', 0, function () { + console.log("JSAPI_Performance_Off_0100 start"); + const auth = userAuth.getAuthenticator(); + let allTime = 0; + for(let i = 0;i<1000;i++){ + console.log("JSAPI_Performance_Off_0100 count"+ i); + auth.on("tip" + i, function (data) {}) + let startDate = new Date(); + auth.off("tip" + i, function (data) {}) + let endDate = new Date(); + allTime += (endDate.getTime() - startDate.getTime()); + } + console.log("JSAPI_Performance_Off_0100 performance allTime:" + allTime); + console.log("JSAPI_Performance_Off_0100 performance avg" + (allTime/1000)); + expect((allTime/1000) < 2).assertTrue(); + console.log("JSAPI_Performance_Off_0100 end"); + }) +}) \ No newline at end of file diff --git a/useriam/face_auth/js_api_test/performance_test/performance/entry/src/main/js/test/on.js b/useriam/face_auth/js_api_test/performance_test/performance/entry/src/main/js/test/on.js new file mode 100644 index 0000000000000000000000000000000000000000..7424e804d829a0017daa56f01181ef17527f7366 --- /dev/null +++ b/useriam/face_auth/js_api_test/performance_test/performance/entry/src/main/js/test/on.js @@ -0,0 +1,51 @@ +/* + * 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 userAuth from '@ohos.userIAM.userAuth' +import {describe, beforeAll, beforeEach, afterEach, afterAll, it, expect} from 'deccjsunit/index' + +/** + * performance case + */ +describe('userAuthPerformanceTest', function () { + beforeEach(function(){ + }) + afterEach(function(){ + }) + + /** + * @tc.name on performance + * @tc.number JSAPI_Performance_On_0100 + * @tc.size MEDIUM + * @tc.type FUNC + * @tc.level Level2 + */ + it('JSAPI_Performance_On_0100', 0, function () { + console.log("JSAPI_Performance_On_0100 start"); + const auth = userAuth.getAuthenticator(); + let allTime = 0; + for(let i = 0;i<1000;i++){ + console.log("JSAPI_Performance_On_0100 count"+ i); + let startDate = new Date(); + auth.on("tip" + i, function (data) {}) + let endDate = new Date(); + auth.off("tip" + i, function (data) {}) + allTime += (endDate.getTime() - startDate.getTime()); + } + console.log("JSAPI_Performance_On_0100 performance allTime:" + allTime); + console.log("JSAPI_Performance_On_0100 performance avg" + (allTime/1000)); + expect((allTime/1000) < 2).assertTrue(); + console.log("JSAPI_Performance_On_0100 end"); + }) +}) \ No newline at end of file diff --git a/useriam/face_auth/js_api_test/performance_test/performance/signature/openharmony_sx.p7b b/useriam/face_auth/js_api_test/performance_test/performance/signature/openharmony_sx.p7b new file mode 100644 index 0000000000000000000000000000000000000000..9be1e98fa4c0c28ca997ed660112fa16b194f0f5 Binary files /dev/null and b/useriam/face_auth/js_api_test/performance_test/performance/signature/openharmony_sx.p7b differ