MangerAbilityJsunit.test.js 17.0 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
import { describe, beforeAll, beforeEach, afterEach, afterAll, it, expect } from 'deccjsunit/index'
C
chensi10 已提交
18

C
chensi10 已提交
19 20 21 22 23 24 25 26 27 28 29
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 45 46 47 48 49

var abilityNameList = [
    "com.ohos.launcher.MainAbility",
    "com.example.SimulateFeatureAbilityFir",
    "com.example.VerifyActThirdAbility",
    "com.example.VerifyIoThirdAbility",
    "com.example.actsamstestfourthscene.MainAbility",
    "com.example.SimulateEntryAbilityFir"
]

var bundleNameList = [
    "com.ohos.launcher",
    "com.ohos.systemui",
    "com.ix.simulate.feature",
    "com.ix.verify.io",
    "com.ix.simulate.entry",
    "com.example.actsamstestfourthscene",
    "com.ix.verify.act"
]
C
chensi10 已提交
50 51
describe('ActsAmsTestFourthScene', function () {
    console.info('----ActsAmsTestFourthScene----');
C
chensi10 已提交
52 53
    beforeAll(function () {
        featureAbility.startAbility(
C
chensi10 已提交
54 55 56 57 58 59 60 61 62 63 64
            {
                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 已提交
65
                        {},
C
chensi10 已提交
66
                    parameters:
C
chensi10 已提交
67
                        {},
C
chensi10 已提交
68 69 70
                },
            },
        );
C
chensi10 已提交
71 72 73 74 75 76 77 78 79
        var maxnum = 20, flag = 1;
        abilitymanager.queryRecentAbilityMissionInfos(maxnum, flag, data => {
            console.info('queryRecentAbilityMissionInfos data  ' + JSON.stringify(data));
            for (var i = 0; i < data.length; i++) {
                if (data[i].baseAbility.bundleName != 'com.example.actsamstestfourthscene' &&
                    data[i].topAbility.bundleName != 'com.example.actsamstestfourthscene') {
                    var info = abilitymanager.removeMission(data[i].id);
                    console.info('removeMission data  [' + info + ']');
                }
C
chensi10 已提交
80
            }
C
chensi10 已提交
81 82
        });
        featureAbility.startAbility(
C
chensi10 已提交
83 84 85 86 87 88 89 90 91 92 93
            {
                want:
                {
                    deviceId: "",
                    bundleName: "com.ix.verify.io",
                    abilityName: "com.example.VerifyIoThirdAbility",
                    action: "action1",
                    entities: ["entity1"],
                    type: "MIMETYPE",
                    uri: "key={true,true,false}",
                    options:
C
chensi10 已提交
94
                        {},
C
chensi10 已提交
95
                    parameters:
C
chensi10 已提交
96
                        {},
C
chensi10 已提交
97 98 99
                },
            },
        );
C
chensi10 已提交
100
        featureAbility.startAbility(
C
chensi10 已提交
101 102 103 104 105 106 107 108 109 110 111
            {
                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 已提交
112
                        {},
C
chensi10 已提交
113
                    parameters:
C
chensi10 已提交
114
                        {},
C
chensi10 已提交
115 116 117
                },
            },
        );
C
chensi10 已提交
118
        featureAbility.startAbility(
C
chensi10 已提交
119 120 121 122 123 124 125 126 127 128 129
            {
                want:
                {
                    deviceId: "",
                    bundleName: "com.ix.verify.act",
                    abilityName: "com.example.VerifyActThirdAbility",
                    action: "action1",
                    entities: ["entity1"],
                    type: "MIMETYPE",
                    uri: "key={true,true,false}",
                    options:
C
chensi10 已提交
130
                        {},
C
chensi10 已提交
131
                    parameters:
C
chensi10 已提交
132
                        {},
C
chensi10 已提交
133 134 135
                },
            },
        );
C
chensi10 已提交
136
        featureAbility.startAbility(
C
chensi10 已提交
137 138 139 140 141 142 143 144 145 146 147
            {
                want:
                {
                    deviceId: "",
                    bundleName: "com.ix.simulate.entry",
                    abilityName: "com.example.SimulateEntryAbilityFir",
                    action: "action1",
                    entities: ["entity1"],
                    type: "MIMETYPE",
                    uri: "key={true,true,false}",
                    options:
C
chensi10 已提交
148
                        {},
C
chensi10 已提交
149
                    parameters:
C
chensi10 已提交
150
                        {},
C
chensi10 已提交
151 152 153
                },
            },
        );
C
chensi10 已提交
154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176
    });

    afterAll(function () {
        featureAbility.startAbility(
            {
                want:
                {
                    deviceId: "",
                    bundleName: "com.ohos.launcher",
                    abilityName: "com.ohos.launcher.MainAbility",
                    action: "action1",
                    entities: ["entity1"],
                    type: "MIMETYPE",
                    uri: "key={true,true,false}",
                    options:
                        {},
                    parameters:
                        {},
                },
            },
        );
        abilitymanager.clearMissions();
    });
