MangerAbilityJsunit.test.js 12.5 KB
Newer Older
C
chensi10 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14
/*
 * 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.
 */
C
chensi10 已提交
15 16
import featureAbility from '@ohos.ability.featureability'
import abilitymanager from '@ohos.app.abilitymanager'
C
chensi10 已提交
17 18 19 20 21 22 23 24 25 26 27 28 29
import { describe, beforeAll, beforeEach, afterEach, afterAll, it, expect } from 'deccjsunit/index'

var WeightReasonCode = {
    REASON_UNKNOWN: 0,
    WEIGHT_FOREGROUND: 100,
    WEIGHT_FOREGROUND_SERVICE: 125,
    WEIGHT_VISIBLE: 200,
    WEIGHT_PERCEPTIBLE: 230,
    WEIGHT_SERVICE: 300,
    WEIGHT_TOP_SLEEPING: 325,
    WEIGHT_CANT_SAVE_STATE: 350,
    WEIGHT_CACHED: 400,
    WEIGHT_GONE: 1000
C
chensi10 已提交
30
}
C
chensi10 已提交
31 32 33 34 35 36 37 38 39 40 41 42 43 44

var abilityNameList = [
    "com.ohos.launcher.MainAbility",
    "com.example.SimulateFeatureAbilityFir",
    "com.example.actsamstestfirstscene.MainAbility"
]

var bundleNameList = [
    "com.ohos.launcher",
    "com.ohos.systemui",
    "com.ix.simulate.feature",
    "com.example.actsamstestfirstscene"
]

