提交 a3dbbbbd 编写于 作者: S SoftSquirrel

IssueNo: #I501K0: delete moduleUsageRecord

Description: delete moduleUsageRecord
Sig: SIG_ApplicaitonFramework
Feature or Bugfix: Bugfix
Binary Source: No
Signed-off-by: NSoftSquirrel <xuhao47@huawei.com>
上级 5066b263
...@@ -22,9 +22,7 @@ group("bundlemanager") { ...@@ -22,9 +22,7 @@ group("bundlemanager") {
"actsbmshapmoduletest:ActsBmsHapModuleTest", "actsbmshapmoduletest:ActsBmsHapModuleTest",
"actsbmsjstest:ActsBmsJsTest", "actsbmsjstest:ActsBmsJsTest",
"actsbmsjsunpermissiontest:ActsBmsJsUnPermissionTest", "actsbmsjsunpermissiontest:ActsBmsJsUnPermissionTest",
"actsbmskittest:ActsBmsKitTest",
"actsbmsmetadatatest:ActsBmsMetaDataTest", "actsbmsmetadatatest:ActsBmsMetaDataTest",
"actsbmsmoduleusagerecordtest:ActsBmsModuleUsageRecordTest",
"actsbundlemanageretstest:ActsBundleManagerEtsTest", "actsbundlemanageretstest:ActsBundleManagerEtsTest",
"actsbundlemanagertest:ActsBundleManagerTest", "actsbundlemanagertest:ActsBundleManagerTest",
"actsbundlemanageruninstall:ActsBundleManagerUninstallTest", "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;
var subscriberInfo_0100 = {
events: ['ACTS_Third1_Publish_CommonEvent'],
};
describe('ActsBmsKitTest', function () {
beforeAll(async (done) => {
var 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==================');
var 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');
var 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==================');
var 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');
var result = checkIsExist(data, bundleName);
expect(result).assertEqual(true);
if (count == STRESSLEVEL - 1) {
done();
} else if (err.code != 0) {
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 != 0) {
expect(dataInfo.wants.length).assertLarger(0);
for (var 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 (var 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 == 0) {
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'
var 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;
var 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');
}
var START_COUNT = 1;
var RECORD_COUNT = 0;
describe('ActsBmsModuleUsageRecordTest', function () {
function sleep(delay) {
var start = (new Date()).getTime();
while ((new Date()).getTime() - start < delay) {
continue;
}
}
beforeAll(async (done) => {
var 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 == 0) {
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) => {
var 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) => {
var numMax = 1024;
var missionId = -1;
var 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 == 0)) {
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);
var 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);
var 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);
var 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==================');
var 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);
var records = await bundle.getModuleUsageRecords(RECORD_COUNT + NUM_TWO)
checkModuleUsageRecord(records);
var 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==================');
var 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);
var 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==================');
var 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==================');
var 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==================');
var installer = await bundle.getBundleInstaller();
installer.uninstall(BUNDLE_NAME, installParam, (err, data) => {
checkInstallOrUninstall(err, data);
var bundlePath = ['/data/test/bmsThirdBundleTest1.hap'];
installer.install(bundlePath, installParam, async (err, data) => {
checkInstallOrUninstall(err, data);
var 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==================');
var installer = await bundle.getBundleInstaller();
installer.uninstall(BUNDLE_NAME, installParam, (err, data) => {
checkInstallOrUninstall(err, data);
var 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==================');
var 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);
var 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==================');
var subscriber;
let id;
async function subscribeCallBack(err, data) {
clearTimeout(id);
START_COUNT += 1;
expect(data.event).assertEqual('ACTS_Third1_Publish_CommonEvent');
sleep(TIMEOUT);
var 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==================');
var 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==================');
var 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.
先完成此消息的编辑!
想要评论请 注册