C
chensi10 已提交
177

C
chensi10 已提交
178 179 180 181 182
    /*
     * @tc.number    : Acts_Ams_test_4900
     * @tc.name      : getAllRunningProcesses : Get All Running Processes Info
     * @tc.desc      : Get All Running Processes Info(by Promise)
     */
C
chensi10 已提交
183
    it('Acts_Ams_test_4900', 0, async function (done) {
C
chensi10 已提交
184 185 186 187 188 189 190 191 192
        setTimeout(async function () {
            var info = await abilitymanager.getAllRunningProcesses();
            console.info('getAllRunningProcesses data length [' + info.length + ']');
            console.info('Acts_Ams_test_4900 getAllRunningProcesses JSON String: ' + JSON.stringify(info));
            expect(Array.isArray(info)).assertEqual(true);
            expect(info.length).assertEqual(6);
            for (var i = 0; i < info.length; i++) {
                expect(typeof (info[i].pid)).assertEqual("number");
                expect(info[i].pid).assertLarger(0);
C
chensi10 已提交
193

C
chensi10 已提交
194 195 196
                expect(typeof (info[i].processName)).assertEqual("string");
                expect(info[i].processName.length).assertLarger(0);
                expect(bundleNameList.indexOf(info[i].processName)).assertLarger(-1);
C
chensi10 已提交
197

C
chensi10 已提交
198 199
                expect(Array.isArray(info[i].pkgList)).assertEqual(true);
                expect(info[i].pkgList.length).assertEqual(0);
C
chensi10 已提交
200

C
chensi10 已提交
201 202
                expect(typeof (info[i].uid)).assertEqual("number");
                expect(info[i].uid).assertLarger(0);
C
chensi10 已提交
203

C
chensi10 已提交
204 205
                expect(typeof (info[i].lastMemoryLevel)).assertEqual("number");
                expect(info[i].lastMemoryLevel).assertEqual(-1);
C
chensi10 已提交
206

C
chensi10 已提交
207 208
                expect(typeof (info[i].weight)).assertEqual("number");
                expect(info[i].weight).assertEqual(-1);
C
chensi10 已提交
209

C
chensi10 已提交
210 211 212 213 214
                expect(typeof (info[i].weightReasonCode)).assertEqual("number");
                expect(info[i].weightReasonCode).assertEqual(WeightReasonCode.REASON_UNKNOWN);
            }
            done();
        }, 5000);
C
chensi10 已提交
215 216
    })

C
chensi10 已提交
217 218 219 220 221
    /*
     * @tc.number    : Acts_Ams_test_5300
     * @tc.name      : queryRecentAbilityMissionInfos : Query Recent Ability Mission Infos
     * @tc.desc      : Query Recent Ability Mission Infos(by Promise)
     */
