MangerAbilityJsunit.test.js 14.6 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'

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.actsamscallbackfirstscene.MainAbility"
]

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

C
chensi10 已提交
45 46
describe('ActsAmsCallBackFirstScene', function () {
    console.info('----ActsAmsCallBackFirstScene----');
C
chensi10 已提交
47 48
    beforeAll(function () {
        featureAbility.startAbility(
C
chensi10 已提交
49 50 51 52 53 54 55 56
            {
                want:
                {
                    deviceId: "",
                    bundleName: "com.ohos.launcher",
                    abilityName: "com.ohos.launcher.MainAbility",
                    action: "action1",
                    parameters:
C
chensi10 已提交
57
                        {},
C
chensi10 已提交
58 59 60
                },
            },
        );
C
chensi10 已提交
61 62 63 64 65 66 67 68 69 70
        var maxnum = 10, 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.actsamscallbackfirstscene' &&
                    data[i].topAbility.bundleName != 'com.example.actsamscallbackfirstscene') {
                    abilitymanager.removeMission(data[i].id,
                        (info) => {
                            console.info(' removeMission data  [' + info + ']');
                        });
C
chensi10 已提交
71
                }
C
chensi10 已提交
72 73 74
            }
        });
        featureAbility.startAbility(
C
chensi10 已提交
75 76 77 78 79 80 81 82
            {
                want:
                {
                    deviceId: "",
                    bundleName: "com.ix.simulate.feature",
                    abilityName: "com.example.SimulateFeatureAbilityFir",
                    action: "action1",
                    parameters:
C
chensi10 已提交
83
                        {},
C
chensi10 已提交
84 85 86
                },
            },
        );
C
chensi10 已提交
87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108
    });
    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 已提交
109

C
chensi10 已提交
110 111 112 113 114
    /*
     * @tc.number    : Acts_Ams_test_0200
     * @tc.name      : getAllRunningProcesses : Get All Running Processes Info
     * @tc.desc      : Get All Running Processes Info(by CallBack)
     */
C
chensi10 已提交
115
    it('Acts_Ams_test_0200', 0, async function (done) {
C
chensi10 已提交
116 117 118 119 120 121 122 123 124 125 126
        setTimeout(function () {
            abilitymanager.getAllRunningProcesses(
                (error, info) => {
                    console.info('getAllRunningProcesses error.code \
                    ' + error.code + ', data length [' + info.length + ']');
                    console.info('Acts_Ams_test_0200 getAllRunningProcesses data ' + 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 已提交
127

C
chensi10 已提交
128 129 130
                        expect(typeof (info[i].processName)).assertEqual("string");
                        expect(info[i].processName.length).assertLarger(0);
                        expect(bundleNameList.indexOf(info[i].processName)).assertLarger(-1);
C
chensi10 已提交
131

C
chensi10 已提交
132 133
                        expect(Array.isArray(info[i].pkgList)).assertEqual(true);
                        expect(info[i].pkgList.length).assertEqual(0);
C
chensi10 已提交
134

C
chensi10 已提交
135 136
                        expect(typeof (info[i].uid)).assertEqual("number");
                        expect(info[i].uid).assertLarger(0);
C
chensi10 已提交
137

C
chensi10 已提交
138 139
                        expect(typeof (info[i].lastMemoryLevel)).assertEqual("number");
                        expect(info[i].lastMemoryLevel).assertEqual(-1);
C
chensi10 已提交
140

C
chensi10 已提交
141 142
                        expect(typeof (info[i].weight)).assertEqual("number");
                        expect(info[i].weight).assertEqual(-1);
C
chensi10 已提交
143

C
chensi10 已提交
144 145 146 147 148 149
                        expect(typeof (info[i].weightReasonCode)).assertEqual("number");
                        expect(info[i].weightReasonCode).assertEqual(WeightReasonCode.REASON_UNKNOWN);
                    }
                });
            done();
        }, 5000);
C
chensi10 已提交
150 151
    })

C
chensi10 已提交
152 153 154 155 156
    /*
    * @tc.number    : Acts_Ams_test_0400
    * @tc.name      : queryRunningAbilityMissionInfos : Query Running Ability Mission Infos
    * @tc.desc      : Query Running Ability Mission Infos(by CallBack)
    */
