提交 cbb5309d 编写于 作者: J jiyong_sd

delete pressure testcase

Signed-off-by: Njiyong_sd <jiyong@huawei.com>
Change-Id: I70a1a3ecca8d02cc466b17a8b37b8d479d7605b1
上级 8c867866
...@@ -17,7 +17,6 @@ group("appaccount_hap") { ...@@ -17,7 +17,6 @@ group("appaccount_hap") {
testonly = true testonly = true
if (is_standard_system) { if (is_standard_system) {
deps = [ deps = [
"actsaccountpressure:ActsAccountPressure",
"actsaccounttest:ActsAccountTest", "actsaccounttest:ActsAccountTest",
"actsgetallaccounts:ActsGetAllAccountsTest", "actsgetallaccounts:ActsGetAllAccountsTest",
"actssetchecksyncenable:ActsSetCheckSyncEnableTest", "actssetchecksyncenable:ActsSetCheckSyncEnableTest",
......
# 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("ActsAccountPressure") {
hap_profile = "./entry/src/main/config.json"
deps = [
":hjs_demo_js_assets",
":hjs_demo_resources",
]
certificate_profile = "./signature/openharmony_sx.p7b"
hap_name = "ActsAccountPressure"
}
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"
}
{
"description": "Configuration for hjunit demo Tests",
"driver": {
"type": "JSUnitTest",
"test-timeout": "1500000",
"package": "com.example.actsaccountpressure",
"shell-timeout": "60000"
},
"kits": [
{
"test-file-name": [
"ActsAccountPressure.hap",
"ActsAccountSceneAppAccess.hap"
],
"type": "AppInstallKit",
"cleanup-apps": true
}
]
}
{
"app": {
"bundleName": "com.example.actsaccountpressure",
"vendor": "example",
"version": {
"code": 1,
"name": "1.0"
},
"apiVersion": {
"compatible": 4,
"target": 5,
"releaseType": "Beta1"
}
},
"deviceConfig": {},
"module": {
"package": "com.example.actsaccountpressure",
"name": ".MyApplication",
"deviceType": [
"phone"
],
"distro": {
"deliveryWithInstall": true,
"moduleName": "entry",
"moduleType": "entry"
},
"defPermissions": [
{
"availableScope": [],
"grantMode": "system_grant",
"name": "ohos.permission.GET_ACCOUNTS_PRIVILEGED"
},
{
"availableScope": [],
"grantMode": "system_grant",
"name": "ohos.permission.DISTRIBUTED_DATASYNC"
}
],
"reqPermissions": [
{
"name": "ohos.permission.GET_ACCOUNTS_PRIVILEGED",
"reason": "ceshi"
},
{
"name": "ohos.permission.DISTRIBUTED_DATASYNC",
"reason": "ceshi"
}
],
"abilities": [
{
"skills": [
{
"entities": [
"entity.system.home"
],
"actions": [
"action.system.home"
]
}
],
"name": "com.example.actsaccountpressure.MainAbility",
"icon": "$media:icon",
"description": "$string:mainability_description",
"label": "$string:app_name",
"type": "page",
"visible": true,
"launchType": "standard"
}
],
"js": [
{
"pages": [
"pages/index/index"
],
"name": "default",
"window": {
"designWidth": 720,
"autoDesignWidth": false
}
}
]
}
}
\ No newline at end of file
/*
* 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');
}
};
{
"strings": {
"hello": "Hello",
"world": "World"
}
}
\ No newline at end of file
{
"strings": {
"hello": "您好",
"world": "世界"
}
}
\ No newline at end of file
.container {
flex-direction: column;
justify-content: center;
align-items: center;
}
.title {
font-size: 100px;
}
<div class="container">
<text class="title">
{{title}}
</text>
</div>
/*
* 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 {Core, ExpectExtend} from 'deccjsunit/index'
const injectRef = Object.getPrototypeOf(global) || global
injectRef.regeneratorRuntime = require('@babel/runtime/regenerator')
export default {
data: {
title: "account pressure test"
},
onInit() {
this.title = "account pressure test";
},
onShow() {
console.info('onShow finish')
const core = Core.getInstance()
const expectExtend = new ExpectExtend({
'id': 'extend'
})
core.addService('expect', expectExtend)
core.init()
const configService = core.getDefaultService('config')
this.timeout = 180000;
configService.setConfig(this)
require('../../../test/List.test')
core.execute()
},
onReady() {
},
}
\ No newline at end of file
{
"string": [
{
"name": "app_name",
"value": "ActsAccountPressure"
},
{
"name": "mainability_description",
"value": "JS_Phone_Empty Feature Ability"
}
]
}
\ No newline at end of file
/*
* 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('./Pressure.test.js')
\ No newline at end of file
/*
* 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 account from '@ohos.account.appAccount'
import featureAbility from '@ohos.ability.featureability'
import {describe, beforeAll, beforeEach, afterEach, afterAll, it, expect} from 'deccjsunit/index'
const STRESSLEVEL = 100;
const TIMEOUT = 300;
const ACCOUNTLIMIT = 1000;
describe('ActsAccountPressure', function () {
beforeAll(async function (done) {
console.debug("====>startAbility start====");
await featureAbility.startAbility(
{
want:
{
deviceId: "",
bundleName: "com.example.actsaccountsceneappaccess",
abilityName: "com.example.actsaccountsceneappaccess.MainAbility",
action: "action1",
parameters:
{},
},
},
);
sleep(TIMEOUT);
setTimeout(done(), TIMEOUT);
});
function sleep(delay) {
var start = (new Date()).getTime();
while((new Date()).getTime() - start < delay) {
continue;
}
}
/*
* @tc.number : ActsAccountPressure_0100
* @tc.name : Stress test add and delete accounts
* @tc.desc : Stress test to add and delete accounts, and to determine the success of the addition and
* deletion by obtaining the specified application information
*/
it('ActsAccountPressure_0100', 0, async function (done) {
console.debug("====>ActsAccountPressure_0100 start====");
var appAccountManager = account.createAppAccountManager();
var selfBundle = "com.example.actsaccountpressure";
let count;
for (count = 0; count < STRESSLEVEL; count++) {
console.debug("====>addAccount time: " + count);
try{
await appAccountManager.addAccount("account_pressure_promise");
sleep(TIMEOUT);
}
catch(err){
console.error("====>addAccount fail err:" + JSON.stringify(err));
expect().assertFail();
done();
}
var data = await appAccountManager.getAllAccounts(selfBundle);
sleep(TIMEOUT);
console.debug("====>getAllAccounts time: " + count);
console.debug('====>getAllAccounts data: ' + JSON.stringify(data));
expect(typeof data).assertEqual('object');
expect(data[0].name).assertEqual("account_pressure_promise");
expect(data[0].owner).assertEqual(selfBundle);
expect(data.length).assertEqual(1);
console.debug("====>deleteAccount time: " + count);
try{
await appAccountManager.deleteAccount("account_pressure_promise");
sleep(TIMEOUT);
}
catch(err){
console.error("====>deleteAccount fail err:" + JSON.stringify(err));
expect().assertFail();
done();
}
var dataDel = await appAccountManager.getAllAccounts(selfBundle);
console.debug("====>getAllAccounts time: " + count);
console.debug('====>getAllAccounts dataDel: ' + JSON.stringify(dataDel));
expect(typeof data).assertEqual('object');
expect(dataDel.length).assertEqual(0);
if(data.length != 1 || dataDel.length != 0){
break;
}
sleep(TIMEOUT);
}
console.debug("====>the number of times to complete the stress test is: " + count);
console.debug("====>ActsAccountPressure_0100 end====");
done();
});
/*
* @tc.number : ActsAccountPressure_0200
* @tc.name : Stress test add and delete accounts
* @tc.desc : Stress test callback form add and delete accounts
*/
it('ActsAccountPressure_0200', 0, async function (done) {
console.debug("====>ActsAccountPressure_0200 start====");
var appAccountManager = account.createAppAccountManager();
console.debug("====>creat finish====");
let flag = true;
let count = 0;
let STRESSNUM;
if(STRESSLEVEL > ACCOUNTLIMIT){
STRESSNUM = ACCOUNTLIMIT;
}else{
STRESSNUM = STRESSLEVEL;
}
for (let i = 0; i < STRESSNUM; i++) {
let accountName = "account_pressure_callback" + i;
sleep(TIMEOUT);
appAccountManager.addAccount(accountName, (err)=>{
console.debug('====>addAccount name: ' + accountName);
expect(err.code).assertEqual(0);
if(err.code != 0){
console.error("====>addAccount fail err:" + JSON.stringify(err));
expect().assertFail();
flag = false;
done();
}
sleep(TIMEOUT);
appAccountManager.deleteAccount(accountName, (err)=>{
console.debug('====>deleteAccount name: ' + accountName);
expect(err.code).assertEqual(0);
if(err.code != 0){
console.error("====>deleteAccount fail err:" + JSON.stringify(err));
console.error('====>call function level is: ' + count);
expect().assertFail();
flag = false;
done();
}
if (count == STRESSLEVEL - 1) {
count++;
console.debug("====>the number of times to complete the stress test is: " + count);
console.debug("====>ActsAccountPressure_0200 end====");
done();
}
count++;
})
});
if (!flag) {
done();
break;
}
}
});
/*
* @tc.number : ActsAccountPressure_0300
* @tc.name : Stress test add and delete accounts
* @tc.desc : Stress testing a large number of adding accounts together and deleting accounts together
*/
it('ActsAccountPressure_0300', 0, async function (done) {
console.debug("====>ActsAccountPressure_0300 start====");
var appAccountManager = account.createAppAccountManager();
let count;
let STRESSNUM;
if(STRESSLEVEL > ACCOUNTLIMIT){
STRESSNUM = ACCOUNTLIMIT;
}else{
STRESSNUM = STRESSLEVEL;
}
console.debug("====>addAccount start====");
for (count = 0; count < STRESSNUM; count++) {
let accountName = "account_pressure_limit" + count;
console.debug('====>addAccount name: ' + accountName);
try{
await appAccountManager.addAccount(accountName);
sleep(TIMEOUT);
}
catch(err){
console.error("====>addAccount fail err:" + JSON.stringify(err));
expect().assertFail();
done();
}
}
if(STRESSNUM == ACCOUNTLIMIT){
try{
await appAccountManager.addAccount("account_name_limit");
console.debug("====>the number of added accounts exceeds the limit====");
expect().assertFail();
done();
}
catch(err){
console.debug("====>add Account that exceed the limit err:" + JSON.stringify(err));
expect(err.code != 0).assertEqual(true);
console.debug("====>deleteAccount start====");
for (count = 0; count < STRESSNUM; count++) {
let accountName = "account_pressure_limit" + count;
console.debug('====>deleteAccount name: ' + accountName);
try{
await appAccountManager.deleteAccount(accountName);
sleep(TIMEOUT);
}
catch(err){
console.error("====>deleteAccount fail err:" + JSON.stringify(err));
expect().assertFail();
done();
}
}
console.debug("====>the number of times to complete the stress test is: " + count)
console.debug("====>ActsAccountPressure_0300 end====");
done();
}
}else{
console.debug("====>deleteAccount start====");
for (count = 0; count < STRESSNUM; count++) {
let accountName = "account_pressure_limit" + count;
console.debug('====>deleteAccount name: ' + accountName);
try{
await appAccountManager.deleteAccount(accountName);
sleep(TIMEOUT);
}
catch(err){
console.error("====>deleteAccount fail err:" + JSON.stringify(err));
expect().assertFail();
done();
}
}
console.debug("====>the number of times to complete the stress test is: " + count)
console.debug("====>ActsAccountPressure_0300 end====");
done();
}
});
/*
* @tc.number : ActsAccountPressure_0400
* @tc.name : Stress test enableAppAccess and disableAppAccess
* @tc.desc : Stress test authorize the account to the application and de-authorize the account to the
* application
*/
it('ActsAccountPressure_0400', 0, async function (done) {
console.debug("====>ActsAccountPressure_0400 start====");
var appAccountManager = account.createAppAccountManager();
var enableBundle = "com.example.actsaccountsceneappaccess";
let count;
console.debug("====>addAccount 0400 start====");
try{
await appAccountManager.addAccount("account_pressure_enable");
sleep(TIMEOUT);
}
catch(err){
console.error("====>addAccount fail err:" + JSON.stringify(err));
expect().assertFail();
done();
}
for (count = 0; count < STRESSLEVEL; count++) {
console.debug("====>enableAppAccess time: " + count);
try{
await appAccountManager.enableAppAccess("account_pressure_enable", enableBundle);
sleep(TIMEOUT);
}
catch(err){
console.error("====>enableAppAccess 0400 err:" + JSON.stringify(err));
expect().assertFail();
done();
}
console.debug("====>disableAppAccess time: " + count);
try{
await appAccountManager.disableAppAccess("account_pressure_enable", enableBundle);
sleep(TIMEOUT);
}
catch(err){
console.error("====>disableAppAccess 0400 err:" + JSON.stringify(err));
expect().assertFail();
done();
}
}
console.debug("====>deleteAccount 0400 start====");
try{
await appAccountManager.deleteAccount("account_pressure_enable");
sleep(TIMEOUT);
}
catch(err){
console.error("====>deleteAccount fail err:" + JSON.stringify(err));
expect().assertFail();
done();
}
console.debug("====>the number of times to complete the stress test is: " + count)
console.debug("====>ActsAccountPressure_0400 end====");
done();
});
/*
* @tc.number : ActsAccountPressure_0500
* @tc.name : Stress test setAssociatedData and getAssociatedData
* @tc.desc : Stress test setting associated data and obtaining associated data
*/
it('ActsAccountPressure_0500', 0, async function (done) {
console.debug("====>ActsAccountPressure_0500 start====");
var appAccountManager = account.createAppAccountManager();
console.debug("====>creat finish====");
let count;
let associateKey = "";
let associateValue = "";
console.debug("====>add account 0500 start====");
try{
await appAccountManager.addAccount("account_pressure_associate");
sleep(TIMEOUT);
}
catch(err){
console.error("====>add Account ActsAccountPressure_0500 err:" + JSON.stringify(err));
expect().asserFail();
done();
}
for (count = 0; count < STRESSLEVEL; count++) {
console.debug("====>setAssociatedData time: " + count);
associateKey = "key_pre" + count;
associateValue = "value_pressure" + count;
try{
await appAccountManager.setAssociatedData("account_pressure_associate", associateKey, associateValue);
sleep(TIMEOUT);
}
catch(err){
console.error("====>setAssociatedData ActsAccountPressure_0500 err:" + JSON.stringify(err));
expect().asserFail();
done();
}
console.debug("====>getAssociatedData time: " + count);
try{
var data = await appAccountManager.getAssociatedData("account_pressure_associate", associateKey);
sleep(TIMEOUT);
}
catch(err){
console.error("====>getAssociatedData ActsAccountPressure_0500 err:" + JSON.stringify(err));
expect().asserFail();
done();
}
console.debug("====>getAssociatedData data:" + JSON.stringify(data));
expect(data).assertEqual(associateValue);
}
console.debug("====>deleteAccount 0500 start====");
try{
await appAccountManager.deleteAccount("account_pressure_associate");
sleep(TIMEOUT);
}
catch(err){
console.error("====>delete account 0500 fail err:" + JSON.stringify(err));
expect().assertFail();
done();
}
console.debug("====>the number of times to complete the stress test is: " + count)
console.debug("====>ActsAccountPressure_0500 end====");
done();
});
/*
* @tc.number : ActsAccountPressure_0600
* @tc.name : Stress test setAccountExtraInfo and getAccountExtraInfo
* @tc.desc : Stress test setting additional information and obtaining additional information
*/
it('ActsAccountPressure_0600', 0, async function (done) {
console.debug("====>ActsAccountPressure_0600 start====");
var appAccountManager = account.createAppAccountManager();
console.debug("====>creat finish====");
let count;
let extraInfo = "";
console.debug("====>add account 0600 start====");
try{
await appAccountManager.addAccount("account_pressure_extrainfo");
sleep(TIMEOUT);
}
catch(err){
console.error("====>addAccount 0600 err:" + JSON.stringify(err));
expect().assertFail();
done();
}
for (count = 0; count < STRESSLEVEL; count++) {
console.debug("====>setAccountExtraInfo time: " + count);
extraInfo = "pressure_extra" + count;
try{
await appAccountManager.setAccountExtraInfo("account_pressure_extrainfo", extraInfo);
sleep(TIMEOUT);
}
catch(err){
console.error("====>setAccountExtraInfo 0600 err:" + JSON.stringify(err));
expect().assertFail();
done();
}
console.debug("====>getAccountExtraInfo time: " + count);
try{
var data = await appAccountManager.getAccountExtraInfo("account_pressure_extrainfo");
sleep(TIMEOUT);
}
catch(err){
console.error("====>getAccountExtraInfo 0600 err:" + JSON.stringify(err));
expect().assertFail();
done();
}
console.debug("====>getAccountExtraInfo data:" + JSON.stringify(data));
expect(data).assertEqual(extraInfo);
}
console.debug("====>delete account 0600 start====");
try{
await appAccountManager.deleteAccount("account_pressure_extrainfo");
sleep(TIMEOUT);
}
catch(err){
console.error("====>deleteAccount 0600 err:" + JSON.stringify(err));
expect().assertFail();
done();
}
console.debug("====>the number of times to complete the stress test is: " + count)
console.debug("====>ActsAccountPressure_0600 end====");
done();
});
/*
* @tc.number : ActsAccountPressure_0700
* @tc.name : Stress test setAccountCredential and getAccountCredential
* @tc.desc : Stress test setting credential and obtaining credential
*/
it('ActsAccountPressure_0700', 0, async function (done) {
console.debug("====>ActsAccountPressure_0700 start====");
var appAccountManager = account.createAppAccountManager();
console.debug("====>creat finish====");
let count;
let credentialType = "";
let credentialvalue = "";
console.debug("====>addAccount 0700 start====");
try{
await appAccountManager.addAccount("account_credential");
sleep(TIMEOUT);
}
catch(err){
console.error("addAccount 0700 err:" + JSON.stringify(err));
expect().assertFail();
done();
}
for (count = 0; count < STRESSLEVEL; count++) {
console.debug("====>setAccountCredential time: " + count);
credentialType = "pressure_credentialType" + count;
credentialvalue = "pressure_credential" + count;
try{
await appAccountManager.setAccountCredential("account_credential", credentialType, credentialvalue);
sleep(TIMEOUT);
}
catch(err){
console.error("setAccountCredential 0700 err:" + JSON.stringify(err));
expect().assertFail();
done();
}
console.debug("====>getAccountCredential time: " + count);
try{
var data = await appAccountManager.getAccountCredential("account_credential", credentialType);
sleep(TIMEOUT);
}
catch(err){
console.error("getAccountCredential 0700 err:" + JSON.stringify(err));
expect().assertFail();
done();
}
console.debug("====>getAccountCredential 0700 data:" + JSON.stringify(data));
expect(data).assertEqual(credentialvalue);
}
console.debug("====>delete account 0700 start====");
try{
await appAccountManager.deleteAccount("account_credential");
sleep(TIMEOUT);
}
catch(err){
console.error("deleteAccount 0700 err:" + JSON.stringify(err));
expect().assertFail();
done();
}
console.debug("====>the number of times to complete the stress test is: " + count)
console.debug("====>ActsAccountPressure_0700 end====");
done();
});
/*
* @tc.number : ActsAccountPressure_0800
* @tc.name : setOAuthToken getOAuthToken and clearOAuthToken
* @tc.desc : Stress test sets the token, obtains the token and then clears the token
*/
it('ActsAccountPressure_0800', 0, async function (done) {
console.debug("====>ActsAccountPressure_0800 start====");
var appAccountManager = account.createAppAccountManager();
console.debug("====>creat finish====");
let count;
let oauthToken = "";
console.debug("====>addAccount 0800 start====");
try{
await appAccountManager.addAccount("accountToken_pressure_token");
sleep(TIMEOUT);
}
catch(err){
console.error("addAccount 0800 err:" + JSON.stringify(err));
expect().assertFail();
done();
}
for (count = 0; count < STRESSLEVEL; count++) {
console.debug("====>setOAuthToken time: " + count);
oauthToken = "pressure_token" + count;
try{
await appAccountManager.setOAuthToken("accountToken_pressure_token", oauthToken);
sleep(TIMEOUT);
}
catch(err){
console.error("setOAuthToken 0800 err:" + JSON.stringify(err));
expect().assertFail();
done();
}
console.debug("====>getOAuthToken time: " + count);
try{
var data = await appAccountManager.getOAuthToken("accountToken_pressure_token");
sleep(TIMEOUT);
}
catch(err){
console.error("getOAuthToken 0800 err:" + JSON.stringify(err));
expect().assertFail();
done();
}
console.debug("====>getOAuthToken data: " + data);
expect(data).assertEqual(oauthToken);
console.debug("====>clearOAuthToken time: " + count);
try{
await appAccountManager.clearOAuthToken("accountToken_pressure_token");
sleep(TIMEOUT);
}
catch(err){
console.error("clearOAuthToken 0800 err:" + JSON.stringify(err));
expect().assertFail();
done();
}
}
console.debug("====>delete account 0800 start====");
try{
await appAccountManager.deleteAccount("accountToken_pressure_token");
sleep(TIMEOUT);
}
catch(err){
console.error("deleteAccount 0800 err:" + JSON.stringify(err));
expect().assertFail();
done();
}
console.debug("====>the number of times to complete the stress test is: " + count);
console.debug("====>ActsAccountPressure_0800 end====");
done();
});
/*
* @tc.number : ActsAccountPressure_0900
* @tc.name : Stress test setAppAccountSyncEnable and checkAppAccountSyncEnable
* @tc.desc : Stress test setting synchronization flag and obtaining synchronization flag
*/
it('ActsAccountPressure_0900', 0, async function (done) {
console.debug("====>ActsAccountPressure_0900 start====");
var appAccountManager = account.createAppAccountManager();
console.debug("====>creat finish====");
let count;
console.debug("====>add account 0900 start====");
try{
await appAccountManager.addAccount("account_pressure_syncenable");
}
catch(err){
console.error("====>add account 0900 fail err:" + JSON.stringify(err));
expect().assertFail();
done();
}
for (count = 0; count < STRESSLEVEL; count++) {
console.debug("====>setAppAccountSyncEnable time: " + count);
try{
await appAccountManager.setAppAccountSyncEnable("account_pressure_syncenable", true);
sleep(TIMEOUT);
}
catch(err){
console.error("====>setAppAccountSyncEnable 0900 fail err:" + JSON.stringify(err));
expect().assertFail();
done();
}
console.debug("====>checkAppAccountSyncEnable time: " + count);
try{
var data = await appAccountManager.checkAppAccountSyncEnable("account_pressure_syncenable");
sleep(TIMEOUT);
}
catch(err){
console.error("====>checkAppAccountSyncEnable 0900 fail err:" + JSON.stringify(err));
expect().assertFail();
done();
}
console.debug("====>checkAppAccountSyncEnable data:" + data);
expect(data).assertEqual(true);
}
console.debug("====>delete account 0900 start====");
try{
await appAccountManager.deleteAccount("account_pressure_syncenable");
}
catch(err){
console.error("====>delete account 0900 fail err:" + JSON.stringify(err));
expect().assertFail();
done();
}
console.debug("====>the number of times to complete the stress test is: " + count);
console.debug("====>ActsAccountPressure_0900 end====");
done();
});
/*
* @tc.number : ActsAccountPressure_1000
* @tc.name : Stress test getAllAccounts
* @tc.desc : Stress test to obtain specified application information
*/
it('ActsAccountPressure_1000', 0, async function (done) {
console.debug("====>ActsAccountPressure_1000 start====");
var appAccountManager = account.createAppAccountManager();
console.debug("====>creat finish====");
let count;
var specifyBundle = "com.example.actsaccountsceneappaccess";
for (count = 0; count < STRESSLEVEL; count++) {
console.debug("====>getAllAccounts time: " + count);
try{
var data = await appAccountManager.getAllAccounts(specifyBundle);
sleep(TIMEOUT);
}
catch(err){
console.error("====>getAllAccounts 1000 fail err:" + JSON.stringify(err));
expect().assertFail();
done();
}
console.debug("====>getAllAccounts data: " + JSON.stringify(data));
expect(data[0].name).assertEqual("account_name_scene_first");
expect(data[0].owner).assertEqual(specifyBundle);
expect(data[1].name).assertEqual("account_name_scene_second");
expect(data[1].owner).assertEqual(specifyBundle);
}
console.debug("====>the number of times to complete the stress test is: " + count);
console.debug("====>ActsAccountPressure_1000 end====");
done();
});
/*
* @tc.number : ActsAccountPressure_1100
* @tc.name : Stress test getAllAccessibleAccounts
* @tc.desc : Stress test to obtain the application account information and authorized account information
*/
it('ActsAccountPressure_1100', 0, async function (done) {
console.debug("====>ActsAccountPressure_1100 start====");
var appAccountManager = account.createAppAccountManager();
console.debug("====>creat finish====");
let count;
var selfBundle = "com.example.actsaccountpressure";
var specifyBundle = "com.example.actsaccountsceneappaccess";
console.debug("====>add account 1100 start====");
try{
await appAccountManager.addAccount("account_accessible_first");
await appAccountManager.addAccount("account_accessible_second");
}
catch(err){
console.error("====>add account 1100 fail err:" + JSON.stringify(err));
expect().assertFail();
done();
}
for (count = 0; count < STRESSLEVEL; count++) {
console.debug("====>getAllAccounts time: " + count);
try{
var data = await appAccountManager.getAllAccessibleAccounts();
sleep(TIMEOUT);
}
catch(err){
console.error("====>getAllAccounts 1100 fail err:" + JSON.stringify(err));
expect().assertFail();
done();
}
console.debug("====>getAllAccounts data: " + JSON.stringify(data));
console.debug("====>getAllAccounts data.length: " + data.length);
expect(data.length).assertEqual(4);
expect(data[0].name).assertEqual("account_name_scene_first");
expect(data[0].owner).assertEqual(specifyBundle);
expect(data[1].name).assertEqual("account_name_scene_second");
expect(data[1].owner).assertEqual(specifyBundle);
expect(data[2].name).assertEqual("account_accessible_first");
expect(data[2].owner).assertEqual(selfBundle);
expect(data[3].name).assertEqual("account_accessible_second");
expect(data[3].owner).assertEqual(selfBundle);
}
console.debug("====>delete account 1100 start====");
try{
await appAccountManager.deleteAccount("account_accessible_first");
await appAccountManager.deleteAccount("account_accessible_second");
}
catch(err){
console.error("====>delete account 1100 fail err:" + JSON.stringify(err));
expect().assertFail();
done();
}
console.debug("====>the number of times to complete the stress test is: " + count);
console.debug("====>ActsAccountPressure_1100 end====");
done();
});
/*
* @tc.number : ActsAccountPressure_1200
* @tc.name : Stress test on and off
* @tc.desc : Stress test receive account information changes
*/
it('ActsAccountPressure_1200', 0, async function (done) {
console.debug("====>ActsAccountPressure_1200 start====");
var appAccountManager = account.createAppAccountManager();
console.debug("====>creat appAccountManager finish");
console.debug("====>add account 1200 start");
let count;
var countSign = 0;
let changeExtra = "";
try{
await appAccountManager.addAccount("account_pressure_onoff");
}
catch(err){
console.error("====>add account 1200 fail err:" + JSON.stringify(err));
expect().assertFail();
done();
}
function changeOnCallback(data){
console.debug("====>receive change 1200 data:" + JSON.stringify(data));
expect(data[0].name).assertEqual("account_pressure_onoff");
expect(data[0].owner).assertEqual("com.example.actsaccountpressure");
countSign++;
}
console.debug("====>on ActsAccountPressure_1200 start");
try{
appAccountManager.on('change', ["com.example.actsaccountpressure"], changeOnCallback);
}
catch(err){
console.error("====>on ActsAccountPressure_1200 err:" + JSON.stringify(err));
expect().assertFail();
done();
}
for (count = 0; count < STRESSLEVEL; count++) {
console.debug("====>change account information time: " + count);
changeExtra = "pressure_extra" + count;
try{
await appAccountManager.setAccountExtraInfo("account_pressure_onoff", changeExtra);
sleep(TIMEOUT);
}
catch(err){
console.error("====>setAccountExtraInfo fail err:" + JSON.stringify(err));
expect().assertFail();
done();
}
}
console.debug("====>off 1200 start====");
appAccountManager.off('change', async function (){
console.debug("====>off enter====");
console.debug("====>countSign is: " + countSign);
expect(countSign).assertEqual(STRESSLEVEL);
console.debug("====>delete account====");
try{
await appAccountManager.deleteAccount("account_pressure_onoff");
}
catch(err){
console.error("====>delete account 1200 fail err:" + JSON.stringify(err));
expect().assertFail();
done();
}
console.debug("====>the number of times to complete the stress test is: " + count);
console.debug("====>ActsAccountPressure_1200 end====");
done();
});
});
})
\ No newline at end of file
...@@ -18,7 +18,6 @@ group("useriam") { ...@@ -18,7 +18,6 @@ group("useriam") {
if (is_standard_system) { if (is_standard_system) {
deps = [ deps = [
"face_auth/js_api_test/function_test/userauth:ActsUserauthTest", "face_auth/js_api_test/function_test/userauth:ActsUserauthTest",
"face_auth/js_api_test/performance_test/performance:ActsUserauthPerformanceTest",
] ]
} }
} }
# 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"
}
{
"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": [
"ActsUserauthPerformanceTest.hap->/data/test/ActsUserauthPerformanceTest.hap"
]
},
{
"type": "ShellKit",
"run-command": [
"chmod 644 /data/test/*.hap",
"chmod 777 -R data"
]
}
]
}
{
"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
}
}
]
}
}
/*
* 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');
}
};
{
"strings": {
"hello": "Hello",
"world": "World"
}
}
\ No newline at end of file
{
"strings": {
"hello": "您好",
"world": "世界"
}
}
\ No newline at end of file
/*
* 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;
}
}
/*
* 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.
*/
<div class="container">
<text class="title">
{{ $t('strings.hello') }} {{ title }}
</text>
</div>
/*
* 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() {
},
}
{
"string": [
{
"name": "entry_MainAbility",
"value": "entry_MainAbility"
},
{
"name": "mainability_description",
"value": "JS_Empty Ability"
}
]
}
\ No newline at end of file
/*
* 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')
/*
* 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
/*
* 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
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册