未验证 提交 35486bfb 编写于 作者: O openharmony_ci 提交者: Gitee

!2926 delete moduleUsageRecord

Merge pull request !2926 from SoftSquirrel/master
......@@ -9,7 +9,7 @@
# 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.
# limitations under the License.
import("//test/xts/tools/build/suite.gni")
......@@ -22,9 +22,7 @@ group("bundlemanager") {
"actsbmshapmoduletest:ActsBmsHapModuleTest",
"actsbmsjstest:ActsBmsJsTest",
"actsbmsjsunpermissiontest:ActsBmsJsUnPermissionTest",
"actsbmskittest:ActsBmsKitTest",
"actsbmsmetadatatest:ActsBmsMetaDataTest",
"actsbmsmoduleusagerecordtest:ActsBmsModuleUsageRecordTest",
"actsbundlemanageretstest:ActsBundleManagerEtsTest",
"actsbundlemanagertest:ActsBundleManagerTest",
"actsbundlemanageruninstall:ActsBundleManagerUninstallTest",
......
# 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("ActsBmsKitTest") {
hap_profile = "./entry/src/main/config.json"
deps = [
":hjs_demo_js_assets",
":hjs_demo_resources",
]
certificate_profile = "./signature/openharmony_sx.p7b"
hap_name = "ActsBmsKitTest"
}
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": "120000",
"package": "com.example.actsbmskittest",
"shell-timeout": "60000"
},
"kits": [
{
"test-file-name": [
"bmsThirdBundleTest1.hap",
"ActsBmsKitTest.hap"
],
"type": "AppInstallKit",
"cleanup-apps": true
}
]
}
{
"app": {
"bundleName": "com.example.actsbmskittest",
"vendor": "example",
"version": {
"code": 1,
"name": "1.0"
},
"apiVersion": {
"compatible": 4,
"target": 5,
"releaseType": "Beta1"
}
},
"deviceConfig": {},
"module": {
"package": "com.example.actsbmskittest",
"name": ".MyApplication",
"deviceType": [
"phone"
],
"distro": {
"deliveryWithInstall": true,
"moduleName": "entry",
"moduleType": "entry"
},
"abilities": [
{
"skills": [
{
"entities": [
"entity.system.home",
"flag.home.intent.from.system"
],
"actions": [
"action.system.home"
]
}
],
"name": "com.example.actsbmskittest.MainAbility",
"icon": "$media:icon",
"description": "$string:mainability_description",
"label": "$string:app_name",
"type": "page",
"launchType": "standard",
"visible": true
}
],
"js": [
{
"pages": [
"pages/index/index"
],
"name": "default",
"window": {
"designWidth": 720,
"autoDesignWidth": false
}
}
],
"defPermissions": [
{
"name": "com.permission.CAMERA",
"grantMode": "user_grant",
"availableScope": ["signature"]
}
],
"reqPermissions": [
{
"name": "ohos.permission.INSTALL_BUNDLE",
"reason": "need use ohos.permission.INSTALL_BUNDLE"
},
{
"name":"ohos.permission.GET_BUNDLE_INFO_PRIVILEGED",
"reason":"need use ohos.permission.GET_BUNDLE_INFO_PRIVILEGED"
},
{
"name":"ohos.permission.GET_BUNDLE_INFO",
"reason":"need use ohos.permission.GET_BUNDLE_INFO"
},
{
"name":"ohos.permission.CHANGE_ABILITY_ENABLED_STATE",
"reason":"need use ohos.permission.CHANGE_ABILITY_ENABLED_STATE"
},
{
"name":"ohos.permission.REMOVE_CACHE_FILES",
"reason":"need use ohos.permission.REMOVE_CACHE_FILES"
},
{
"name":"ohos.permission.LISTEN_BUNDLE_CHANGE",
"reason":"need use ohos.permission.LISTEN_BUNDLE_CHANGE"
},
{
"name": "com.permission.CAMERA",
"reason": "Need open camera",
"usedScene": {
"ability": [
"com.example.actsbmscheckpermissiontest.MainAbility"
],
"when": "always"
}
}
]
}
}
\ 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
/*
* Copyright (c) 2022 Huawei Device Co., Ltd.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
.container {
flex-direction: column;
justify-content: center;
align-items: center;
}
.title {
font-size: 100px;
}
<!--
Copyright (c) 2022 Huawei Device Co., Ltd.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<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 {Core, ExpectExtend} from 'deccjsunit/index'
const injectRef = Object.getPrototypeOf(global) || global
injectRef.regeneratorRuntime = require('@babel/runtime/regenerator')
export default {
data: {
title: 'Bms Stress Test'
},
onInit() {
this.title = 'Bms Stress Test';
},
onShow() {
console.info('onReady finish')
const core = Core.getInstance()
const expectExtend = new ExpectExtend({
'id': 'extend'
})
core.addService('expect', expectExtend)
core.init()
const configService = core.getDefaultService('config')
configService.setConfig(this)
require('../../../test/List.test')
core.execute()
},
onReady() {
},
onBackPress(){
}
}
\ No newline at end of file
{
"string": [
{
"name": "app_name",
"value": "actsbmskittest"
},
{
"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.
*/
import bundle from '@ohos.bundle'
import { describe, beforeAll, beforeEach, afterEach, afterAll, it, expect } from 'deccjsunit/index'
import featureAbility from '@ohos.ability.featureability'
import commonEvent from '@ohos.commonevent'
const STRESSLEVEL = 20;
const BUNDLE_NAME = 'com.example.actsbmskittest';
const PERMISSION_NAME = 'ohos.permission.GET_BUNDLE_INFO_PRIVILEGED';
const START_ABILITY_TIMEOUT = 3000;
let subscriberInfo_0100 = {
events: ['ACTS_Third1_Publish_CommonEvent'],
};
describe('ActsBmsKitTest', function () {
beforeAll(async (done) => {
let subscriber;
let id;
function subscribeCallBack(err, data) {
clearTimeout(id);
console.debug('=====subscribeCallBack=====' + data.event);
commonEvent.unsubscribe(subscriber, unSubscribeCallback);
console.debug('=====subscribeCallBack end=====');
done();
}
commonEvent.createSubscriber(subscriberInfo_0100).then((data) => {
console.debug('====>Create Subscriber====>');
subscriber = data;
commonEvent.subscribe(subscriber, subscribeCallBack);
})
function unSubscribeCallback(err, data) {
console.debug('====>UnSubscribe CallBack====>');
done();
}
function timeout() {
console.debug('=====timeout======');
commonEvent.unsubscribe(subscriber, unSubscribeCallback)
done();
}
id = setTimeout(timeout, START_ABILITY_TIMEOUT);
console.debug('=======start ability========')
await featureAbility.startAbility(
{
want:
{
bundleName: 'com.example.third1',
abilityName: 'com.example.third1.MainAbility'
}
}
)
})
/*
* @tc.number: ActsBmsKit_getModuleUsageRecordTest_0100
* @tc.name: Pressure test interface getModuleUsageRecord(int maxNum) by promise;
* @tc.desc: When the number of starts of ability is less than maxNum, call interface getModuleUsageRecord
*/
it('ActsBmsKit_getModuleUsageRecordTest_0100', 0, async function (done) {
console.debug('=====================ActsBmsKit_getModuleUsageRecordTest_0100==================');
let bundleName = 'com.example.third1';
for (let count = 0; count < STRESSLEVEL; count++) {
console.debug("===========STRESSLEVEL===============" + count)
let records = await bundle.getModuleUsageRecords(50);
checkModuleUsageRecord(records, 'ActsBmsKit_getModuleUsageRecordTest_0100');
let result = checkIsExist(records, bundleName);
expect(result).assertEqual(true);
if (!result) {
break;
}
}
done();
})
/*
* @tc.number: ActsBmsKit_getModuleUsageRecordTest_0200
* @tc.name: Pressure test interface getModuleUsageRecord(int maxNum) by callback;
* @tc.desc: When the number of starts of ability is less than maxNum, call interface getModuleUsageRecord
*/
it('ActsBmsKit_getModuleUsageRecordTest_0200', 0, async function (done) {
console.debug('=====================ActsBmsKit_getModuleUsageRecordTest_0200==================');
let bundleName = 'com.example.third1';
let count = 0;
let flag = true;
for (let i = 0; i < STRESSLEVEL; i++) {
bundle.getModuleUsageRecords(50, (err, data) => {
expect(err.code).assertEqual(0);
checkModuleUsageRecord(data, 'ActsBmsKit_getModuleUsageRecordTest_0200');
let result = checkIsExist(data, bundleName);
expect(result).assertEqual(true);
if (count == STRESSLEVEL - 1) {
done();
} else if (err.code) {
console.log('call function level is: ' + count);
expect().assertFail();
flag = false;
}
count++;
});
if (!flag) {
done();
break;
}
}
})
function checkModuleUsageRecord(data, caseName) {
console.debug('======================check ModuleUsageRecord begin==========================');
console.debug(caseName + ' ==========record length is ========== ' + data.length);
expect(data.length).assertLarger(0);
for (let i = 0, length = data.length; i < length; i++) {
console.debug('=======All Info========' + JSON.stringify(data[i]));
console.debug('=============bundleName is=========' + JSON.stringify(data[i].bundleName));
expect(data[i].bundleName.length).assertLarger(0);
console.debug('=============appLabelId==============' + JSON.stringify(data[i].appLabelId));
expect(data[i].appLabelId >= 0).assertTrue();
expect(data[i].labelId >= 0).assertTrue();
expect(data[i].abilityLabelId >= 0).assertTrue();
expect(data[i].abilityDescriptionId >= 0).assertTrue();
expect(data[i].abilityIconId >= 0).assertTrue();
console.debug('=============name==============' + JSON.stringify(data[i].name));
expect(data[i].name.length).assertLarger(0);
console.debug('=============labelId==============' + JSON.stringify(data[i].labelId));
console.debug('=============descriptionId==============' + JSON.stringify(data[i].descriptionId));
expect(data[i].descriptionId).assertEqual(0);
console.debug('=============abilityName==============' + JSON.stringify(data[i].abilityName));
expect(data[i].abilityName.length).assertLarger(0);
console.debug('=============abilityLabelId==============' + JSON.stringify(data[i].abilityLabelId));
console.debug('===========abilityDescriptionId===========' + JSON.stringify(data[i].abilityDescriptionId));
console.debug('=============abilityIconId==============' + JSON.stringify(data[i].abilityIconId));
console.debug('=============launchedCount==============' + JSON.stringify(data[i].launchedCount));
expect(data[i].launchedCount).assertLarger(0);
console.debug('=============lastLaunchTime==============' + JSON.stringify(data[i].lastLaunchTime));
expect(data[i].lastLaunchTime).assertLarger(0);
console.debug('=============isRemoved==============' + JSON.stringify(data[i].isRemoved));
expect(data[i].isRemoved).assertEqual(false);
if (data[i].bundleName == 'com.example.third1') {
expect(data[i].installationFreeSupported).assertFalse();
}
}
}
function checkIsExist(data, bundleName) {
let bundles = new Map();
for (let i = 0, length = data.length; i < length; i++) {
console.debug('=============bundleName is=========' + JSON.stringify(data[i].bundleName));
bundles.set(data[i].bundleName, data[i]);
}
if (bundles.has(bundleName)) {
console.debug(bundleName + ' is exist');
return true;
}
else {
console.debug(bundleName + ' is not exist');
return false;
}
}
function checkShortcutInfo(dataInfo, name) {
console.info('=======Shortcut Info========' + JSON.stringify(dataInfo))
console.info('=============Shortcutid=========' + dataInfo.id);
expect(typeof dataInfo.id).assertEqual('string');
expect(dataInfo.id).assertEqual('id.' + name);
console.info('=============icon==============' + JSON.stringify(dataInfo.icon));
expect(typeof dataInfo.disableMessage).assertEqual('string');
expect(typeof dataInfo.isStatic).assertEqual('boolean');
expect(typeof dataInfo.isHomeShortcut).assertEqual('boolean');
expect(typeof dataInfo.isEnabled).assertEqual('boolean');
expect(typeof dataInfo.hostAbility).assertEqual('string');
console.info('=============label==============' + JSON.stringify(dataInfo.label));
expect(typeof dataInfo.wants).assertEqual('object');
if (typeof dataInfo.wants != 'undefined' && Object.keys(dataInfo.wants).length) {
expect(dataInfo.wants.length).assertLarger(0);
for (let j = 0; j < dataInfo.wants.length; j++) {
console.info('========targetClass=========' + JSON.stringify(dataInfo.wants[j].targetClass));
expect(dataInfo.wants[j].targetClass).assertEqual('com.example.' + name + '.MainAbility');
console.info('========targetBundle=========' + JSON.stringify(dataInfo.wants[j].targetBundle));
expect(dataInfo.wants[j].targetBundle).assertEqual('com.example.' + name);
}
}
}
function checkShortcutIsExist(dataInfo, shortcutId, testName) {
let info = new Map();
for (let i = 0, len = dataInfo.length; i < len; i++) {
expect(typeof dataInfo[i]).assertEqual('object');
info.set(dataInfo[i].id, dataInfo[i]);
}
expect(info.has(shortcutId)).assertTrue();
if (!info.has(shortcutId)) {
return false;
} else {
checkShortcutInfo(info.get(shortcutId), testName);
return true;
}
}
})
\ 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('./ActsBmsKitTest.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("//test/xts/tools/build/suite.gni")
ohos_js_hap_suite("ActsBmsModuleUsageRecordTest") {
hap_profile = "./entry/src/main/config.json"
deps = [
":hjs_demo_js_assets",
":hjs_demo_resources",
]
certificate_profile = "./signature/openharmony_sx.p7b"
hap_name = "ActsBmsModuleUsageRecordTest"
}
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": "120000",
"package": "com.example.actsbmsmoduleusagerecordtest",
"shell-timeout": "60000"
},
"kits": [
{
"test-file-name": [
"ActsBmsModuleUsageRecordTest.hap"
],
"type": "AppInstallKit",
"cleanup-apps": true
},
{
"type": "ShellKit",
"run-command": [
"remount",
"mkdir /data/test"
]
},
{
"type": "PushKit",
"push": [
"bmsThirdBundleTest1.hap->/data/test/bmsThirdBundleTest1.hap"
]
},
{
"type": "ShellKit",
"run-command": [
"chmod 644 /data/test/*.hap"
]
}
]
}
{
"app": {
"bundleName": "com.example.actsbmsmoduleusagerecordtest",
"vendor": "example",
"version": {
"code": 1,
"name": "1.0"
},
"apiVersion": {
"compatible": 4,
"target": 5,
"releaseType": "Beta1"
}
},
"deviceConfig": {},
"module": {
"package": "com.example.actsbmsmoduleusagerecordtest",
"name": ".MyApplication",
"deviceType": [
"phone"
],
"distro": {
"deliveryWithInstall": true,
"moduleName": "entry",
"moduleType": "entry"
},
"abilities": [
{
"skills": [
{
"entities": [
"entity.system.home"
],
"actions": [
"action.system.home"
]
}
],
"name": "com.example.actsbmsmoduleusagerecordtest.MainAbility",
"icon": "$media:icon",
"description": "$string:mainability_description",
"label": "$string:app_name",
"visible": true,
"type": "page",
"launchType": "singleton"
}
],
"reqPermissions": [
{
"name": "ohos.permission.INSTALL_BUNDLE",
"reason": "need use ohos.permission.INSTALL_BUNDLE"
},
{
"name":"ohos.permission.GET_BUNDLE_INFO_PRIVILEGED",
"reason":"need use ohos.permission.GET_BUNDLE_INFO_PRIVILEGED"
},
{
"name":"ohos.permission.GET_BUNDLE_INFO",
"reason":"need use ohos.permission.GET_BUNDLE_INFO"
},
{
"name":"ohos.permission.CHANGE_ABILITY_ENABLED_STATE",
"reason":"need use ohos.permission.CHANGE_ABILITY_ENABLED_STATE"
},
{
"name":"ohos.permission.REMOVE_CACHE_FILES",
"reason":"need use ohos.permission.REMOVE_CACHE_FILES"
},
{
"name":"ohos.permission.LISTEN_BUNDLE_CHANGE",
"reason":"need use ohos.permission.LISTEN_BUNDLE_CHANGE"
},
{
"name":"ohos.permission.MANAGE_MISSIONS",
"reason":"need use ohos.permission.MANAGE_MISSIONS"
}
],
"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');
}
};
/*
* Copyright (c) 2022 Huawei Device Co., Ltd.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
.container {
flex-direction: column;
justify-content: center;
align-items: center;
}
.title {
font-size: 50px;
}
<!--
Copyright (c) 2022 Huawei Device Co., Ltd.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<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 {Core, ExpectExtend} from 'deccjsunit/index'
const injectRef = Object.getPrototypeOf(global) || global
injectRef.regeneratorRuntime = require('@babel/runtime/regenerator')
export default {
data: {
title: "Test ModuleUsageRecord",
testTime: 0
},
onInit() {
this.title = "Test ModuleUsageRecord";
},
onShow() {
console.info('onShow finish')
if (!this.testTime) {
console.info('test start')
const core = Core.getInstance()
const expectExtend = new ExpectExtend({
'id': 'extend'
})
core.addService('expect', expectExtend)
core.init()
const configService = core.getDefaultService('config')
this.timeout = 8000;
configService.setConfig(this)
require('../../../test/List.test')
core.execute()
}
this.testTime++;
},
onReady() {
}
}
\ No newline at end of file
{
"string": [
{
"name": "app_name",
"value": "actsbmsmoduleusagerecordtest"
},
{
"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.
*/
import bundle from '@ohos.bundle'
import { describe, beforeAll, beforeEach, afterEach, afterAll, it, expect } from 'deccjsunit/index'
import featureAbility from '@ohos.ability.featureability'
import commonEvent from '@ohos.commonevent'
import missionmanager from '@ohos.application.missionManager'
let subscriberInfo_0100 = {
events: ['ACTS_Third1_Publish_CommonEvent'],
};
const BUNDLE_NAME = 'com.example.third1';
const NUM_TWO = 2;
const NUM_TEN = 10;
const INVALID_NUM = -1;
const START_ABILITY_TIMEOUT = 5000;
const START_RECORD = 900;
const TIMEOUT = 3000;
let installParam = {
userId: 100,
installFlag: 1,
isKeepData: false
}
function checkInstallOrUninstall(err, data) {
expect(err.code).assertEqual(0);
expect(data.status).assertEqual(0);
expect(data.statusMessage).assertEqual('SUCCESS');
}
let START_COUNT = 1;
let RECORD_COUNT = 0;
describe('ActsBmsModuleUsageRecordTest', function () {
function sleep(delay) {
let start = (new Date()).getTime();
while ((new Date()).getTime() - start < delay) {
continue;
}
}
beforeAll(async (done) => {
let subscriber;
let id;
async function subscribeCallBack(err, data) {
clearTimeout(id);
console.debug('=====subscribeCallBack=====' + data.event);
sleep(TIMEOUT);
let records = await bundle.getModuleUsageRecords(START_RECORD);
console.debug('=====get moduleUsageRecord finish=====');
RECORD_COUNT = records.length;
for (let i = 0, len = records.length; i < len; i++) {
if (records[i].bundleName == 'com.example.third1') {
START_COUNT = records[i].launchedCount;
console.debug('=====START_COUNT is =====' + START_COUNT);
}
}
commonEvent.unsubscribe(subscriber, unSubscribeCallback);
console.debug('=====subscribeCallBack end=====');
done();
}
commonEvent.createSubscriber(subscriberInfo_0100).then((data) => {
console.debug('====>Create Subscriber====>');
subscriber = data;
commonEvent.subscribe(subscriber, subscribeCallBack);
})
function unSubscribeCallback(err, data) {
console.debug('====>UnSubscribe CallBack====>');
done();
}
function timeout() {
console.debug('=====timeout======');
commonEvent.unsubscribe(subscriber, unSubscribeCallback)
done();
}
console.debug('=======start ability========')
let installer = await bundle.getBundleInstaller();
installer.install(['/data/test/bmsThirdBundleTest1.hap'], installParam, async (err, data) => {
console.debug('========install Finish========' + err.code);
console.debug('========install Finish========' + data.status);
console.debug('========install Finish========' + data.statusMessage);
id = setTimeout(timeout, START_ABILITY_TIMEOUT);
await featureAbility.startAbility(
{
want:
{
bundleName: 'com.example.third1',
abilityName: 'com.example.third1.MainAbility'
}
}
)
});
})
beforeEach(async (done) => {
bundle.getBundleInfo(BUNDLE_NAME, 1, async (err, data) => {
if (err.code != 0 && !data.name.length) {
let installer = await bundle.getBundleInstaller();
installer.install(['/data/test/bmsThirdBundleTest1.hap'], installParam, async (err, data) => {
console.debug('========install Finish========' + JSON.stringify(data));
done();
});
} else {
console.info("third1 is exist");
done();
}
});
})
afterEach(async (done) => {
let testMissionId;
testMissionId = await getMissionId();
console.log('======>ActsBmsModuleUsageRecordTest afterEach testMissionId<=======' + testMissionId);
if (testMissionId != -1) {
await missionmanager.moveMissionToFront(testMissionId);
}
done();
})
afterAll(async (done) => {
console.debug('=======after all install========');
let installer = await bundle.getBundleInstaller();
installer.uninstall(BUNDLE_NAME, installParam, (err, data) => {
console.debug('========uninstall Finish========' + err.code);
console.debug('========uninstall Finish========' + data.status);
console.debug('========uninstall Finish========' + data.statusMessage);
done();
});
})
function getMissionId() {
return new Promise(async (resolve, reject) => {
let numMax = 1024;
let missionId = -1;
let missionInfos = await missionmanager.getMissionInfos('', numMax);
console.log('getMissionId result: ' + missionInfos.length);
for (let i = 0; i < missionInfos.length; i++) {
console.log('getMissionId result: ' + i + '= ' + JSON.stringify(missionInfos[i]))
if ((missionInfos[i].want.abilityName == "com.example.actsbmsmoduleusagerecordtest.MainAbility") &&
!(missionInfos[i].runningState)) {
missionId = missionInfos[i].missionId;
break;
}
}
console.log('======>getMissionId resolve missionId<=======' + missionId);
resolve(missionId);
})
}
/*
* @tc.number: bms_getModuleUsageRecordTest_0100
* @tc.name: getModuleUsageRecord(maxNum)
* @tc.desc: Use the getModuleUsageRecord interface to query the activation times and last
* activation time of ability
*/
it('bms_getModuleUsageRecordTest_0100', 0, async function (done) {
console.debug('=====================bms_getModuleUsageRecordTest_0100==================');
let records = await bundle.getModuleUsageRecords(RECORD_COUNT + NUM_TWO);
checkModuleUsageRecord(records);
let dataMap = new Map();
for (let i = 0, length = records.length; i < length; i++) {
console.debug('=============bundleName is=========' + JSON.stringify(records[i].bundleName));
dataMap.set(records[i].bundleName, records[i]);
}
expect(dataMap.has(BUNDLE_NAME)).assertTrue();
if (dataMap.has(BUNDLE_NAME)) {
let data = dataMap.get(BUNDLE_NAME);
expect(data.bundleName).assertEqual('com.example.third1');
expect(data.appLabelId >= 0).assertTrue();
expect(data.name).assertEqual('entry');
expect(data.labelId >= 0).assertTrue();
expect(data.descriptionId).assertEqual(0);
expect(data.abilityName).assertEqual('com.example.third1.MainAbility');
expect(data.abilityLabelId >= 0).assertTrue();
expect(data.abilityDescriptionId >= 0).assertTrue();
expect(data.abilityIconId >= 0).assertTrue();
expect(data.launchedCount).assertEqual(START_COUNT);
expect(data.lastLaunchTime).assertLarger(0);
expect(data.isRemoved).assertEqual(false);
expect(data.installationFreeSupported).assertEqual(false);
}
done();
})
/*
* @tc.number: bms_getModuleUsageRecordTest_0200
* @tc.name: getModuleUsageRecord(maxNum)
* @tc.desc: When the number of starts of ability is less than maxNum, call interface getModuleUsageRecord
*/
it('bms_getModuleUsageRecordTest_0200', 0, async function (done) {
console.debug('=====================bms_getModuleUsageRecordTest_0200==================');
bundle.getModuleUsageRecords(RECORD_COUNT + NUM_TWO, (err, data) => {
expect(err.code).assertEqual(0);
checkModuleUsageRecord(data);
let result = checkIsExist(data, BUNDLE_NAME);
expect(result).assertTrue();
if (result) {
let counts = new Map();
console.debug('======LaunchedCount======' + START_COUNT);
for (let i = 0, length = data.length; i < length; i++) {
counts.set(data[i].bundleName, data[i].launchedCount);
console.debug('=============launchedCount is=========' + data[i].launchedCount);
}
expect(counts.get(BUNDLE_NAME)).assertEqual(START_COUNT);
}
done();
});
})
/*
* @tc.number: bms_getModuleUsageRecordTest_0300
* @tc.name: getModuleUsageRecord(maxNum)
* @tc.desc: When the number of starts of ability is less than maxNum, call interface getModuleUsageRecord
*/
it('bms_getModuleUsageRecordTest_0300', 0, async function (done) {
console.debug('=====================bms_getModuleUsageRecordTest_0300==================');
bundle.getModuleUsageRecords(RECORD_COUNT + NUM_TEN).then(records => {
checkModuleUsageRecord(records);
let result = checkIsExist(records, BUNDLE_NAME);
expect(result).assertTrue();
if (result) {
let counts = new Map();
console.debug('======LaunchedCount======' + START_COUNT);
expect(records[1].launchedCount).assertEqual(START_COUNT);
for (let i = 0, length = records.length; i < length; i++) {
counts.set(records[i].bundleName, records[i].launchedCount);
console.debug('=============launchedCount is=========' + records[i].launchedCount);
}
expect(counts.get(BUNDLE_NAME)).assertEqual(START_COUNT);
}
done();
});
})
/*
* @tc.number: bms_getModuleUsageRecordTest_0400
* @tc.name: getModuleUsageRecord(maxNum)
* @tc.desc: When the number of starts of ability is less than maxNum, call interface getModuleUsageRecord
*/
it('bms_getModuleUsageRecordTest_0400', 0, async function (done) {
console.debug('=====================bms_getModuleUsageRecordTest_0400==================');
bundle.getModuleUsageRecords(RECORD_COUNT + NUM_TEN, (err, data) => {
expect(err.code).assertEqual(0);
checkModuleUsageRecord(data);
let result = checkIsExist(data, BUNDLE_NAME);
expect(result).assertTrue();
if (result) {
let counts = new Map();
console.debug('======LaunchedCount======' + START_COUNT);
for (let i = 0, length = data.length; i < length; i++) {
counts.set(data[i].bundleName, data[i].launchedCount);
console.debug('=============launchedCount is=========' + data[i].launchedCount);
}
expect(counts.get(BUNDLE_NAME)).assertEqual(START_COUNT);
}
done();
});
})
/*
* @tc.number: bms_getModuleUsageRecordTest_0500
* @tc.name: getModuleUsageRecord(maxNum) by promise
* @tc.desc: Uninstall a third-party application, and then use the getModuleUsageRecord interface
* to query the activation times and last activation time of ability
*/
it('bms_getModuleUsageRecordTest_0500', 0, async function (done) {
console.debug('=====================bms_getModuleUsageRecordTest_0500==================');
let installer = await bundle.getBundleInstaller();
installer.uninstall(BUNDLE_NAME, installParam, onReceiveinstallEvent);
async function onReceiveinstallEvent(err, data) {
console.debug('========uninstall Finish========');
checkInstallOrUninstall(err, data);
console.debug('========data.statusMessage========' + data.statusMessage);
let records = await bundle.getModuleUsageRecords(RECORD_COUNT + NUM_TWO)
checkModuleUsageRecord(records);
let result = checkIsExist(records, BUNDLE_NAME);
expect(result).assertEqual(false);
installer.install(['/data/test/bmsThirdBundleTest1.hap'], installParam, (err, data) => {
checkInstallOrUninstall(err, data)
done();
});
}
})
/*
* @tc.number: bms_getModuleUsageRecordTest_0600
* @tc.name: getModuleUsageRecord(maxNum,callback: AsyncCallback<Array<ModuleUsageRecord>>)
* @tc.desc: Uninstall a third-party application, and then use the getModuleUsageRecord interface
* to query the activation times and last activation time of ability
*/
it('bms_getModuleUsageRecordTest_0600', 0, async function (done) {
console.debug('=====================bms_getModuleUsageRecordTest_0600==================');
let installer = await bundle.getBundleInstaller();
installer.uninstall(BUNDLE_NAME, installParam, (err, data) => {
checkInstallOrUninstall(err, data);
bundle.getModuleUsageRecords(RECORD_COUNT + NUM_TWO, async (funcErr, moduleUsageRecord) => {
expect(funcErr.code).assertEqual(0);
let result = checkIsExist(moduleUsageRecord, BUNDLE_NAME);
expect(result).assertEqual(false);
installer.install(['/data/test/bmsThirdBundleTest1.hap'], installParam, (err, data) => {
checkInstallOrUninstall(err, data)
done();
});
});
});
})
/*
* @tc.number: bms_getModuleUsageRecordTest_0700
* @tc.name: getModuleUsageRecord(maxNum, callback: AsyncCallback<Array<ModuleUsageRecord>>)
* @tc.desc: test getModuleUsageRecord with the invalid parameter
*/
it('bms_getModuleUsageRecordTest_0700', 0, async function (done) {
console.debug('=====================bms_getModuleUsageRecordTest_0700==================');
await bundle.getModuleUsageRecords(INVALID_NUM, (err, data) => {
console.debug('============err.code==========' + err.code);
expect(err.code).assertEqual(-1);
expect(data.length).assertEqual(0);
done();
});
})
/*
* @tc.number: bms_getModuleUsageRecordTest_0800
* @tc.name: getModuleUsageRecord(maxNum) by promise
* @tc.desc: test getModuleUsageRecord with the invalid parameter
*/
it('bms_getModuleUsageRecordTest_0800', 0, async function (done) {
console.debug('=====================bms_getModuleUsageRecordTest_0800==================');
let data = await bundle.getModuleUsageRecords(INVALID_NUM);
expect(data.length).assertEqual(0);
done();
})
/*
* @tc.number: bms_getModuleUsageRecordTest_0900
* @tc.name: getModuleUsageRecord(maxNum, callback: AsyncCallback<Array<ModuleUsageRecord>>)
* @tc.desc: test getModuleUsageRecord with the critical value
*/
it('bms_getModuleUsageRecordTest_0900', 0, async function (done) {
console.debug('=====================bms_getModuleUsageRecordTest_0900==================');
await bundle.getModuleUsageRecords(0, (err, data) => {
console.debug('============err.code==========' + err.code);
expect(err.code).assertEqual(-1);
expect(data.length).assertEqual(0);
done();
});
})
/*
* @tc.number: bms_getModuleUsageRecordTest_1000
* @tc.name: getModuleUsageRecord(maxNum, callback: AsyncCallback<Array<ModuleUsageRecord>>)
* @tc.desc: test getModuleUsageRecord with the critical value
*/
it('bms_getModuleUsageRecordTest_1000', 0, async function (done) {
console.debug('=====================bms_getModuleUsageRecordTest_1000==================');
let data = await bundle.getModuleUsageRecords(0);
expect(data.length).assertEqual(0);
done();
})
/*
* @tc.number: bms_getModuleUsageRecordTest_1100
* @tc.name: getModuleUsageRecord(maxNum) by promise
* @tc.desc: Install a third-party which is uninstalled, and then use the getModuleUsageRecord interface
* to query the activation times and last activation time of ability
*/
it('bms_getModuleUsageRecordTest_1100', 0, async function (done) {
console.debug('=====================bms_getModuleUsageRecordTest_1100==================');
let installer = await bundle.getBundleInstaller();
installer.uninstall(BUNDLE_NAME, installParam, (err, data) => {
checkInstallOrUninstall(err, data);
let bundlePath = ['/data/test/bmsThirdBundleTest1.hap'];
installer.install(bundlePath, installParam, async (err, data) => {
checkInstallOrUninstall(err, data);
let records = await bundle.getModuleUsageRecords(RECORD_COUNT + NUM_TEN)
expect(checkLaunchCount(records, BUNDLE_NAME, START_COUNT)).assertTrue();
done();
});
});
})
/*
* @tc.number: bms_getModuleUsageRecordTest_1200
* @tc.name: getModuleUsageRecord(maxNum, callback: AsyncCallback<Array<ModuleUsageRecord>>)
* @tc.desc: Install a third-party which is uninstalled, and then use the getModuleUsageRecord interface
* to query the activation times and last activation time of ability
*/
it('bms_getModuleUsageRecordTest_1200', 0, async function (done) {
console.debug('=====================bms_getModuleUsageRecordTest_1200==================');
let installer = await bundle.getBundleInstaller();
installer.uninstall(BUNDLE_NAME, installParam, (err, data) => {
checkInstallOrUninstall(err, data);
let bundlePath = ['/data/test/bmsThirdBundleTest1.hap']
installer.install(bundlePath, installParam, async (err, data) => {
checkInstallOrUninstall(err, data);
bundle.getModuleUsageRecords(RECORD_COUNT + NUM_TEN, (err, records) => {
expect(err.code).assertEqual(0);
expect(checkLaunchCount(records, BUNDLE_NAME, START_COUNT)).assertTrue();
done();
})
});
});
})
/*
* @tc.number: bms_getModuleUsageRecordTest_1300
* @tc.name: getModuleUsageRecord(maxNum, callback: AsyncCallback<Array<ModuleUsageRecord>>)
* @tc.desc: Install a third-party which is uninstalled, and then use the getModuleUsageRecord interface
* to query the activation times and last activation time of ability
*/
it('bms_getModuleUsageRecordTest_1300', 0, async function (done) {
console.debug('=====================bms_getModuleUsageRecordTest_1300==================');
let subscriber;
let id;
async function subscribeCallBack(err, data) {
clearTimeout(id);
START_COUNT += 1;
expect(data.event).assertEqual('ACTS_Third1_Publish_CommonEvent');
sleep(TIMEOUT);
await bundle.getModuleUsageRecords(RECORD_COUNT + NUM_TEN, (err, records) => {
expect(err.code).assertEqual(0);
let result = checkLaunchCount(records, BUNDLE_NAME, START_COUNT);
expect(result).assertTrue();
commonEvent.unsubscribe(subscriber, unSubscribeCallback);
})
}
commonEvent.createSubscriber(subscriberInfo_0100).then((data) => {
console.debug('====>Create Subscriber====>');
subscriber = data;
commonEvent.subscribe(subscriber, subscribeCallBack);
})
function unSubscribeCallback(err, data) {
done();
}
function timeout() {
console.debug('=====timeout======');
expect().assertFail();
commonEvent.unsubscribe(subscriber, unSubscribeCallback)
}
let installer = await bundle.getBundleInstaller();
installer.uninstall(BUNDLE_NAME, installParam, (err, data) => {
checkInstallOrUninstall(err, data);
installer.install(['/data/test/bmsThirdBundleTest1.hap'], installParam, async (err, data) => {
checkInstallOrUninstall(err, data);
id = setTimeout(timeout, START_ABILITY_TIMEOUT);
await featureAbility.startAbility(
{
want:
{
bundleName: 'com.example.third1',
abilityName: 'com.example.third1.MainAbility'
}
}
)
});
});
})
/*
* @tc.number: bms_getModuleUsageRecordTest_1400
* @tc.name: getModuleUsageRecord(maxNum, callback: AsyncCallback<Array<ModuleUsageRecord>>)
* @tc.desc: Install a third-party which is uninstalled, and then use the getModuleUsageRecord interface
* to query the activation times and last activation time of ability
*/
it('bms_getModuleUsageRecordTest_1400', 0, async function (done) {
console.debug('=====================bms_getModuleUsageRecordTest_1400==================');
let subscriber;
let id;
async function subscribeCallBack(err, data) {
clearTimeout(id);
START_COUNT += 1;
expect(data.event).assertEqual('ACTS_Third1_Publish_CommonEvent');
sleep(TIMEOUT);
let records = await bundle.getModuleUsageRecords(RECORD_COUNT + NUM_TEN)
expect(checkLaunchCount(records, BUNDLE_NAME, START_COUNT)).assertTrue();
commonEvent.unsubscribe(subscriber, unSubscribeCallback);
}
commonEvent.createSubscriber(subscriberInfo_0100).then((data) => {
console.debug('====>Create Subscriber====>');
subscriber = data;
commonEvent.subscribe(subscriber, subscribeCallBack);
})
function unSubscribeCallback(err, data) {
done();
}
function timeout() {
console.debug('=====timeout======');
expect().assertFail();
commonEvent.unsubscribe(subscriber, unSubscribeCallback)
}
let installer = await bundle.getBundleInstaller();
installer.uninstall(BUNDLE_NAME, installParam, (err, data) => {
checkInstallOrUninstall(err, data);
installer.install(['/data/test/bmsThirdBundleTest1.hap'], installParam, async (err, data) => {
checkInstallOrUninstall(err, data);
id = setTimeout(timeout, START_ABILITY_TIMEOUT);
await featureAbility.startAbility(
{
want:
{
bundleName: 'com.example.third1',
abilityName: 'com.example.third1.MainAbility'
}
}
)
});
});
})
/*
* @tc.number: bms_getModuleUsageRecordTest_1500
* @tc.name: getModuleUsageRecord(maxNum, callback: AsyncCallback<Array<ModuleUsageRecord>>)
* @tc.desc: test getModuleUsageRecord with the critical value
*/
it('bms_getModuleUsageRecordTest_1500', 0, async function (done) {
console.debug('=====================bms_getModuleUsageRecordTest_1500==================');
await bundle.getModuleUsageRecords(1000, (err, records) => {
expect(err.code).assertEqual(0);
console.info('============data length_1500===========' + records.length);
checkModuleUsageRecord(records);
expect(checkIsExist(records, BUNDLE_NAME)).assertTrue();
done();
});
})
/*
* @tc.number: bms_getModuleUsageRecordTest_1600
* @tc.name: getModuleUsageRecord(maxNum, callback: AsyncCallback<Array<ModuleUsageRecord>>)
* @tc.desc: test getModuleUsageRecord with the critical value
*/
it('bms_getModuleUsageRecordTest_1600', 0, async function (done) {
console.debug('=====================bms_getModuleUsageRecordTest_1600==================');
let records = await bundle.getModuleUsageRecords(1000);
console.info('============data length_1600===========' + records.length);
checkModuleUsageRecord(records);
expect(checkIsExist(records, BUNDLE_NAME)).assertTrue();
done();
})
/*
* @tc.number: bms_getModuleUsageRecordTest_1700
* @tc.name: getModuleUsageRecord(maxNum, callback: AsyncCallback<Array<ModuleUsageRecord>>)
* @tc.desc: test getModuleUsageRecord with the invalid parameter
*/
it('bms_getModuleUsageRecordTest_1700', 0, async function (done) {
console.debug('=====================bms_getModuleUsageRecordTest_1700==================');
await bundle.getModuleUsageRecords(1001, (err, data) => {
console.debug('============err.code==========' + err.code);
expect(err.code).assertEqual(-1);
console.info('============data length_1700===========' + data.length);
expect(data.length).assertEqual(0);
done();
});
})
/*
* @tc.number: bms_getModuleUsageRecordTest_1800
* @tc.name: getModuleUsageRecord(maxNum, callback: AsyncCallback<Array<ModuleUsageRecord>>)
* @tc.desc: test getModuleUsageRecord with the invalid parameter
*/
it('bms_getModuleUsageRecordTest_1800', 0, async function (done) {
console.debug('=====================bms_getModuleUsageRecordTest_1800==================');
let data = await bundle.getModuleUsageRecords(1001);
console.info('============data length_1800===========' + data.length);
expect(data.length).assertEqual(0);
done();
})
function checkModuleUsageRecord(data) {
console.debug('======================check ModuleUsageRecord begin==========================');
expect(data.length).assertLarger(0);
for (let i = 0, length = data.length; i < length; i++) {
console.debug('=======All Info========' + JSON.stringify(data[i]));
console.debug('=============bundleName is=========' + JSON.stringify(data[i].bundleName));
expect(data[i].bundleName.length).assertLarger(0);
expect(data[i].appLabelId >= 0).assertTrue();
expect(data[i].labelId >= 0).assertTrue();
expect(data[i].abilityLabelId >= 0).assertTrue();
expect(data[i].abilityDescriptionId >= 0).assertTrue();
expect(data[i].abilityIconId >= 0).assertTrue();
console.debug('=============appLabelId==============' + JSON.stringify(data[i].appLabelId));
console.debug('=============name==============' + JSON.stringify(data[i].name));
expect(data[i].name.length).assertLarger(0);
console.debug('=============labelId==============' + JSON.stringify(data[i].labelId));
console.debug('=============descriptionId==============' + JSON.stringify(data[i].descriptionId));
expect(data[i].descriptionId).assertEqual(0);
console.debug('=============abilityName==============' + JSON.stringify(data[i].abilityName));
expect(data[i].abilityName.length).assertLarger(0);
console.debug('=============abilityLabelId==============' + JSON.stringify(data[i].abilityLabelId));
console.debug('===========abilityDescriptionId===========' + JSON.stringify(data[i].abilityDescriptionId));
console.debug('=============abilityIconId==============' + JSON.stringify(data[i].abilityIconId));
console.debug('=============launchedCount==============' + JSON.stringify(data[i].launchedCount));
expect(data[i].launchedCount).assertLarger(0);
console.debug('=============lastLaunchTime==============' + JSON.stringify(data[i].lastLaunchTime));
expect(data[i].lastLaunchTime).assertLarger(0);
console.debug('=============isRemoved==============' + JSON.stringify(data[i].isRemoved));
expect(data[i].isRemoved).assertEqual(false);
if (data[i].bundleName == 'com.example.third1') {
expect(data[i].installationFreeSupported).assertFalse();
}
}
}
function checkIsExist(data, bundleName) {
let bundles = new Map();
for (let i = 0, length = data.length; i < length; i++) {
bundles.set(data[i].bundleName, data[i]);
}
if (bundles.has(bundleName)) {
return true;
}
else {
return false;
}
}
function checkLaunchCount(data, bundleName, count) {
let i = 0;
for (let length = data.length; i < length; i++) {
if (data[i].bundleName == bundleName) {
expect(data[i].launchedCount).assertEqual(count);
return true;
}
}
if (i == data.length) {
return 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.
*/
require('./ActsBmsModuleUsageRecordTest.test.js')
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册