C
chensi10 已提交
157 158 159
    it('Acts_Ams_test_0400', 0, async function (done) {
        var maxnum = 10;
        abilitymanager.queryRunningAbilityMissionInfos(maxnum,
C
chensi10 已提交
160 161 162 163
            (error, info) => {
                console.info('queryRecentAbilityMissionInfos error.code : \
                ' + error.code + ',data length [' + data.length + ']');
                console.info('Acts_Ams_test_0400 queryRunningAbilityMissionInfos info ' + JSON.stringify(info));
C
chensi10 已提交
164
                expect(Array.isArray(info)).assertEqual(true);
C
chensi10 已提交
165
                expect(info.length).assertEqual(2);
C
chensi10 已提交
166 167 168 169 170 171
                for (var i = 0; i < info.length; i++) {
                    expect(typeof (info[i].id)).assertEqual("number");
                    expect(info[i].id).assertLarger(0);

                    expect(typeof (info[i].baseAbility)).assertEqual("object");
                    expect(typeof (info[i].baseAbility.deviceId)).assertEqual("string");
C
chensi10 已提交
172
                    expect(info[i].baseAbility.deviceId.length).assertEqual(0);
C
chensi10 已提交
173 174
                    expect(typeof (info[i].baseAbility.bundleName)).assertEqual("string");
                    expect(info[i].baseAbility.bundleName.length).assertLarger(0);
C
chensi10 已提交
175
                    expect(bundleNameList.indexOf(info[i].baseAbility.bundleName)).assertLarger(-1);
C
chensi10 已提交
176 177
                    expect(typeof (info[i].baseAbility.abilityName)).assertEqual("string");
                    expect(info[i].baseAbility.abilityName.length).assertLarger(0);
C
chensi10 已提交
178
                    expect(abilityNameList.indexOf(info[i].baseAbility.abilityName)).assertLarger(-1);
C
chensi10 已提交
179 180 181

                    expect(typeof (info[i].topAbility)).assertEqual("object");
                    expect(typeof (info[i].topAbility.deviceId)).assertEqual("string");
C
chensi10 已提交
182
                    expect(info[i].topAbility.deviceId.length).assertEqual(0);
C
chensi10 已提交
183 184
                    expect(typeof (info[i].topAbility.bundleName)).assertEqual("string");
                    expect(info[i].topAbility.bundleName.length).assertLarger(0);
C
chensi10 已提交
185
                    expect(bundleNameList.indexOf(info[i].topAbility.bundleName)).assertLarger(-1);
C
chensi10 已提交
186 187
                    expect(typeof (info[i].topAbility.abilityName)).assertEqual("string");
                    expect(info[i].topAbility.abilityName.length).assertLarger(0);
C
chensi10 已提交
188
                    expect(abilityNameList.indexOf(info[i].topAbility.abilityName)).assertLarger(-1);
C
chensi10 已提交
189 190 191 192 193 194 195 196 197

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

C
chensi10 已提交
198 199 200 201 202
    /*
     * @tc.number    : Acts_Ams_test_0600
     * @tc.name      : queryRecentAbilityMissionInfos : Query Recent Ability Mission Infos
     * @tc.desc      : Query Recent Ability Mission Infos(by CallBack)
     */
C
chensi10 已提交
203
    it('Acts_Ams_test_0600', 0, async function (done) {
C
chensi10 已提交
204 205 206 207 208 209
        var maxnum = 10, flag = 1;
        abilitymanager.queryRecentAbilityMissionInfos(maxnum, flag,
            (error, info) => {
                console.info('queryRunningAbilityMissionInfos error.code : \
                ' + error.code + ',data length [' + data.length + ']');
                console.info('Acts_Ams_test_0600 queryRecentAbilityMissionInfos info ' + JSON.stringify(info));
C
chensi10 已提交
210
                expect(Array.isArray(info)).assertEqual(true);
C
chensi10 已提交
211
                expect(info.length).assertEqual(2);
C
chensi10 已提交
212 213 214 215 216 217
                for (var i = 0; i < info.length; i++) {
                    expect(typeof (info[i].id)).assertEqual("number");
                    expect(info[i].id).assertLarger(0);

                    expect(typeof (info[i].baseAbility)).assertEqual("object");
                    expect(typeof (info[i].baseAbility.deviceId)).assertEqual("string");
C
chensi10 已提交
218
                    expect(info[i].baseAbility.deviceId.length).assertEqual(0);
C
chensi10 已提交
219 220
                    expect(typeof (info[i].baseAbility.bundleName)).assertEqual("string");
                    expect(info[i].baseAbility.bundleName.length).assertLarger(0);
C
chensi10 已提交
221
                    expect(bundleNameList.indexOf(info[i].baseAbility.bundleName)).assertLarger(-1);
C
chensi10 已提交
222 223
                    expect(typeof (info[i].baseAbility.abilityName)).assertEqual("string");
                    expect(info[i].baseAbility.abilityName.length).assertLarger(0);
C
chensi10 已提交
224
                    expect(abilityNameList.indexOf(info[i].baseAbility.abilityName)).assertLarger(-1);
C
chensi10 已提交
225 226 227

                    expect(typeof (info[i].topAbility)).assertEqual("object");
                    expect(typeof (info[i].topAbility.deviceId)).assertEqual("string");
C
chensi10 已提交
228
                    expect(info[i].topAbility.deviceId.length).assertEqual(0);
C
chensi10 已提交
229 230
                    expect(typeof (info[i].topAbility.bundleName)).assertEqual("string");
                    expect(info[i].topAbility.bundleName.length).assertLarger(0);
C
chensi10 已提交
231
                    expect(bundleNameList.indexOf(info[i].topAbility.bundleName)).assertLarger(-1);
C
chensi10 已提交
232 233
                    expect(typeof (info[i].topAbility.abilityName)).assertEqual("string");
                    expect(info[i].topAbility.abilityName.length).assertLarger(0);
C
chensi10 已提交
234
                    expect(abilityNameList.indexOf(info[i].topAbility.abilityName)).assertLarger(-1);
C
chensi10 已提交
235 236 237 238 239 240 241 242

                    expect(typeof (info[i].missionDescription)).assertEqual("object");
                    expect(typeof (info[i].missionDescription.label)).assertEqual("string");
                    expect(typeof (info[i].missionDescription.iconPath)).assertEqual("string");
                }
            });
        done();
    })
C
chensi10 已提交
243 244 245 246 247 248

    /*
     * @tc.number    : Acts_Ams_test_0800
     * @tc.name      : removeMission : Remove Mission
     * @tc.desc      : Remove Mission(by CallBack)
     */
C
chensi10 已提交
249 250 251 252
    it('Acts_Ams_test_0800', 0, async function (done) {
        var maxnum = 10;
        var result = await abilitymanager.queryRunningAbilityMissionInfos(maxnum);
        abilitymanager.removeMission(result[0].id,
C
chensi10 已提交
253 254 255
            (error, info) => {
                console.info('Acts_Ams_test_0800 removeMission error.code \
                ' + error.code + ',data  [' + info + ']');
C
chensi10 已提交
256 257 258 259 260
                expect(info).assertLarger(0);
            });
        done();
    })

C
chensi10 已提交
261 262 263 264 265
    /*
     * @tc.number    : Acts_Ams_test_1200
     * @tc.name      : moveMissionToTop : Move Mission To Top
     * @tc.desc      : Move Mission To Top(by CallBack)
     */
C
chensi10 已提交
266 267 268 269
    it('Acts_Ams_test_1200', 0, async function (done) {
        var maxnum = 10;
        var result = await abilitymanager.queryRunningAbilityMissionInfos(maxnum);
        abilitymanager.moveMissionToTop(result[0].id,
C
chensi10 已提交
270 271 272
            (error, info) => {
                console.info('Acts_Ams_test_1200 moveMissionToTop error.code \
                ' + error.code + ',data  [' + info + ']');
C
chensi10 已提交
273 274 275 276
                expect(info).assertEqual(0);
            });
        done();
    })
C
chensi10 已提交
277 278 279 280 281 282

    /*
     * @tc.number    : Acts_Ams_test_1400
     * @tc.name      : removeMissions : Remove Missions
     * @tc.desc      : Remove Missions(by CallBack)
     */
C
chensi10 已提交
283 284 285 286
    it('Acts_Ams_test_1400', 0, async function (done) {
        var maxnum = 10;
        var result = await abilitymanager.queryRunningAbilityMissionInfos(maxnum);
        abilitymanager.removeMissions([result[0].id],
C
chensi10 已提交
287 288 289
            (error, info) => {
                console.info('Acts_Ams_test_1400 removeMissions error.code \
                ' + error.code + ',data  [' + info + ']');
C
chensi10 已提交
290 291 292 293 294
                expect(info).assertLarger(0);
            });
        done();
    })

C
chensi10 已提交
295 296 297 298 299
    /*
     * @tc.number    : Acts_Ams_test_1000
     * @tc.name      : clearMissions : Clear Missions
     * @tc.desc      : Clear Missions(by CallBack)
     */
C
chensi10 已提交
300 301
    it('Acts_Ams_test_1000', 0, async function (done) {
        abilitymanager.clearMissions(
C
chensi10 已提交
302 303 304
            (error, info) => {
                console.info('Acts_Ams_test_1000 clearMissions error.code \
                ' + error.code + ',data  [' + info + ']');
C
chensi10 已提交
305 306 307 308 309
                expect(info).assertLarger(0);
            });
        done();
    })

C
chensi10 已提交
310 311 312 313 314
    /*
     * @tc.number    : Acts_Ams_test_1600
     * @tc.name      : killProcessesByBundleName : Kill Processes By BundleName
     * @tc.desc      : Kill Processes By BundleName(by CallBack)
     */
C
chensi10 已提交
315 316
    it('Acts_Ams_test_1600', 0, async function (done) {
        abilitymanager.killProcessesByBundleName('com.ix.simulate.feature',
C
chensi10 已提交
317 318 319
            (error, info) => {
                console.info('Acts_Ams_test_1600 killProcessesByBundleName error.code: \
                ' + error.code + ',data  [' + info + ']');
C
chensi10 已提交
320 321 322 323 324 325 326 327
                expect(info).assertEqual(0);
            });
        done();

    })
})