C
chensi10 已提交
222
    it('Acts_Ams_test_5300', 0, async function (done) {
C
chensi10 已提交
223
        var maxnum = 100, flag = 1;
C
chensi10 已提交
224
        var data = await abilitymanager.queryRecentAbilityMissionInfos(maxnum, flag);
C
chensi10 已提交
225
        console.info(' queryRecentAbilityMissionInfos data length [' + data.length + ']');
C
chensi10 已提交
226
        expect(Array.isArray(data)).assertEqual(true);
C
chensi10 已提交
227
        expect(data.length).assertEqual(4);
C
chensi10 已提交
228
        for (var i = 0; i < data.length; i++) {
C
chensi10 已提交
229 230 231 232 233 234 235 236 237 238
            console.info('Acts_Ams_test_5300 queryRecentAbilityMissionInfos  id: \
                ' + data[i].id + ' baseAbility.deviceId: \
                ' + data[i].baseAbility.deviceId + ' baseAbility.bundleName: \
                ' + data[i].baseAbility.bundleName + ' baseAbility.abilityName: \
                ' + data[i].baseAbility.abilityName + ' topAbility.deviceId: \
                ' + data[i].topAbility.deviceId + ' topAbility.bundleName: \
                ' + data[i].topAbility.bundleName + ' topAbility.abilityName: \
                ' + data[i].topAbility.abilityName + ' missionDescription.label: \
                ' + data[i].missionDescription.label + ' missionDescription.iconPath: \
                ' + data[i].missionDescription.iconPath);
C
chensi10 已提交
239 240 241 242 243 244

            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 已提交
245
            expect(data[i].baseAbility.deviceId.length).assertEqual(0);
C
chensi10 已提交
246 247
            expect(typeof (data[i].baseAbility.bundleName)).assertEqual("string");
            expect(data[i].baseAbility.bundleName.length).assertLarger(0);
C
chensi10 已提交
248
            expect(bundleNameList.indexOf(data[i].baseAbility.bundleName)).assertLarger(-1);
C
chensi10 已提交
249 250
            expect(typeof (data[i].baseAbility.abilityName)).assertEqual("string");
            expect(data[i].baseAbility.abilityName.length).assertLarger(0);
C
chensi10 已提交
251
            expect(abilityNameList.indexOf(data[i].baseAbility.abilityName)).assertLarger(-1);
C
chensi10 已提交
252 253 254 255 256

            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 已提交
257
            expect(bundleNameList.indexOf(data[i].topAbility.bundleName)).assertLarger(-1);
C
chensi10 已提交
258 259
            expect(typeof (data[i].topAbility.abilityName)).assertEqual("string");
            expect(data[i].topAbility.abilityName.length).assertLarger(0);
C
chensi10 已提交
260
            expect(abilityNameList.indexOf(data[i].topAbility.abilityName)).assertLarger(-1);
C
chensi10 已提交
261 262 263 264 265 266 267 268

            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 已提交
269 270 271 272 273
    /*
     * @tc.number    : Acts_Ams_test_5100
     * @tc.name      : queryRunningAbilityMissionInfos : Query Running Ability Mission Infos
     * @tc.desc      : Query Running Ability Mission Infos(by Promise)
     */
C
chensi10 已提交
274 275 276
    it('Acts_Ams_test_5100', 0, async function (done) {
        var maxnum = 30;
        var data = await abilitymanager.queryRunningAbilityMissionInfos(maxnum);
C
chensi10 已提交
277
        console.info('queryRunningAbilityMissionInfos data length [' + data.length + ']');
C
chensi10 已提交
278
        expect(Array.isArray(data)).assertEqual(true);
C
chensi10 已提交
279
        expect(data.length).assertEqual(4);
C
chensi10 已提交
280
        for (var i = 0; i < data.length; i++) {
C
chensi10 已提交
281 282 283 284 285 286 287 288 289 290
            console.info('Acts_Ams_test_5100 queryRunningAbilityMissionInfos  id: \
                ' + data[i].id + ' baseAbility.deviceId: \
                ' + data[i].baseAbility.deviceId + ' baseAbility.bundleName: \
                ' + data[i].baseAbility.bundleName + ' baseAbility.abilityName: \
                ' + data[i].baseAbility.abilityName + ' topAbility.deviceId: \
                ' + data[i].topAbility.deviceId + ' topAbility.bundleName: \
                ' + data[i].topAbility.bundleName + ' topAbility.abilityName: \
                ' + data[i].topAbility.abilityName + ' missionDescription.label: \
                ' + data[i].missionDescription.label + ' missionDescription.iconPath: \
                ' + data[i].missionDescription.iconPath);
C
chensi10 已提交
291 292 293 294 295 296

            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 已提交
297
            expect(data[i].baseAbility.deviceId.length).assertEqual(0);
C
chensi10 已提交
298 299
            expect(typeof (data[i].baseAbility.bundleName)).assertEqual("string");
            expect(data[i].baseAbility.bundleName.length).assertLarger(0);
C
chensi10 已提交
300
            expect(bundleNameList.indexOf(data[i].baseAbility.bundleName)).assertLarger(-1);
C
chensi10 已提交
301 302
            expect(typeof (data[i].baseAbility.abilityName)).assertEqual("string");
            expect(data[i].baseAbility.abilityName.length).assertLarger(0);
C
chensi10 已提交
303
            expect(abilityNameList.indexOf(data[i].baseAbility.abilityName)).assertLarger(-1);
C
chensi10 已提交
304 305 306 307 308

            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 已提交
309
            expect(bundleNameList.indexOf(data[i].topAbility.bundleName)).assertLarger(-1);
C
chensi10 已提交
310 311
            expect(typeof (data[i].topAbility.abilityName)).assertEqual("string");
            expect(data[i].topAbility.abilityName.length).assertLarger(0);
C
chensi10 已提交
312
            expect(abilityNameList.indexOf(data[i].topAbility.abilityName)).assertLarger(-1);
C
chensi10 已提交
313 314 315 316 317 318 319 320

            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 已提交
321 322 323 324 325
    /*
     * @tc.number    : Acts_Ams_test_5500
     * @tc.name      : removeMission : Remove Mission
     * @tc.desc      : Remove Mission(by Promise)
     */
C
chensi10 已提交
326 327 328 329
    it('Acts_Ams_test_5500', 0, async function (done) {
        var maxnum = 30;
        var result = await abilitymanager.queryRunningAbilityMissionInfos(maxnum);
        var info = await abilitymanager.removeMission(result[0].id);
C
chensi10 已提交
330 331
        console.info('Acts_Ams_test_5500 removeMission data  [' + info + ']');
        expect(typeof (info)).assertEqual("number");
C
chensi10 已提交
332 333 334 335
        expect(info).assertLarger(0);
        done();
    })

C
chensi10 已提交
336 337 338 339 340
    /*
     * @tc.number    : Acts_Ams_test_5900
     * @tc.name      : moveMissionToTop : Move Mission To Top
     * @tc.desc      : Move Mission To Top(by Promise)
     */
C
chensi10 已提交
341 342 343 344
    it('Acts_Ams_test_5900', 0, async function (done) {
        var maxnum = 30;
        var result = await abilitymanager.queryRunningAbilityMissionInfos(maxnum);
        var info = await abilitymanager.moveMissionToTop(result[0].id);
C
chensi10 已提交
345 346
        console.info('Acts_Ams_test_5900 moveMissionToTop data  [' + info + ']');
        expect(typeof (info)).assertEqual("number");
C
chensi10 已提交
347 348 349 350
        expect(info).assertEqual(0);
        done();
    })

C
chensi10 已提交
351 352 353 354 355
    /*
     * @tc.number    : Acts_Ams_test_5700
     * @tc.name      : clearMissions: Clear Missions
     * @tc.desc      : Clear Missions(by Promise)
     */
C
chensi10 已提交
356 357
    it('Acts_Ams_test_5700', 0, async function (done) {
        var info = await abilitymanager.clearMissions();
C
chensi10 已提交
358 359
        console.info('Acts_Ams_test_5700 clearMissions data  [' + info + ']');
        expect(typeof (info)).assertEqual("number");
C
chensi10 已提交
360 361 362 363
        expect(info).assertLarger(0);
        done();
    })

C
chensi10 已提交
364 365 366 367 368
    /*
     * @tc.number    : Acts_Ams_test_6300
     * @tc.name      : killProcessesByBundleName : Kill Processes By BundleName
     * @tc.desc      : Kill Processes By BundleName(by Promise)
     */
C
chensi10 已提交
369 370
    it('Acts_Ams_test_6300', 0, async function (done) {
        var info = await abilitymanager.killProcessesByBundleName('xxxxxxxxxxxx');
C
chensi10 已提交
371 372
        console.info('Acts_Ams_test_6300 killProcessesByBundleName data  [' + info + ']');
        expect(typeof (info)).assertEqual("number");
C
chensi10 已提交
373 374 375 376
        expect(info).assertEqual(0);
        done();
    })

C
chensi10 已提交
377 378 379 380 381
    /*
     * @tc.number    : Acts_Ams_test_6100
     * @tc.name      : removeMissions: Remove Missions
     * @tc.desc      : Remove Missions(by Promise)
     */
C
chensi10 已提交
382 383 384
    it('Acts_Ams_test_6100', 0, async function (done) {
        var maxnum = 30;
        var result = await abilitymanager.queryRunningAbilityMissionInfos(maxnum);
C
chensi10 已提交
385 386 387
        var info = await abilitymanager.removeMissions([result[1].id, result[2].id]);
        console.info('Acts_Ams_test_6100 removeMissions data  [' + info + ']');
        expect(typeof (info)).assertEqual("number");
C
chensi10 已提交
388 389 390 391
        expect(info).assertEqual(0);
        done();
    })
})