C
chensi10 已提交
45 46
describe('ActsAmsTestFirstScene', function () {
    console.info('----ActsAmsTestFirstScene----');
Z
zhaoyuan 已提交
47
    beforeAll(async function (done) {
C
chensi10 已提交
48
        featureAbility.startAbility(
C
chensi10 已提交
49 50 51 52 53 54 55 56 57 58 59
            {
                want:
                {
                    deviceId: "",
                    bundleName: "com.ohos.launcher",
                    abilityName: "com.ohos.launcher.MainAbility",
                    action: "action1",
                    entities: ["entity1"],
                    type: "MIMETYPE",
                    uri: "key={true,true,false}",
                    options:
C
chensi10 已提交
60
                        {},
C
chensi10 已提交
61
                    parameters:
C
chensi10 已提交
62
                        {},
C
chensi10 已提交
63 64 65
                },
            },
        );
C
chensi10 已提交
66
        var maxnum = 10, flag = 1;
Z
zhaoyuan 已提交
67 68 69 70 71 72 73
        var data = await abilitymanager.queryRecentAbilityMissionInfos(maxnum, flag);
        console.log('queryRecentAbilityMissionInfos data  ' + JSON.stringify(data));
        for (var i = 0; i < data.length; i++) {
            if (data[i].baseAbility.bundleName != 'com.example.actsamstestfirstscene' &&
                data[i].topAbility.bundleName != 'com.example.actsamstestfirstscene') {
                var info = abilitymanager.removeMission(data[i].id);
                console.log(' removeMission data  [' + info + ']');
C
chensi10 已提交
74
            }
Z
zhaoyuan 已提交
75
        };
C
chensi10 已提交
76
        featureAbility.startAbility(
C
chensi10 已提交
77 78 79 80 81 82 83 84 85 86 87
            {
                want:
                {
                    deviceId: "",
                    bundleName: "com.ix.simulate.feature",
                    abilityName: "com.example.SimulateFeatureAbilityFir",
                    action: "action1",
                    entities: ["entity1"],
                    type: "MIMETYPE",
                    uri: "key={true,true,false}",
                    options:
C
chensi10 已提交
88
                        {},
C
chensi10 已提交
89
                    parameters:
C
chensi10 已提交
90
                        {},
C
chensi10 已提交
91 92 93
                },
            },
        );
Z
zhaoyuan 已提交
94
        done();
C
chensi10 已提交
95 96 97 98 99 100 101
    });

    /*
    * @tc.number    : Acts_Ams_test_0100
    * @tc.name      : getAllRunningProcesses : Get All Running Processes Info
    * @tc.desc      : Get All Running Processes Info(by Promise)
    */
C
chensi10 已提交
102
    it('Acts_Ams_test_0100', 0, async function (done) {
C
chensi10 已提交
103 104 105 106 107 108 109 110
        setTimeout(async function () {
            var info = await abilitymanager.getAllRunningProcesses();
            console.info('Acts_Ams_test_0100 getAllRunningProcesses JSON String: ' + JSON.stringify(info));
            expect(Array.isArray(info)).assertEqual(true);
            expect(info.length).assertEqual(4);
            for (var i = 0; i < info.length; i++) {
                expect(typeof (info[i].pid)).assertEqual("number");
                expect(info[i].pid).assertLarger(0);
C
chensi10 已提交
111

C
chensi10 已提交
112 113 114
                expect(typeof (info[i].processName)).assertEqual("string");
                expect(info[i].processName.length).assertLarger(0);
                expect(bundleNameList.indexOf(info[i].processName)).assertLarger(-1);
C
chensi10 已提交
115

C
chensi10 已提交
116 117
                expect(Array.isArray(info[i].pkgList)).assertEqual(true);
                expect(info[i].pkgList.length).assertEqual(0);
C
chensi10 已提交
118

C
chensi10 已提交
119 120
                expect(typeof (info[i].uid)).assertEqual("number");
                expect(info[i].uid).assertLarger(0);
C
chensi10 已提交
121

C
chensi10 已提交
122 123
                expect(typeof (info[i].lastMemoryLevel)).assertEqual("number");
                expect(info[i].lastMemoryLevel).assertEqual(-1);
C
chensi10 已提交
124

C
chensi10 已提交
125 126
                expect(typeof (info[i].weight)).assertEqual("number");
                expect(info[i].weight).assertEqual(-1);
C
chensi10 已提交
127

C
chensi10 已提交
128 129 130 131 132
                expect(typeof (info[i].weightReasonCode)).assertEqual("number");
                expect(info[i].weightReasonCode).assertEqual(WeightReasonCode.REASON_UNKNOWN);
            }
            done();
        }, 5000);
C
chensi10 已提交
133 134
    })

C
chensi10 已提交
135 136 137 138 139
    /*
    * @tc.number    : Acts_Ams_test_0300
    * @tc.name      : queryRunningAbilityMissionInfos : Query Running Ability Mission Infos
    * @tc.desc      : Query Running Ability Mission Infos(by Promise)
    */
C
chensi10 已提交
140 141 142
    it('Acts_Ams_test_0300', 0, async function (done) {
        var maxnum = 10;
        var data = await abilitymanager.queryRunningAbilityMissionInfos(maxnum);
C
chensi10 已提交
143
        console.info('Acts_Ams_test_0300 queryRunningAbilityMissionInfos data ' + JSON.stringify(data));
C
chensi10 已提交
144
        expect(Array.isArray(data)).assertEqual(true);
C
chensi10 已提交
145
        expect(data.length).assertEqual(2);
C
chensi10 已提交
146 147 148 149 150 151
        for (var i = 0; i < data.length; i++) {
            expect(typeof (data[i].id)).assertEqual("number");
            expect(data[i].id).assertLarger(0);

            expect(typeof (data[i].baseAbility)).assertEqual("object");
            expect(typeof (data[i].baseAbility.deviceId)).assertEqual("string");
C
chensi10 已提交
152
            expect(data[i].baseAbility.deviceId.length).assertEqual(0);
C
chensi10 已提交
153 154
            expect(typeof (data[i].baseAbility.bundleName)).assertEqual("string");
            expect(data[i].baseAbility.bundleName.length).assertLarger(0);
C
chensi10 已提交
155
            expect(bundleNameList.indexOf(data[i].baseAbility.bundleName)).assertLarger(-1);;
C
chensi10 已提交
156 157
            expect(typeof (data[i].baseAbility.abilityName)).assertEqual("string");
            expect(data[i].baseAbility.abilityName.length).assertLarger(0);
C
chensi10 已提交
158
            expect(abilityNameList.indexOf(data[i].baseAbility.abilityName)).assertLarger(-1);
C
chensi10 已提交
159 160 161

            expect(typeof (data[i].topAbility)).assertEqual("object");
            expect(typeof (data[i].topAbility.deviceId)).assertEqual("string");
C
chensi10 已提交
162
            expect(data[i].topAbility.deviceId.length).assertEqual(0);
C
chensi10 已提交
163 164
            expect(typeof (data[i].topAbility.bundleName)).assertEqual("string");
            expect(data[i].topAbility.bundleName.length).assertLarger(0);
C
chensi10 已提交
165
            expect(bundleNameList.indexOf(data[i].topAbility.bundleName)).assertLarger(-1);
C
chensi10 已提交
166 167
            expect(typeof (data[i].topAbility.abilityName)).assertEqual("string");
            expect(data[i].topAbility.abilityName.length).assertLarger(0);
C
chensi10 已提交
168
            expect(abilityNameList.indexOf(data[i].topAbility.abilityName)).assertLarger(-1);
C
chensi10 已提交
169 170 171 172 173 174 175 176

            expect(typeof (data[i].missionDescription)).assertEqual("object");
            expect(typeof (data[i].missionDescription.label)).assertEqual("string");
            expect(typeof (data[i].missionDescription.iconPath)).assertEqual("string");
        }
        done();
    })

C
chensi10 已提交
177 178 179 180 181
    /*
    * @tc.number    : Acts_Ams_test_0500
    * @tc.name      : queryRecentAbilityMissionInfos : Query Recent Ability Mission Infos
    * @tc.desc      : Query Recent Ability Mission Infos(by Promise)
    */
C
chensi10 已提交
182
    it('Acts_Ams_test_0500', 0, async function (done) {
C
chensi10 已提交
183
        var maxnum = 10, flag = 1;
C
chensi10 已提交
184
        var data = await abilitymanager.queryRecentAbilityMissionInfos(maxnum, flag);
C
chensi10 已提交
185
        console.info('Acts_Ams_test_0500 queryRecentAbilityMissionInfos data ' + JSON.stringify(data));
C
chensi10 已提交
186
        expect(Array.isArray(data)).assertEqual(true);
C
chensi10 已提交
187
        expect(data.length).assertEqual(2);
C
chensi10 已提交
188 189 190 191 192 193
        for (var i = 0; i < data.length; i++) {
            expect(typeof (data[i].id)).assertEqual("number");
            expect(data[i].id).assertLarger(0);

            expect(typeof (data[i].baseAbility)).assertEqual("object");
            expect(typeof (data[i].baseAbility.deviceId)).assertEqual("string");
C
chensi10 已提交
194
            expect(data[i].baseAbility.deviceId.length).assertEqual(0);
C
chensi10 已提交
195 196
            expect(typeof (data[i].baseAbility.bundleName)).assertEqual("string");
            expect(data[i].baseAbility.bundleName.length).assertLarger(0);
C
chensi10 已提交
197
            expect(bundleNameList.indexOf(data[i].baseAbility.bundleName)).assertLarger(-1);
C
chensi10 已提交
198 199
            expect(typeof (data[i].baseAbility.abilityName)).assertEqual("string");
            expect(data[i].baseAbility.abilityName.length).assertLarger(0);
C
chensi10 已提交
200
            expect(abilityNameList.indexOf(data[i].baseAbility.abilityName)).assertLarger(-1);
C
chensi10 已提交
201 202 203 204 205

            expect(typeof (data[i].topAbility)).assertEqual("object");
            expect(typeof (data[i].topAbility.deviceId)).assertEqual("string");
            expect(typeof (data[i].topAbility.bundleName)).assertEqual("string");
            expect(data[i].topAbility.bundleName.length).assertLarger(0);
C
chensi10 已提交
206
            expect(bundleNameList.indexOf(data[i].topAbility.bundleName)).assertLarger(-1);
C
chensi10 已提交
207 208
            expect(typeof (data[i].topAbility.abilityName)).assertEqual("string");
            expect(data[i].topAbility.abilityName.length).assertLarger(0);
C
chensi10 已提交
209
            expect(abilityNameList.indexOf(data[i].topAbility.abilityName)).assertLarger(-1);
C
chensi10 已提交
210 211 212 213 214 215 216 217

            expect(typeof (data[i].missionDescription)).assertEqual("object");
            expect(typeof (data[i].missionDescription.label)).assertEqual("string");
            expect(typeof (data[i].missionDescription.iconPath)).assertEqual("string");
        }
        done();
    })

C
chensi10 已提交
218 219 220 221 222
    /*
    * @tc.number    : Acts_Ams_test_0700
    * @tc.name      : removeMission : Remove Mission
    * @tc.desc      : Remove Mission(by Promise)
    */
C
chensi10 已提交
223 224 225 226
    it('Acts_Ams_test_0700', 0, async function (done) {
        var maxnum = 10;
        var result = await abilitymanager.queryRunningAbilityMissionInfos(maxnum);
        var info = await abilitymanager.removeMission(result[0].id);
C
chensi10 已提交
227
        console.info('Acts_Ams_test_0700 removeMission data  [' + info + ']');
C
chensi10 已提交
228 229 230 231
        expect(info).assertLarger(0);
        done();
    })

C
chensi10 已提交
232 233 234 235 236
    /*
    * @tc.number    : Acts_Ams_test_1100
    * @tc.name      : moveMissionToTop : Move Mission To Top
    * @tc.desc      : Move Mission To Top(by Promise)
    */
C
chensi10 已提交
237 238 239 240
    it('Acts_Ams_test_1100', 0, async function (done) {
        var maxnum = 10;
        var result = await abilitymanager.queryRunningAbilityMissionInfos(maxnum);
        var info = await abilitymanager.moveMissionToTop(result[0].id);
C
chensi10 已提交
241
        console.info('Acts_Ams_test_1100 moveMissionToTop data  [' + info + ']');
C
chensi10 已提交
242 243 244 245
        expect(info).assertEqual(0);
        done();
    })

C
chensi10 已提交
246 247 248 249 250
    /*
    * @tc.number    : Acts_Ams_test_1300
    * @tc.name      : removeMissions: Remove Missions
    * @tc.desc      : Remove Missions(by Promise)
    */
C
chensi10 已提交
251 252 253 254
    it('Acts_Ams_test_1300', 0, async function (done) {
        var maxnum = 10;
        var result = await abilitymanager.queryRunningAbilityMissionInfos(maxnum);
        var info = await abilitymanager.removeMissions([result[0].id]);
C
chensi10 已提交
255
        console.info('Acts_Ams_test_1300 removeMissions data  [' + info + ']');
C
chensi10 已提交
256 257 258 259
        expect(info).assertLarger(0);
        done();
    })

C
chensi10 已提交
260 261 262 263 264
    /*
    * @tc.number    : Acts_Ams_test_0900
    * @tc.name      : clearMissions: Clear Missions
    * @tc.desc      : Clear Missions(by Promise)
    */
C
chensi10 已提交
265 266
    it('Acts_Ams_test_0900', 0, async function (done) {
        var info = await abilitymanager.clearMissions();
C
chensi10 已提交
267
        console.info('Acts_Ams_test_0900 clearMissions data  [' + info + ']');
C
chensi10 已提交
268 269 270 271
        expect(info).assertLarger(0);
        done();
    })

C
chensi10 已提交
272 273 274 275 276
    /*
    * @tc.number    : Acts_Ams_test_1500
    * @tc.name      : killProcessesByBundleName : Kill Processes By BundleName
    * @tc.desc      : Kill Processes By BundleName(by Promise)
    */
C
chensi10 已提交
277 278
    it('Acts_Ams_test_1500', 0, async function (done) {
        var info = await abilitymanager.killProcessesByBundleName('com.ix.simulate.feature');
C
chensi10 已提交
279
        console.info('Acts_Ams_test_1500 killProcessesByBundleName data  [' + info + ']');
C
chensi10 已提交
280 281 282 283
        expect(info).assertEqual(0);
        done();
    })
})