1/* 2 * Copyright (c) 2021 Huawei Device Co., Ltd. 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15 16import app from '@system.app' 17import { describe, beforeAll, beforeEach, afterEach, afterAll, it, expect } from '@ohos/hypium' 18import demo from '@ohos.bundle' 19import account from '@ohos.account.osAccount' 20 21const ERROR = "error.hap" 22const NAME1 = "com.example.myapplication1" 23const NAME2 = "com.example.myapplication2" 24const NAME3 = "com.example.myapplication4" 25const NAME4 = "com.example.myapplication5" 26const NAME5 = "com.example.myapplication6" 27const VERSIONCODE1 = 1 28const OBJECT = "object" 29const DIR1 = "/data/app/el1/bundle/public/com.example.myapplication1/com.example.myapplication1" 30const DIR2 = "/data/app/el1/bundle/public/com.example.myapplication2/com.example.myapplication2" 31const DIR3 = "/data/app/el1/bundle/public/com.example.myapplication2/com.example.myapplication1" 32const DESCRIPTION = "$string:mainability_description" 33const APPLICATION_DESCRIPTION = "$string:entry_description" 34const FLAGONE = "1" 35const FLAGTWO = "2" 36let userId = 0; 37 38export default function ActsBundleManagerTest() { 39describe('ActsBundleManagerTest', function () { 40 41 beforeAll(async function (done) { 42 await account.getAccountManager().getOsAccountLocalIdFromProcess().then(account => { 43 console.info("getOsAccountLocalIdFromProcess userid ==========" + account); 44 userId = account; 45 done(); 46 }).catch(err => { 47 console.info("getOsAccountLocalIdFromProcess err ==========" + JSON.stringify(err)); 48 done(); 49 }) 50 }); 51 52 /** 53 * @tc.number Sub_Bms_Framework_Query_AppInfo_1960 54 * @tc.name testGetBundleInfoReqPermissionPromise 55 * @tc.desc Test getBundleInfo interfaces with one hap.(by promise) 56 */ 57 it('testGetBundleInfoReqPermissionPromise', 0, async function (done) { 58 let datainfo = await demo.getBundleInfo(NAME1, 59 demo.BundleFlag.GET_BUNDLE_WITH_ABILITIES | demo.BundleFlag.GET_BUNDLE_WITH_REQUESTED_PERMISSION); 60 expect(datainfo.name).assertEqual(NAME1); 61 expect(datainfo.vendor).assertEqual("example"); 62 expect(datainfo.versionCode).assertEqual(VERSIONCODE1); 63 expect(datainfo.versionName).assertEqual("1.0"); 64 expect(datainfo.entryModuleName).assertEqual("entry"); 65 expect(datainfo.compatibleVersion).assertEqual(12); 66 expect(datainfo.targetVersion).assertEqual(12); 67 expect(datainfo.uid).assertLarger(0); 68 expect(datainfo.appId).assertContain(NAME1); 69 expect(datainfo.type).assertEqual(""); 70 expect(datainfo.cpuAbi).assertEqual(""); 71 expect(datainfo.appInfo.name).assertEqual(NAME1); 72 expect(datainfo.appInfo.description).assertEqual(APPLICATION_DESCRIPTION); 73 expect(datainfo.appInfo.descriptionId >= 0).assertTrue(); 74 expect(datainfo.appInfo.icon).assertEqual("$media:icon"); 75 expect(datainfo.appInfo.iconId >= 0).assertTrue(); 76 expect(datainfo.appInfo.label).assertEqual("$string:app_name"); 77 expect(datainfo.appInfo.labelId >= 0).assertTrue(); 78 expect(datainfo.appInfo.systemApp).assertEqual(false); 79 expect(datainfo.appInfo.supportedModes).assertEqual(0); 80 expect(datainfo.installTime).assertLarger(0); 81 expect(datainfo.updateTime).assertLarger(0); 82 expect(datainfo.reqPermissions[0]).assertEqual("com.permission.PERMISSION_A"); 83 expect(datainfo.reqPermissionDetails[0].name).assertEqual("com.permission.PERMISSION_A"); 84 expect(datainfo.reqPermissionDetails[0].reason).assertEqual("Need PERMISSION_A"); 85 expect(datainfo.reqPermissionDetails[0].usedScene.abilities[0]).assertEqual(NAME1 + ".MainAbility"); 86 expect(datainfo.reqPermissionDetails[0].usedScene.when).assertEqual("always"); 87 expect(datainfo.compatibleVersion).assertEqual(12); 88 expect(datainfo.targetVersion).assertEqual(12); 89 expect(datainfo.isCompressNativeLibs).assertEqual(true); 90 for (let s = 0; s < datainfo.hapModuleInfos.length; s++) { 91 expect(datainfo.hapModuleInfos[s].name).assertEqual("com.example.myapplication1.MyApplication1"); 92 expect(datainfo.hapModuleInfos[s].moduleName).assertEqual("entry"); 93 } 94 expect(datainfo.entryModuleName).assertEqual("entry"); 95 expect(datainfo.isSilentInstallation.length).assertEqual(0); 96 expect(datainfo.minCompatibleVersionCode).assertEqual(1); 97 expect(datainfo.entryInstallationFree).assertEqual(false); 98 for (let j = 0; j < datainfo.appInfo.moduleInfos.length; j++) { 99 expect(datainfo.appInfo.moduleInfos[j].moduleName).assertEqual("entry"); 100 expect(datainfo.appInfo.moduleInfos[j].moduleSourceDir).assertEqual(''); 101 } 102 expect(datainfo.appInfo.enabled).assertEqual(true); 103 done(); 104 }) 105 106 /** 107 * @tc.number Sub_Bms_Framework_Query_AppInfo_2060 108 * @tc.name testGetBundeInfoReqPermissionCallback 109 * @tc.desc Test getBundleInfo interfaces with one hap.(by callback) 110 */ 111 it('testGetBundeInfoReqPermissionCallback', 0, async function (done) { 112 await demo.getBundleInfo(NAME1, 113 demo.BundleFlag.GET_BUNDLE_WITH_ABILITIES | demo.BundleFlag.GET_BUNDLE_WITH_REQUESTED_PERMISSION, 114 OnReceiveEvent); 115 function OnReceiveEvent(err, datainfo) { 116 checkBundleInfo0200(datainfo) 117 done(); 118 } 119 }) 120 121 function checkBundleInfo0200(datainfo) { 122 console.info("testGetBundeInfoReqPermissionCallback dataInfo ====" + datainfo); 123 expect(datainfo.name).assertEqual(NAME1); 124 expect(datainfo.vendor).assertEqual("example"); 125 expect(datainfo.versionCode).assertEqual(VERSIONCODE1); 126 expect(datainfo.versionName).assertEqual("1.0"); 127 expect(datainfo.entryModuleName).assertEqual("entry"); 128 expect(datainfo.compatibleVersion).assertEqual(12); 129 expect(datainfo.targetVersion).assertEqual(12); 130 expect(datainfo.uid).assertLarger(0); 131 expect(datainfo.appId).assertContain(NAME1); 132 expect(datainfo.type).assertEqual(""); 133 expect(datainfo.cpuAbi).assertEqual(""); 134 expect(datainfo.appInfo.name).assertEqual(NAME1); 135 expect(datainfo.appInfo.description).assertEqual(APPLICATION_DESCRIPTION); 136 expect(datainfo.appInfo.descriptionId >= 0).assertTrue(); 137 expect(datainfo.appInfo.icon).assertEqual("$media:icon"); 138 expect(datainfo.appInfo.iconId >= 0).assertTrue(); 139 expect(datainfo.appInfo.label).assertEqual("$string:app_name"); 140 expect(datainfo.appInfo.labelId >= 0).assertTrue(); 141 expect(datainfo.appInfo.systemApp).assertEqual(false); 142 expect(datainfo.appInfo.supportedModes).assertEqual(0); 143 expect(datainfo.installTime).assertLarger(0); 144 expect(datainfo.updateTime).assertLarger(0); 145 expect(datainfo.reqPermissions[0]).assertEqual("com.permission.PERMISSION_A"); 146 expect(datainfo.reqPermissionDetails[0].name).assertEqual("com.permission.PERMISSION_A"); 147 expect(datainfo.reqPermissionDetails[0].reason).assertEqual("Need PERMISSION_A"); 148 expect(datainfo.reqPermissionDetails[0].usedScene.abilities[0]).assertEqual(NAME1 + ".MainAbility"); 149 expect(datainfo.reqPermissionDetails[0].usedScene.when).assertEqual("always"); 150 expect(datainfo.compatibleVersion).assertEqual(12); 151 expect(datainfo.targetVersion).assertEqual(12); 152 expect(datainfo.isCompressNativeLibs).assertEqual(true); 153 for (let s = 0; s < datainfo.hapModuleInfos.length; s++) { 154 expect(datainfo.hapModuleInfos[s].name).assertEqual("com.example.myapplication1.MyApplication1"); 155 expect(datainfo.hapModuleInfos[s].moduleName).assertEqual("entry"); 156 } 157 expect(datainfo.entryModuleName).assertEqual("entry"); 158 expect(datainfo.isSilentInstallation.length).assertEqual(0); 159 expect(datainfo.minCompatibleVersionCode).assertEqual(1); 160 expect(datainfo.entryInstallationFree).assertEqual(false); 161 for (let j = 0; j < datainfo.appInfo.moduleInfos.length; j++) { 162 expect(datainfo.appInfo.moduleInfos[j].moduleName).assertEqual("entry"); 163 expect(datainfo.appInfo.moduleInfos[j].moduleSourceDir).assertEqual(''); 164 } 165 expect(datainfo.appInfo.enabled).assertEqual(true); 166 } 167 168 /** 169 * @tc.number Sub_Bms_Framework_Query_AppInfo_1980 170 * @tc.name testGetBundleInfoMultiHapPromise 171 * @tc.desc Test getBundleInfo interfaces with two haps.(by promise) 172 */ 173 it('testGetBundleInfoMultiHapPromise', 0, async function (done) { 174 let datainfo = await demo.getBundleInfo(NAME2, demo.BundleFlag.GET_BUNDLE_WITH_ABILITIES); 175 console.info("testGetBundleInfoMultiHapPromise dataInfo ====" + datainfo); 176 expect(datainfo.name).assertEqual(NAME2); 177 expect(datainfo.vendor).assertEqual("example"); 178 expect(datainfo.versionCode).assertEqual(1); 179 expect(datainfo.versionName).assertLarger(0); 180 expect(datainfo.entryModuleName).assertEqual("entry"); 181 expect(datainfo.appInfo.name).assertEqual(NAME2); 182 expect(datainfo.appInfo.description).assertEqual(APPLICATION_DESCRIPTION); 183 expect(datainfo.appInfo.descriptionId >= 0).assertTrue(); 184 expect(datainfo.appInfo.icon).assertEqual("$media:icon"); 185 expect(datainfo.appInfo.iconId >= 0).assertTrue(); 186 expect(datainfo.appInfo.label).assertEqual("$string:app_name"); 187 expect(datainfo.appInfo.labelId >= 0).assertTrue(); 188 expect(datainfo.appInfo.systemApp).assertEqual(false); 189 done(); 190 }) 191 192 /** 193 * @tc.number Sub_Bms_Framework_Query_AppInfo_2080 194 * @tc.name testGetBundleInfoMultiHapCallback 195 * @tc.desc Test getBundleInfo interfaces with two haps.(by callback) 196 */ 197 it('testGetBundleInfoMultiHapCallback', 0, async function (done) { 198 await demo.getBundleInfo(NAME2, demo.BundleFlag.GET_BUNDLE_WITH_ABILITIES, OnReceiveEvent); 199 function OnReceiveEvent(err, datainfo) { 200 console.info("testGetBundleInfoMultiHapCallback dataInfo ====" + datainfo); 201 expect(datainfo.name).assertEqual(NAME2); 202 expect(datainfo.vendor).assertEqual("example"); 203 expect(datainfo.versionCode).assertEqual(1); 204 expect(datainfo.versionName).assertLarger(0); 205 expect(datainfo.entryModuleName).assertEqual("entry"); 206 expect(datainfo.appInfo.name).assertEqual(NAME2); 207 expect(datainfo.appInfo.description).assertEqual(APPLICATION_DESCRIPTION); 208 expect(datainfo.appInfo.descriptionId >= 0).assertTrue(); 209 expect(datainfo.appInfo.icon).assertEqual("$media:icon"); 210 expect(datainfo.appInfo.iconId >= 0).assertTrue(); 211 expect(datainfo.appInfo.label).assertEqual("$string:app_name"); 212 expect(datainfo.appInfo.labelId >= 0).assertTrue(); 213 expect(datainfo.appInfo.systemApp).assertEqual(false); 214 done(); 215 } 216 }) 217 218 /** 219 * @tc.number Sub_Bms_Framework_Query_AppInfo_2000 220 * @tc.name testGetBundleInfoPromise 221 * @tc.desc Test getBundleInfo interfaces with one hap. (by promise) 222 */ 223 it('testGetBundleInfoPromise', 0, async function (done) { 224 let datainfo = await demo.getBundleInfo(NAME1, demo.BundleFlag.GET_BUNDLE_WITH_ABILITIES); 225 console.info("testGetBundleInfoPromise dataInfo ====" + datainfo); 226 expect(datainfo.name).assertEqual(NAME1); 227 expect(datainfo.vendor).assertEqual("example"); 228 expect(datainfo.versionCode).assertEqual(VERSIONCODE1); 229 expect(datainfo.versionName).assertEqual("1.0"); 230 expect(datainfo.type).assertEqual(""); 231 expect(datainfo.cpuAbi).assertEqual(""); 232 expect(datainfo.compatibleVersion).assertEqual(12); 233 expect(datainfo.targetVersion).assertEqual(12); 234 expect(datainfo.installTime).assertLarger(0); 235 expect(datainfo.updateTime).assertLarger(0); 236 expect(datainfo.uid).assertLarger(0); 237 expect(datainfo.entryModuleName).assertEqual("entry"); 238 expect(datainfo.minCompatibleVersionCode).assertEqual(1); 239 expect(datainfo.entryInstallationFree).assertEqual(false); 240 expect(datainfo.reqPermissions.length).assertEqual(0); 241 expect(datainfo.reqPermissionStates.length).assertEqual(0); 242 expect(datainfo.reqPermissionDetails.length).assertEqual(0); 243 expect(datainfo.appInfo.name).assertEqual(NAME1); 244 expect(datainfo.appInfo.description).assertEqual(APPLICATION_DESCRIPTION); 245 expect(datainfo.appInfo.descriptionId >= 0).assertTrue(); 246 expect(datainfo.appInfo.icon).assertEqual("$media:icon"); 247 expect(datainfo.appInfo.iconId >= 0).assertTrue(); 248 expect(datainfo.appInfo.label).assertEqual("$string:app_name"); 249 expect(datainfo.appInfo.labelId >= 0).assertTrue(); 250 expect(datainfo.appInfo.systemApp).assertEqual(false); 251 expect(datainfo.appInfo.supportedModes).assertEqual(0); 252 for (let j = 0; j < datainfo.appInfo.moduleInfos.length; j++) { 253 expect(datainfo.appInfo.moduleInfos[j].moduleName).assertEqual("entry"); 254 expect(datainfo.appInfo.moduleInfos[j].moduleSourceDir).assertEqual(''); 255 } 256 expect(datainfo.appInfo.enabled).assertEqual(true); 257 done(); 258 }) 259 260 /** 261 * @tc.number Sub_Bms_Framework_Query_AppInfo_2100 262 * @tc.name testGetBundleInfoCallback 263 * @tc.desc Test getBundleInfo interfaces with one hap. (by callback) 264 */ 265 it('testGetBundleInfoCallback', 0, async function (done) { 266 await demo.getBundleInfo(NAME1, demo.BundleFlag.GET_BUNDLE_WITH_ABILITIES | 267 demo.BundleFlag.GET_ABILITY_INFO_WITH_DISABLE, OnReceiveEvent); 268 function OnReceiveEvent(err, datainfo) { 269 console.info("testGetBundleInfoCallback dataInfo ====" + datainfo); 270 expect(datainfo.name).assertEqual(NAME1); 271 expect(datainfo.vendor).assertEqual("example"); 272 expect(datainfo.versionCode).assertEqual(VERSIONCODE1); 273 expect(datainfo.versionName).assertEqual("1.0"); 274 expect(datainfo.type).assertEqual(""); 275 expect(datainfo.cpuAbi).assertEqual(""); 276 expect(datainfo.compatibleVersion).assertEqual(12); 277 expect(datainfo.targetVersion).assertEqual(12); 278 expect(datainfo.installTime).assertLarger(0); 279 expect(datainfo.updateTime).assertLarger(0); 280 expect(datainfo.uid).assertLarger(0); 281 expect(datainfo.entryModuleName).assertEqual("entry"); 282 expect(datainfo.minCompatibleVersionCode).assertEqual(1); 283 expect(datainfo.entryInstallationFree).assertEqual(false); 284 expect(datainfo.reqPermissions.length).assertEqual(0); 285 expect(datainfo.reqPermissionStates.length).assertEqual(0); 286 expect(datainfo.reqPermissionDetails.length).assertEqual(0); 287 expect(datainfo.appInfo.name).assertEqual(NAME1); 288 expect(datainfo.appInfo.description).assertEqual(APPLICATION_DESCRIPTION); 289 expect(datainfo.appInfo.descriptionId >= 0).assertTrue(); 290 expect(datainfo.appInfo.icon).assertEqual("$media:icon"); 291 expect(datainfo.appInfo.iconId >= 0).assertTrue(); 292 expect(datainfo.appInfo.label).assertEqual("$string:app_name"); 293 expect(datainfo.appInfo.labelId >= 0).assertTrue(); 294 expect(datainfo.appInfo.systemApp).assertEqual(false); 295 expect(datainfo.appInfo.supportedModes).assertEqual(0); 296 for (let j = 0; j < datainfo.appInfo.moduleInfos.length; j++) { 297 expect(datainfo.appInfo.moduleInfos[j].moduleName).assertEqual("entry"); 298 expect(datainfo.appInfo.moduleInfos[j].moduleSourceDir).assertEqual(''); 299 } 300 expect(datainfo.appInfo.enabled).assertEqual(true); 301 done(); 302 } 303 }) 304 305 /** 306 * @tc.number Sub_Bms_Framework_Query_AppInfo_2020 307 * @tc.name testGetBundleInfoNotExistPromise 308 * @tc.desc Test getBundleInfo interfaces with error hap. (by promise) 309 */ 310 it('testGetBundleInfoNotExistPromise', 0, async function (done) { 311 await demo.getBundleInfo('error', demo.BundleFlag.GET_BUNDLE_WITH_ABILITIES).then(datainfo => { 312 console.info("testGetBundleInfoNotExistPromise success:" + JSON.stringify(datainfo)); 313 expect(datainfo).assertFail(); 314 done(); 315 }).catch(err => { 316 console.info("testGetBundleInfoNotExistPromise err:" + JSON.stringify(err)); 317 expect(err).assertEqual(1); 318 done(); 319 }); 320 }) 321 322 /** 323 * @tc.number Sub_Bms_Framework_Query_AppInfo_2120 324 * @tc.name testGetBundleInfoNotExistCallback 325 * @tc.desc Test getBundleInfo interfaces with error hap. (by callback) 326 */ 327 it('testGetBundleInfoNotExistCallback', 0, async function (done) { 328 await demo.getBundleInfo('error', demo.BundleFlag.GET_BUNDLE_WITH_ABILITIES, OnReceiveEvent); 329 function OnReceiveEvent(err, datainfo) { 330 if (err) { 331 console.info("testGetBundleInfoNotExistCallback err" + JSON.stringify(err)); 332 expect(err).assertEqual(1); 333 done(); 334 return; 335 } 336 console.info("testGetBundleInfoNotExistCallback success" + JSON.stringify(datainfo)); 337 expect(datainfo).assertFail(); 338 done(); 339 } 340 }) 341 342 /** 343 * @tc.number Sub_Bms_Framework_Query_AppInfo_2040 344 * @tc.name testGetBundleInfoInvalidParamPromise 345 * @tc.desc Test getBundleInfo interfaces with none hap. (by promise) 346 */ 347 it('testGetBundleInfoInvalidParamPromise', 0, async function (done) { 348 await demo.getBundleInfo(' ', demo.BundleFlag.GET_BUNDLE_WITH_ABILITIES).then(datainfo => { 349 console.info("testGetBundleInfoInvalidParamPromise success" + JSON.stringify(datainfo)); 350 expect(datainfo).assertFail(); 351 done(); 352 }).catch(err => { 353 console.info("testGetBundleInfoInvalidParamPromise fail" + JSON.stringify(err)); 354 expect(err).assertEqual(1); 355 done(); 356 }); 357 }) 358 359 /** 360 * @tc.number Sub_Bms_Framework_Query_AppInfo_2140 361 * @tc.name testGetBundleInfoInvalidParamCallback 362 * @tc.desc Test getBundleInfo interfaces with none hap. (by callback) 363 */ 364 it('testGetBundleInfoInvalidParamCallback', 0, async function (done) { 365 await demo.getBundleInfo(' ', demo.BundleFlag.GET_BUNDLE_WITH_ABILITIES, OnReceiveEvent); 366 function OnReceiveEvent(err, datainfo) { 367 if (err) { 368 console.info("testGetBundleInfoInvalidParamCallback err" + JSON.stringify(err)); 369 expect(err).assertEqual(1); 370 done(); 371 return; 372 } 373 console.info("testGetBundleInfoInvalidParamCallback success" + JSON.stringify(datainfo)); 374 expect(datainfo).assertFail(); 375 done(); 376 } 377 }) 378 379 /** 380 * @tc.number Sub_Bms_Framework_Query_AppInfo_2160 381 * @tc.name testGetBundleInfoDifferentParamPromise 382 * @tc.desc Test getBundleInfo interfaces with one hap and different param. (by promise) 383 */ 384 it('testGetBundleInfoDifferentParamPromise', 0, async function (done) { 385 let datainfo = await demo.getBundleInfo(NAME1, demo.BundleFlag.GET_BUNDLE_DEFAULT) 386 console.info("testGetBundleInfoDifferentParamPromise dataInfo ====" + datainfo); 387 expect(datainfo.name).assertEqual(NAME1); 388 expect(datainfo.vendor).assertEqual("example"); 389 expect(datainfo.versionCode).assertEqual(VERSIONCODE1); 390 expect(datainfo.versionName).assertLarger(0); 391 expect(datainfo.entryModuleName).assertEqual("entry"); 392 expect(datainfo.appInfo.name).assertEqual(NAME1); 393 expect(datainfo.appInfo.description).assertEqual(APPLICATION_DESCRIPTION); 394 expect(datainfo.appInfo.descriptionId >= 0).assertTrue(); 395 expect(datainfo.appInfo.icon).assertEqual("$media:icon"); 396 expect(datainfo.appInfo.iconId >= 0).assertTrue(); 397 expect(datainfo.appInfo.label).assertEqual("$string:app_name"); 398 expect(datainfo.appInfo.labelId >= 0).assertTrue(); 399 expect(datainfo.appInfo.systemApp).assertEqual(false); 400 expect(datainfo.appInfo.supportedModes).assertEqual(0); 401 expect(datainfo.appInfo.enabled).assertEqual(true); 402 done(); 403 }) 404 405 /** 406 * @tc.number Sub_Bms_Framework_Query_AppInfo_2180 407 * @tc.name testGetBundleInfoDifferentParamCallback 408 * @tc.desc Test getBundleInfo interfaces with one hap and different param. (by callback) 409 */ 410 it('testGetBundleInfoDifferentParamCallback', 0, async function (done) { 411 await demo.getBundleInfo(NAME1, demo.BundleFlag.GET_BUNDLE_DEFAULT, OnReceiveEvent) 412 function OnReceiveEvent(err, datainfo) { 413 console.info("testGetBundleInfoDifferentParamCallback dataInfo ====" + datainfo); 414 expect(datainfo.name).assertEqual(NAME1); 415 expect(datainfo.vendor).assertEqual("example"); 416 expect(datainfo.versionCode).assertEqual(VERSIONCODE1); 417 expect(datainfo.versionName).assertLarger(0); 418 expect(datainfo.entryModuleName).assertEqual("entry"); 419 expect(datainfo.appInfo.name).assertEqual(NAME1); 420 expect(datainfo.appInfo.description).assertEqual(APPLICATION_DESCRIPTION); 421 expect(datainfo.appInfo.descriptionId >= 0).assertTrue(); 422 expect(datainfo.appInfo.icon).assertEqual("$media:icon"); 423 expect(datainfo.appInfo.iconId >= 0).assertTrue(); 424 expect(datainfo.appInfo.label).assertEqual("$string:app_name"); 425 expect(datainfo.appInfo.labelId >= 0).assertTrue(); 426 expect(datainfo.appInfo.systemApp).assertEqual(false); 427 expect(datainfo.appInfo.supportedModes).assertEqual(0); 428 for (let j = 0; j < datainfo.appInfo.moduleInfos.length; j++) { 429 expect(datainfo.appInfo.moduleInfos[j].moduleName).assertEqual("entry"); 430 expect(datainfo.appInfo.moduleInfos[j].moduleSourceDir).assertEqual(''); 431 } 432 expect(datainfo.appInfo.enabled).assertEqual(true); 433 done(); 434 } 435 }) 436 437 /** 438 * @tc.number Sub_Bms_Framework_Query_AppInfo_2200 439 * @tc.name testGetBundleInfoSystemAppCallback 440 * @tc.desc Test getBundleInfo interfaces with systemApp.(by callback) 441 */ 442 it('testGetBundleInfoSystemAppCallback', 0, async function (done) { 443 let bundleOptions = { 444 userId: userId 445 }; 446 demo.getBundleInfo(NAME1, demo.BundleFlag.GET_BUNDLE_WITH_ABILITIES, 447 bundleOptions, (err, datainfo) => { 448 if (err) { 449 console.info("testGetBundleInfoSystemAppCallback fail:" + JSON.stringify(err)); 450 expect(err).assertFail(); 451 done(); 452 return; 453 } 454 console.info("testGetBundleInfoSystemAppCallback success:" + JSON.stringify(datainfo)); 455 expect(datainfo.name).assertEqual(NAME1); 456 expect(datainfo.vendor).assertEqual("example"); 457 expect(datainfo.versionCode).assertEqual(1); 458 expect(datainfo.versionName.length).assertLarger(0); 459 expect(datainfo.uid).assertLarger(2099); 460 expect(datainfo.appInfo.name).assertEqual(NAME1); 461 expect(datainfo.appInfo.systemApp).assertEqual(false); 462 expect(datainfo.appInfo.supportedModes).assertEqual(0); 463 expect(datainfo.appInfo.moduleInfos.length).assertLarger(0); 464 expect(datainfo.appInfo.enabled).assertEqual(true); 465 done(); 466 }) 467 }) 468 469 /** 470 * @tc.number Sub_Bms_Framework_Query_AppInfo_2220 471 * @tc.name testGetBundleInfoCurrentUserIdPromise 472 * @tc.desc Test getBundleInfo interface with current userId (by promise). 473 */ 474 it('testGetBundleInfoCurrentUserIdPromise', 0, async function (done) { 475 let bundleOptions = { 476 userId: userId 477 }; 478 let dataInfo = await demo.getBundleInfo(NAME1, demo.BundleFlag.GET_BUNDLE_WITH_ABILITIES, bundleOptions); 479 console.info("testGetBundleInfoCurrentUserIdPromise start --------"); 480 console.info("testGetBundleInfoCurrentUserIdPromise dataInfo ====" + dataInfo); 481 expect(dataInfo.name).assertEqual(NAME1); 482 expect(dataInfo.vendor).assertEqual("example"); 483 expect(dataInfo.versionCode).assertEqual(VERSIONCODE1); 484 expect(dataInfo.versionName).assertLarger(0); 485 expect(dataInfo.entryModuleName).assertEqual("entry"); 486 expect(dataInfo.appInfo.name).assertEqual(NAME1); 487 expect(dataInfo.appInfo.description).assertEqual(APPLICATION_DESCRIPTION); 488 expect(dataInfo.appInfo.descriptionId >= 0).assertTrue(); 489 expect(dataInfo.appInfo.icon).assertEqual("$media:icon"); 490 expect(dataInfo.appInfo.iconId >= 0).assertTrue(); 491 expect(dataInfo.appInfo.label).assertEqual("$string:app_name"); 492 expect(dataInfo.appInfo.labelId >= 0).assertTrue(); 493 expect(dataInfo.appInfo.systemApp).assertEqual(false); 494 expect(dataInfo.appInfo.supportedModes).assertEqual(0); 495 expect(dataInfo.updateTime).assertLarger(0); 496 expect(dataInfo.reqPermissions.length).assertEqual(0); 497 expect(dataInfo.reqPermissionDetails.length).assertEqual(0); 498 expect(dataInfo.compatibleVersion).assertEqual(12); 499 expect(dataInfo.targetVersion).assertEqual(12); 500 expect(dataInfo.isCompressNativeLibs).assertEqual(true); 501 for (let s = 0; s < dataInfo.hapModuleInfos.length; s++) { 502 expect(dataInfo.hapModuleInfos[s].name).assertEqual("com.example.myapplication1.MyApplication1"); 503 expect(dataInfo.hapModuleInfos[s].moduleName).assertEqual("entry"); 504 } 505 expect(dataInfo.entryModuleName).assertEqual("entry"); 506 expect(dataInfo.isSilentInstallation.length).assertEqual(0); 507 expect(dataInfo.minCompatibleVersionCode).assertEqual(1); 508 expect(dataInfo.entryInstallationFree).assertEqual(false); 509 for (let j = 0; j < dataInfo.appInfo.moduleInfos.length; j++) { 510 expect(dataInfo.appInfo.moduleInfos[j].moduleName).assertEqual("entry"); 511 expect(dataInfo.appInfo.moduleInfos[j].moduleSourceDir).assertEqual(''); 512 } 513 expect(dataInfo.appInfo.enabled).assertEqual(true); 514 console.info("testGetBundleInfoCurrentUserIdPromise end --------"); 515 done(); 516 }) 517 518 /** 519 * @tc.number Sub_Bms_Framework_Query_AppInfo_2240 520 * @tc.name testGetBundleInfoCurrentUserIdCallback 521 * @tc.desc Test getBundleInfo interface with current userId (by callback). 522 */ 523 it('testGetBundleInfoCurrentUserIdCallback', 0, async function (done) { 524 let bundleOptions = { 525 userId: userId 526 }; 527 demo.getBundleInfo(NAME1, demo.BundleFlag.GET_BUNDLE_WITH_ABILITIES, bundleOptions, (err, dataInfo) => { 528 console.info("testGetBundleInfoCurrentUserIdCallback start --------"); 529 console.info("testGetBundleInfoCurrentUserIdCallback dataInfo ====" + dataInfo); 530 expect(dataInfo.name).assertEqual(NAME1); 531 expect(dataInfo.vendor).assertEqual("example"); 532 expect(dataInfo.versionCode).assertEqual(VERSIONCODE1); 533 expect(dataInfo.versionName).assertLarger(0); 534 expect(dataInfo.entryModuleName).assertEqual("entry"); 535 expect(dataInfo.appInfo.name).assertEqual(NAME1); 536 expect(dataInfo.appInfo.description).assertEqual(APPLICATION_DESCRIPTION); 537 expect(dataInfo.appInfo.descriptionId >= 0).assertTrue(); 538 expect(dataInfo.appInfo.icon).assertEqual("$media:icon"); 539 expect(dataInfo.appInfo.iconId >= 0).assertTrue(); 540 expect(dataInfo.appInfo.label).assertEqual("$string:app_name"); 541 expect(dataInfo.appInfo.labelId >= 0).assertTrue(); 542 expect(dataInfo.appInfo.systemApp).assertEqual(false); 543 expect(dataInfo.appInfo.supportedModes).assertEqual(0); 544 expect(dataInfo.updateTime).assertLarger(0); 545 expect(dataInfo.reqPermissions.length).assertEqual(0); 546 expect(dataInfo.reqPermissionDetails.length).assertEqual(0); 547 expect(dataInfo.compatibleVersion).assertEqual(12); 548 expect(dataInfo.targetVersion).assertEqual(12); 549 expect(dataInfo.isCompressNativeLibs).assertEqual(true); 550 for (let s = 0; s < dataInfo.hapModuleInfos.length; s++) { 551 expect(dataInfo.hapModuleInfos[s].name).assertEqual("com.example.myapplication1.MyApplication1"); 552 expect(dataInfo.hapModuleInfos[s].moduleName).assertEqual("entry"); 553 } 554 expect(dataInfo.entryModuleName).assertEqual("entry"); 555 expect(dataInfo.isSilentInstallation.length).assertEqual(0); 556 expect(dataInfo.minCompatibleVersionCode).assertEqual(1); 557 expect(dataInfo.entryInstallationFree).assertEqual(false); 558 for (let j = 0; j < dataInfo.appInfo.moduleInfos.length; j++) { 559 expect(dataInfo.appInfo.moduleInfos[j].moduleName).assertEqual("entry"); 560 expect(dataInfo.appInfo.moduleInfos[j].moduleSourceDir).assertEqual(''); 561 } 562 console.info("testGetBundleInfoCurrentUserIdCallback end --------"); 563 done(); 564 }); 565 }) 566 567 /** 568 * @tc.number Sub_Bms_Framework_Query_AppInfo_2360 569 * @tc.name testGetBundleInfoOtherUserIdPromise 570 * @tc.desc Test getBundleInfo interface with other userId (by promise). 571 */ 572 it('testGetBundleInfoOtherUserIdPromise', 0, async function (done) { 573 await demo.getBundleInfo(NAME1, demo.BundleFlag.GET_BUNDLE_WITH_ABILITIES, { 574 userId: 1 575 }).then(data => { 576 console.info("testGetBundleInfoOtherUserIdPromise success" + JSON.stringify(data)); 577 expect(data).assertFail(); 578 done(); 579 }).catch(err => { 580 console.info("testGetBundleInfoOtherUserIdPromise err" + JSON.stringify(err)); 581 expect(err).assertEqual(1); 582 done(); 583 }); 584 }) 585 586 /** 587 * @tc.number Sub_Bms_Framework_Query_AppInfo_2380 588 * @tc.name testGetBundleInfoOtherUserIdCallback 589 * @tc.desc Test getBundleInfo interface with other userId (by callback). 590 */ 591 it('testGetBundleInfoOtherUserIdCallback', 0, async function (done) { 592 await demo.getBundleInfo(NAME1, demo.BundleFlag.GET_BUNDLE_WITH_ABILITIES, { 593 userId: 1 594 }, (err, dataInfo) => { 595 if (err) { 596 console.info("testGetBundleInfoOtherUserIdCallback err" + JSON.stringify(err)); 597 expect(err).assertEqual(1); 598 done(); 599 return; 600 } 601 console.info("testGetBundleInfoOtherUserIdCallback success" + JSON.stringify(dataInfo)); 602 expect(dataInfo).assertFail(); 603 done(); 604 }); 605 }) 606 607 /** 608 * @tc.number Sub_Bms_Framework_Query_AppInfo_0840 609 * @tc.name testGetAllApplicationInfoPromise 610 * @tc.desc Test getApplicationInfos interfaces with one hap. 611 */ 612 it('testGetAllApplicationInfoPromise', 0, async function (done) { 613 let datainfo = await demo.getAllApplicationInfo(demo.BundleFlag.GET_APPLICATION_INFO_WITH_PERMISSION, userId); 614 checkgetApplicationInfos(datainfo); 615 done(); 616 }) 617 618 function checkgetApplicationInfos(datainfo) { 619 console.log("=============datainfo.length===============" + datainfo.length); 620 expect(datainfo.length).assertLarger(0); 621 for (let i = 0; i < datainfo.length; i++) { 622 expect(datainfo[i].name.length).assertLarger(0); 623 if (datainfo[i].name == NAME1 || datainfo[i].name == NAME2 624 || datainfo[i].name == NAME3 || datainfo[i].name == NAME4 || datainfo[i].name == NAME5) { 625 expect(datainfo[i].description.length >= 0).assertTrue(); 626 expect(datainfo[i].icon.length).assertLarger(0); 627 expect(datainfo[i].label.length).assertLarger(0); 628 } 629 expect(datainfo[i].moduleSourceDirs.length).assertEqual(0); 630 expect(datainfo[i].moduleInfos.length).assertLarger(0); 631 expect(datainfo[i].supportedModes).assertEqual(0); 632 for (let j = 0; j < datainfo[i].moduleInfos.length; j++) { 633 expect(datainfo[i].moduleInfos[j].moduleName.length).assertLarger(0); 634 expect(datainfo[i].moduleInfos[j].moduleSourceDir.length).assertEqual(0); 635 } 636 } 637 638 } 639 640 /** 641 * @tc.number Sub_Bms_Framework_Query_AppInfo_0940 642 * @tc.name testGetAllApplicationInfoCallback 643 * @tc.desc Test getApplicationInfos interfaces with one hap. 644 */ 645 it('testGetAllApplicationInfoCallback', 0, async function (done) { 646 await demo.getAllApplicationInfo(demo.BundleFlag.GET_APPLICATION_INFO_WITH_PERMISSION, 647 userId, (error, datainfo) => { 648 expect(datainfo.length).assertLarger(0); 649 for (let i = 0; i < datainfo.length; i++) { 650 expect(datainfo[i].name.length).assertLarger(0); 651 expect(datainfo[i].moduleSourceDirs.length).assertEqual(0); 652 expect(datainfo[i].moduleInfos.length).assertLarger(0); 653 expect(datainfo[i].supportedModes).assertEqual(0); 654 for (let j = 0; j < datainfo[i].moduleInfos.length; j++) { 655 expect(datainfo[i].moduleInfos[j].moduleName.length).assertLarger(0); 656 expect(datainfo[i].moduleInfos[j].moduleSourceDir.length).assertEqual(0); 657 } 658 } 659 done(); 660 }); 661 }) 662 663 /** 664 * @tc.number Sub_Bms_Framework_Query_AppInfo_2460 665 * @tc.name testGetAllBundleInfoPromise 666 * @tc.desc Test getBundleInfos interfaces with one hap. 667 */ 668 it('testGetAllBundleInfoPromise', 0, async function (done) { 669 let data = await demo.getAllBundleInfo(demo.BundleFlag.GET_BUNDLE_DEFAULT); 670 expect(typeof data).assertEqual(OBJECT); 671 expect(data.length).assertLarger(0); 672 for (let i = 0; i < data.length; i++) { 673 expect(data[i].name.length).assertLarger(0); 674 expect(data[i].appInfo.name.length).assertLarger(0); 675 if (data[i].name == NAME1 || data[i].name == NAME2 676 || data[i].name == NAME3 || data[i].name == NAME4 || data[i].name == NAME5) { 677 expect(data[i].appInfo.description.length >= 0).assertTrue(); 678 expect(data[i].appInfo.icon.length).assertLarger(0); 679 expect(data[i].appInfo.label.length).assertLarger(0); 680 } 681 if (data[i].appInfo.codePath != FLAGONE && data[i].appInfo.codePath != FLAGTWO) { 682 expect(data[i].appInfo.supportedModes).assertEqual(0); 683 expect(data[i].appInfo.moduleInfos.length).assertLarger(0); 684 } 685 } 686 done(); 687 }) 688 689 /** 690 * @tc.number Sub_Bms_Framework_Query_AppInfo_0220 691 * @tc.name testGetApplicationInfoMetaDataPromise 692 * @tc.desc Test getApplicationInfo interfaces with one hap. (by promise) 693 */ 694 it('testGetApplicationInfoMetaDataPromise', 0, async function (done) { 695 await demo.getApplicationInfo(NAME1, 696 demo.BundleFlag.GET_APPLICATION_INFO_WITH_PERMISSION | demo.BundleFlag.GET_APPLICATION_INFO_WITH_METADATA, 697 userId).then(datainfo => { 698 expect(typeof datainfo).assertEqual(OBJECT); 699 console.info("getApplicationInfo success:" + JSON.stringify(datainfo)); 700 expect(datainfo.moduleSourceDirs.length).assertEqual(0); 701 expect(datainfo.moduleInfos.length).assertLarger(0); 702 expect(datainfo.name).assertEqual(NAME1); 703 expect(datainfo.description).assertEqual(APPLICATION_DESCRIPTION); 704 expect(datainfo.icon).assertEqual("$media:icon"); 705 expect(datainfo.label).assertEqual("$string:app_name"); 706 expect(datainfo.systemApp).assertEqual(false); 707 expect(datainfo.descriptionId).assertLarger(0); 708 expect(parseInt(datainfo.iconId)).assertLarger(0); 709 expect(parseInt(datainfo.labelId)).assertLarger(0); 710 expect(datainfo.supportedModes).assertEqual(0); 711 expect(datainfo.process).assertEqual(NAME1); 712 expect(datainfo.enabled).assertEqual(true); 713 expect(datainfo.metaData.entry[0].name).assertEqual("metaDataName"); 714 expect(datainfo.metaData.entry[0].value).assertEqual("metaDataValue"); 715 expect(datainfo.metaData.entry[0].extra).assertEqual("$string:app_name"); 716 expect(datainfo.moduleSourceDirs.length).assertEqual(0); 717 for (let j = 0; j < datainfo.moduleInfos.length; j++) { 718 expect(datainfo.moduleInfos[j].moduleName).assertEqual("entry"); 719 expect(datainfo.moduleInfos[j].moduleSourceDir.length).assertEqual(0); 720 } 721 done(); 722 }).catch(err => { 723 console.info("getApplicationInfo fail:" + JSON.stringify(err)); 724 expect(err).assertFail(); 725 done(); 726 }) 727 }) 728 729 /** 730 * @tc.number Sub_Bms_Framework_Query_AppInfo_0320 731 * @tc.name testGetApplicationInfoMetaDataCallback 732 * @tc.desc Test getApplicationInfo interfaces with one hap. (by callback) 733 */ 734 it('testGetApplicationInfoMetaDataCallback', 0, async function (done) { 735 await demo.getApplicationInfo(NAME1, 736 demo.BundleFlag.GET_APPLICATION_INFO_WITH_PERMISSION | demo.BundleFlag.GET_APPLICATION_INFO_WITH_METADATA, 737 userId, (error, datainfo) => { 738 if (error.code != 0) { 739 console.info("testGetApplicationInfoMetaDataCallback fail:" + JSON.stringify(error)); 740 expect(error).assertFail(); 741 done(); 742 return; 743 } 744 expect(typeof datainfo).assertEqual(OBJECT); 745 console.info("testGetApplicationInfoMetaDataCallback success:" + JSON.stringify(datainfo)); 746 expect(datainfo.moduleSourceDirs.length).assertEqual(0); 747 expect(datainfo.moduleInfos.length).assertLarger(0); 748 expect(datainfo.name).assertEqual(NAME1); 749 expect(datainfo.description).assertEqual(APPLICATION_DESCRIPTION); 750 expect(datainfo.icon).assertEqual("$media:icon"); 751 expect(datainfo.label).assertEqual("$string:app_name"); 752 expect(datainfo.systemApp).assertEqual(false); 753 expect(datainfo.descriptionId).assertLarger(0); 754 expect(parseInt(datainfo.iconId)).assertLarger(0); 755 expect(parseInt(datainfo.labelId)).assertLarger(0); 756 expect(datainfo.supportedModes).assertEqual(0); 757 expect(datainfo.process).assertEqual(NAME1); 758 expect(datainfo.enabled).assertEqual(true); 759 expect(datainfo.metaData.entry[0].name).assertEqual("metaDataName"); 760 expect(datainfo.metaData.entry[0].value).assertEqual("metaDataValue"); 761 expect(datainfo.metaData.entry[0].extra).assertEqual("$string:app_name"); 762 expect(datainfo.moduleSourceDirs.length).assertEqual(0); 763 for (let j = 0; j < datainfo.moduleInfos.length; j++) { 764 expect(datainfo.moduleInfos[j].moduleName).assertEqual("entry"); 765 expect(datainfo.moduleInfos[j].moduleSourceDir.length).assertEqual(0); 766 } 767 done(); 768 }) 769 }) 770 771 /** 772 * @tc.number Sub_Bms_Framework_Query_AppInfo_0240 773 * @tc.name testGetApplicationInfoTwoHapPromise 774 * @tc.desc Test getApplicationInfo interfaces with two haps. (by promise) 775 */ 776 it('testGetApplicationInfoTwoHapPromise', 0, async function (done) { 777 let datainfo = await demo.getApplicationInfo(NAME2, 778 demo.BundleFlag.GET_APPLICATION_INFO_WITH_PERMISSION, userId); 779 console.info("testGetApplicationInfoTwoHapPromise result" + JSON.stringify(datainfo)); 780 expect(typeof datainfo).assertEqual(OBJECT); 781 expect(datainfo.name.length).assertLarger(0); 782 expect(datainfo.description.length).assertLarger(0); 783 expect(datainfo.icon.length).assertLarger(0); 784 expect(datainfo.label.length).assertLarger(0); 785 expect(datainfo.moduleSourceDirs.length).assertEqual(0); 786 expect(datainfo.moduleInfos.length).assertLarger(0); 787 expect(datainfo.name).assertEqual(NAME2); 788 expect(datainfo.description).assertEqual(APPLICATION_DESCRIPTION); 789 expect(datainfo.icon).assertEqual("$media:icon"); 790 expect(datainfo.label).assertEqual("$string:app_name"); 791 expect(datainfo.systemApp).assertEqual(false); 792 expect(datainfo.descriptionId >= 0).assertTrue(); 793 expect(datainfo.iconId >= 0).assertTrue(); 794 expect(datainfo.labelId >= 0).assertTrue(); 795 expect(datainfo.supportedModes).assertEqual(0); 796 expect(datainfo.process).assertEqual(NAME2); 797 expect(datainfo.enabled).assertEqual(true); 798 expect(datainfo.moduleSourceDirs.length).assertEqual(0); 799 expect(datainfo.moduleInfos.length).assertEqual(2); 800 expect(datainfo.moduleInfos[0].moduleName).assertEqual("entry"); 801 expect(datainfo.moduleInfos[1].moduleName).assertEqual("feature"); 802 for (let j = 0; j < datainfo.moduleInfos.length; j++) { 803 expect(datainfo.moduleInfos[j].moduleSourceDir.length).assertEqual(0); 804 } 805 done(); 806 }) 807 808 /** 809 * @tc.number Sub_Bms_Framework_Query_AppInfo_0340 810 * @tc.name testGetApplicationInfoTwoHapCallback 811 * @tc.desc Test getApplicationInfo interfaces with two haps. (by callback) 812 */ 813 it('testGetApplicationInfoTwoHapCallback', 0, async function (done) { 814 await demo.getApplicationInfo(NAME2, 815 demo.BundleFlag.GET_APPLICATION_INFO_WITH_PERMISSION, userId, (error, datainfo) => { 816 console.info("testGetApplicationInfoTwoHapCallback result" + JSON.stringify(datainfo)); 817 expect(typeof datainfo).assertEqual(OBJECT); 818 expect(datainfo.name.length).assertLarger(0); 819 expect(datainfo.description.length).assertLarger(0); 820 expect(datainfo.icon.length).assertLarger(0); 821 expect(datainfo.label.length).assertLarger(0); 822 expect(datainfo.moduleSourceDirs.length).assertEqual(0); 823 expect(datainfo.moduleInfos.length).assertLarger(0); 824 expect(datainfo.name).assertEqual(NAME2); 825 expect(datainfo.description).assertEqual(APPLICATION_DESCRIPTION); 826 expect(datainfo.icon).assertEqual("$media:icon"); 827 expect(datainfo.label).assertEqual("$string:app_name"); 828 expect(datainfo.systemApp).assertEqual(false); 829 expect(datainfo.descriptionId >= 0).assertTrue(); 830 expect(datainfo.iconId >= 0).assertTrue(); 831 expect(datainfo.labelId >= 0).assertTrue(); 832 expect(datainfo.supportedModes).assertEqual(0); 833 expect(datainfo.process).assertEqual(NAME2); 834 expect(datainfo.enabled).assertEqual(true); 835 expect(datainfo.moduleSourceDirs.length).assertEqual(0); 836 expect(datainfo.moduleInfos.length).assertEqual(2); 837 expect(datainfo.moduleInfos[0].moduleName).assertEqual("entry"); 838 expect(datainfo.moduleInfos[1].moduleName).assertEqual("feature"); 839 for (let j = 0; j < datainfo.moduleInfos.length; j++) { 840 expect(datainfo.moduleInfos[j].moduleSourceDir.length).assertEqual(0); 841 } 842 done(); 843 }) 844 }) 845 846 /** 847 * @tc.number Sub_Bms_Framework_Query_AppInfo_0260 848 * @tc.name testGetApplicationInfoThereHapPromise 849 * @tc.desc Test getApplicationInfo interfaces with three haps. (by promise) 850 */ 851 it('testGetApplicationInfoThereHapPromise', 0, async function (done) { 852 let datainfo = await demo.getApplicationInfo(NAME3, demo.BundleFlag.GET_APPLICATION_INFO_WITH_PERMISSION, 853 userId); 854 console.info("testGetApplicationInfoThereHapPromise result" + JSON.stringify(datainfo)); 855 expect(datainfo.name).assertEqual(NAME3); 856 expect(datainfo.label).assertEqual("$string:app_name"); 857 expect(datainfo.icon).assertEqual("$media:icon"); 858 expect(datainfo.name).assertEqual(NAME3); 859 expect(datainfo.description).assertEqual(APPLICATION_DESCRIPTION); 860 expect(datainfo.descriptionId >= 0).assertTrue(); 861 expect(datainfo.icon).assertEqual("$media:icon"); 862 expect(datainfo.iconId >= 0).assertTrue(); 863 expect(datainfo.label).assertEqual("$string:app_name"); 864 expect(datainfo.labelId >= 0).assertTrue(); 865 expect(datainfo.systemApp).assertEqual(false); 866 expect(datainfo.supportedModes).assertEqual(0); 867 done(); 868 }) 869 870 /** 871 * @tc.number Sub_Bms_Framework_Query_AppInfo_0580 872 * @tc.name testGetApplicationInfoThereHapCallback 873 * @tc.desc Test getApplicationInfo interfaces with three haps. (by callback) 874 */ 875 it('testGetApplicationInfoThereHapCallback', 0, async function (done) { 876 await demo.getApplicationInfo(NAME3, demo.BundleFlag.GET_APPLICATION_INFO_WITH_PERMISSION, 877 userId, (error, datainfo) => { 878 console.info("testGetApplicationInfoThereHapCallback result" + JSON.stringify(datainfo)); 879 expect(datainfo.name).assertEqual(NAME3); 880 expect(datainfo.label).assertEqual("$string:app_name"); 881 expect(datainfo.icon).assertEqual("$media:icon"); 882 expect(datainfo.name).assertEqual(NAME3); 883 expect(datainfo.description).assertEqual(APPLICATION_DESCRIPTION); 884 expect(datainfo.descriptionId >= 0).assertTrue(); 885 expect(datainfo.icon).assertEqual("$media:icon"); 886 expect(datainfo.iconId >= 0).assertTrue(); 887 expect(datainfo.label).assertEqual("$string:app_name"); 888 expect(datainfo.labelId >= 0).assertTrue(); 889 expect(datainfo.systemApp).assertEqual(false); 890 expect(datainfo.supportedModes).assertEqual(0); 891 done(); 892 }) 893 }) 894 895 /** 896 * @tc.number Sub_Bms_Framework_Query_AppInfo_0280 897 * @tc.name testGetApplicationInfoNotExistCallback 898 * @tc.desc Test getApplicationInfo interfaces with error hap. (by promise) 899 */ 900 it('testGetApplicationInfoNotExistCallback', 0, async function (done) { 901 await demo.getApplicationInfo(ERROR, demo.BundleFlag.GET_APPLICATION_INFO_WITH_PERMISSION, 902 userId).then(datainfo => { 903 console.info("testGetApplicationInfoNotExistCallback success" + JSON.stringify(datainfo)); 904 expect(datainfo).assertFail(); 905 done(); 906 }).catch(err => { 907 console.info("testGetApplicationInfoNotExistCallback err" + JSON.stringify(err)); 908 expect(err.code).assertEqual(1); 909 done(); 910 }); 911 }) 912 913 /** 914 * @tc.number Sub_Bms_Framework_Query_AppInfo_0360 915 * @tc.name testGetApplicationInfoNotExistPromise 916 * @tc.desc Test getApplicationInfo interfaces with error hap. (by callback) 917 */ 918 it('testGetApplicationInfoNotExistPromise', 0, async function (done) { 919 await demo.getApplicationInfo(ERROR, demo.BundleFlag.GET_APPLICATION_INFO_WITH_PERMISSION, 920 userId, (error, datainfo) => { 921 if (error) { 922 console.info("testGetApplicationInfoNotExistPromise fail" + JSON.stringify(error)); 923 expect(error.code).assertEqual(1); 924 done(); 925 return; 926 } 927 console.info("testGetApplicationInfoNotExistPromise success" + JSON.stringify(datainfo)); 928 expect(datainfo).assertFail(); 929 done(); 930 }) 931 }) 932 933 /** 934 * @tc.number Sub_Bms_Framework_Query_AppInfo_0300 935 * @tc.name testGetApplicationInfoInvalidParamPromise 936 * @tc.desc Test getApplicationInfo interfaces with none hap. (by promise) 937 */ 938 it('testGetApplicationInfoInvalidParamPromise', 0, async function (done) { 939 await demo.getApplicationInfo('', demo.BundleFlag.GET_APPLICATION_INFO_WITH_PERMISSION, 940 userId).then(datainfo => { 941 console.info("testGetApplicationInfoInvalidParamPromise success" + JSON.stringify(datainfo)); 942 expect(datainfo).assertFail(); 943 done(); 944 }).catch(error => { 945 console.info("testGetApplicationInfoInvalidParamPromise err" + JSON.stringify(error)); 946 expect(error.code).assertEqual(1); 947 done(); 948 }); 949 }) 950 951 /** 952 * @tc.number Sub_Bms_Framework_Query_AppInfo_0380 953 * @tc.name testGetApplicationInfoInvalidParamCallback 954 * @tc.desc Test getApplicationInfo interfaces with none hap. (by callback) 955 */ 956 it('testGetApplicationInfoInvalidParamCallback', 0, async function (done) { 957 await demo.getApplicationInfo('', demo.BundleFlag.GET_APPLICATION_INFO_WITH_PERMISSION, 958 userId, (error, datainfo) => { 959 if (error) { 960 console.info("testGetApplicationInfoInvalidParamCallback fail" + JSON.stringify(error)); 961 expect(error.code).assertEqual(1); 962 done(); 963 return; 964 } 965 console.info("testGetApplicationInfoInvalidParamCallback success" + JSON.stringify(datainfo)); 966 expect(datainfo).assertFail(); 967 done(); 968 }); 969 }) 970 971 /** 972 * @tc.number Sub_Bms_Framework_Query_AppInfo_0400 973 * @tc.name testGetApplicationInfoDifferentParamPromise 974 * @tc.desc Test getApplicationInfo interfaces with one hap and different param. (by promise) 975 */ 976 it('testGetApplicationInfoDifferentParamPromise', 0, async function (done) { 977 await demo.getApplicationInfo(NAME1, demo.BundleFlag.GET_BUNDLE_DEFAULT, userId).then(datainfo => { 978 console.info("Sub_Bms_Framework_Query_AppInfo_0400 success" + JSON.stringify(datainfo)); 979 expect(typeof datainfo).assertEqual(OBJECT); 980 expect(datainfo.name).assertEqual(NAME1); 981 expect(datainfo.label).assertEqual("$string:app_name"); 982 expect(datainfo.description).assertEqual(APPLICATION_DESCRIPTION); 983 expect(datainfo.icon).assertEqual("$media:icon"); 984 expect(datainfo.descriptionId).assertLarger(0); 985 expect(parseInt(datainfo.iconId)).assertLarger(0); 986 expect(parseInt(datainfo.labelId)).assertLarger(0); 987 expect(datainfo.systemApp).assertEqual(false); 988 expect(datainfo.supportedModes).assertEqual(0); 989 done(); 990 }).catch(err => { 991 console.info("testGetApplicationInfoDifferentParamPromise fail" + JSON.stringify(err)); 992 expect(err).assertFail(); 993 done(); 994 }) 995 }) 996 997 /** 998 * @tc.number Sub_Bms_Framework_Query_AppInfo_0420 999 * @tc.name testGetApplicationInfoDifferentParamCallback 1000 * @tc.desc Test getApplicationInfo interfaces with one hap and different param. (by callback) 1001 */ 1002 it('testGetApplicationInfoDifferentParamCallback', 0, async function (done) { 1003 await demo.getApplicationInfo(NAME1, demo.BundleFlag.GET_BUNDLE_DEFAULT, userId, (error, datainfo) => { 1004 if (error.code != 0) { 1005 console.info("testGetApplicationInfoDifferentParamCallback fail" + JSON.stringify(error)); 1006 expect(error).assertFail(); 1007 done(); 1008 return; 1009 } 1010 console.info("testGetApplicationInfoDifferentParamCallback success" + JSON.stringify(datainfo)); 1011 expect(typeof datainfo).assertEqual(OBJECT); 1012 expect(datainfo.name).assertEqual(NAME1); 1013 expect(datainfo.label).assertEqual("$string:app_name"); 1014 expect(datainfo.description).assertEqual(APPLICATION_DESCRIPTION); 1015 expect(datainfo.icon).assertEqual("$media:icon"); 1016 expect(datainfo.descriptionId).assertLarger(0); 1017 expect(parseInt(datainfo.iconId)).assertLarger(0); 1018 expect(parseInt(datainfo.labelId)).assertLarger(0); 1019 expect(datainfo.systemApp).assertEqual(false); 1020 expect(datainfo.supportedModes).assertEqual(0); 1021 done(); 1022 }) 1023 }) 1024 1025 /** 1026 * @tc.number Sub_Bms_Framework_Query_AppInfo_0440 1027 * @tc.name testGetApplicationInfoPromise 1028 * @tc.desc Test getApplicationInfo interfaces with one hap. (by promise) 1029 */ 1030 it('testGetApplicationInfoPromise', 0, async function (done) { 1031 await demo.getApplicationInfo(NAME1, demo.BundleFlag.GET_APPLICATION_INFO_WITH_PERMISSION, 1032 userId).then(datainfo => { 1033 console.info("testGetApplicationInfoPromise success:" + JSON.stringify(datainfo)); 1034 expect(typeof datainfo).assertEqual(OBJECT); 1035 expect(datainfo.name).assertEqual(NAME1); 1036 expect(datainfo.label).assertEqual("$string:app_name"); 1037 expect(datainfo.description).assertEqual(APPLICATION_DESCRIPTION); 1038 expect(datainfo.icon).assertEqual("$media:icon"); 1039 expect(datainfo.descriptionId >= 0).assertTrue(); 1040 expect(parseInt(datainfo.iconId)).assertLarger(0); 1041 expect(parseInt(datainfo.labelId)).assertLarger(0); 1042 expect(datainfo.systemApp).assertEqual(false); 1043 expect(datainfo.supportedModes).assertEqual(0); 1044 expect(datainfo.enabled).assertEqual(true); 1045 for (let j = 0; j < datainfo.moduleInfos.length; j++) { 1046 expect(datainfo.moduleInfos[j].moduleName).assertEqual("entry"); 1047 expect(datainfo.moduleInfos[j].moduleSourceDir).assertEqual(''); 1048 } 1049 done(); 1050 }).catch(error => { 1051 console.info("testGetApplicationInfoPromise fail:" + JSON.stringify(error)); 1052 expect(error).assertFail(); 1053 done(); 1054 }) 1055 }) 1056 1057 /** 1058 * @tc.number Sub_Bms_Framework_Query_AppInfo_0460 1059 * @tc.name testGetApplicationInfoCallback 1060 * @tc.desc Test getApplicationInfo interfaces with one hap. (by callback) 1061 */ 1062 it('testGetApplicationInfoCallback', 0, async function (done) { 1063 await demo.getApplicationInfo(NAME1, demo.BundleFlag.GET_APPLICATION_INFO_WITH_PERMISSION, userId, 1064 (error, datainfo) => { 1065 if (error.code != 0) { 1066 console.info("testGetApplicationInfoCallback fail:" + JSON.stringify(error)); 1067 expect(error).assertFail(); 1068 done(); 1069 return; 1070 } 1071 console.info("testGetApplicationInfoCallback success:" + JSON.stringify(datainfo)); 1072 expect(typeof datainfo).assertEqual(OBJECT); 1073 expect(datainfo.name).assertEqual(NAME1); 1074 expect(datainfo.label).assertEqual("$string:app_name"); 1075 expect(datainfo.description).assertEqual(APPLICATION_DESCRIPTION); 1076 expect(datainfo.icon).assertEqual("$media:icon"); 1077 expect(datainfo.descriptionId >= 0).assertTrue(); 1078 expect(parseInt(datainfo.iconId)).assertLarger(0); 1079 expect(parseInt(datainfo.labelId)).assertLarger(0); 1080 expect(datainfo.systemApp).assertEqual(false); 1081 expect(datainfo.supportedModes).assertEqual(0); 1082 expect(datainfo.enabled).assertEqual(true); 1083 for (let j = 0; j < datainfo.moduleInfos.length; j++) { 1084 expect(datainfo.moduleInfos[j].moduleName).assertEqual("entry"); 1085 expect(datainfo.moduleInfos[j].moduleSourceDir).assertEqual(''); 1086 } 1087 done(); 1088 }) 1089 }) 1090 1091 /** 1092 * @tc.number Sub_Bms_Framework_Query_AppInfo_2560 1093 * @tc.name testGetAllBundleInfoCallback 1094 * @tc.desc Test getBundleInfos interfaces with one hap. 1095 */ 1096 it('testGetAllBundleInfoCallback', 0, async function (done) { 1097 await demo.getAllBundleInfo(demo.BundleFlag.GET_BUNDLE_DEFAULT, (error, data) => { 1098 expect(typeof data).assertEqual(OBJECT); 1099 for (let i = 0; i < data.length; i++) { 1100 expect(data[i].name.length).assertLarger(0); 1101 expect(data[i].appInfo.name.length).assertLarger(0); 1102 if (data[i].name == NAME1 || data[i].name == NAME2 1103 || data[i].name == NAME3 || data[i].name == NAME4 || data[i].name == NAME5) { 1104 expect(data[i].appInfo.description.length >= 0).assertTrue(); 1105 expect(data[i].appInfo.icon.length).assertLarger(0); 1106 expect(data[i].appInfo.label.length).assertLarger(0); 1107 } 1108 if (data[i].appInfo.codePath != FLAGONE && data[i].appInfo.codePath != FLAGTWO) { 1109 expect(data[i].appInfo.supportedModes).assertEqual(0); 1110 expect(data[i].appInfo.moduleInfos.length).assertLarger(0); 1111 } 1112 } 1113 done(); 1114 }); 1115 }) 1116 1117 /** 1118 * @tc.number Sub_Bms_Framework_Query_AppInfo_0860 1119 * @tc.name testGetAllApplicationInfoTwoHapPromise 1120 * @tc.desc Test getApplicationInfos interfaces with two haps. 1121 */ 1122 it('testGetAllApplicationInfoTwoHapPromise', 0, async function (done) { 1123 let datainfo = await demo.getAllApplicationInfo(demo.BundleFlag.GET_APPLICATION_INFO_WITH_PERMISSION, userId); 1124 console.info("==========ActsBmsGetInfosSecondScene is ==========" + JSON.stringify(datainfo)); 1125 checkgetApplicationInfos(datainfo); 1126 done(); 1127 }) 1128 1129 /** 1130 * @tc.number Sub_Bms_Framework_Query_AppInfo_0900 1131 * @tc.name testGetAllApplicationInfoDifferentParamPromise 1132 * @tc.desc Test getApplicationInfos interfaces with two haps and different param. 1133 */ 1134 it('testGetAllApplicationInfoDifferentParamPromise', 0, async function (done) { 1135 let datainfo = await demo.getAllApplicationInfo(demo.BundleFlag.GET_BUNDLE_DEFAULT, userId); 1136 expect(datainfo.length).assertLarger(0); 1137 checkgetApplicationInfos(datainfo); 1138 done(); 1139 }) 1140 1141 /** 1142 * @tc.number Sub_Bms_Framework_Query_AppInfo_0960 1143 * @tc.name testGetAllApplicationInfoTwoHapCallback 1144 * @tc.desc Test getApplicationInfos interfaces with two haps. 1145 */ 1146 it('testGetAllApplicationInfoTwoHapCallback', 0, async function (done) { 1147 await demo.getAllApplicationInfo(demo.BundleFlag.GET_APPLICATION_INFO_WITH_PERMISSION, 1148 userId, (error, datainfo) => { 1149 for (let i = 0; i < datainfo.length; i++) { 1150 expect(datainfo[i].name.length).assertLarger(0); 1151 if (datainfo[i].name == NAME1 || datainfo[i].name == NAME2 1152 || datainfo[i].name == NAME3 || datainfo[i].name == NAME4 || datainfo[i].name == NAME5) { 1153 expect(datainfo[i].description.length >= 0).assertTrue(); 1154 expect(datainfo[i].icon.length).assertLarger(0); 1155 expect(datainfo[i].label.length).assertLarger(0); 1156 } 1157 expect(datainfo[i].moduleSourceDirs.length).assertEqual(0); 1158 expect(datainfo[i].moduleInfos.length).assertLarger(0); 1159 expect(datainfo[i].supportedModes).assertEqual(0); 1160 for (let j = 0; j < datainfo[i].moduleInfos.length; j++) { 1161 expect(datainfo[i].moduleInfos[j].moduleName.length).assertLarger(0); 1162 expect(datainfo[i].moduleInfos[j].moduleSourceDir.length).assertEqual(0); 1163 } 1164 } 1165 done(); 1166 }); 1167 }) 1168 1169 /** 1170 * @tc.number Sub_Bms_Framework_Query_AppInfo_0980 1171 * @tc.name testGetAllApplicationInfoThereHapCallback 1172 * @tc.desc Test getApplicationInfos interfaces with three haps. 1173 */ 1174 it('testGetAllApplicationInfoThereHapCallback', 0, async function (done) { 1175 await demo.getAllApplicationInfo(demo.BundleFlag.GET_BUNDLE_DEFAULT, userId, (error, datainfo) => { 1176 for (let i = 0; i < datainfo.length; i++) { 1177 expect(datainfo[i].name.length).assertLarger(0); 1178 if (datainfo[i].name == NAME1 || datainfo[i].name == NAME2 1179 || datainfo[i].name == NAME3 || datainfo[i].name == NAME4 || datainfo[i].name == NAME5) { 1180 expect(datainfo[i].description.length >= 0).assertTrue(); 1181 expect(datainfo[i].icon.length).assertLarger(0); 1182 expect(datainfo[i].label.length).assertLarger(0); 1183 } 1184 expect(datainfo[i].moduleSourceDirs.length).assertEqual(0); 1185 expect(datainfo[i].moduleInfos.length).assertLarger(0); 1186 expect(datainfo[i].supportedModes).assertEqual(0); 1187 for (let j = 0; j < datainfo[i].moduleInfos.length; j++) { 1188 expect(datainfo[i].moduleInfos[j].moduleName.length).assertLarger(0); 1189 expect(datainfo[i].moduleInfos[j].moduleSourceDir.length).assertEqual(0); 1190 } 1191 } 1192 done(); 1193 }); 1194 }) 1195 1196 /** 1197 * @tc.number Sub_Bms_Framework_Query_AppInfo_1000 1198 * @tc.name testGetAllApplicationInfoDifferentParamCallback 1199 * @tc.desc Test getApplicationInfos interfaces with two haps and different param. 1200 */ 1201 it('testGetAllApplicationInfoDifferentParamCallback', 0, async function (done) { 1202 await demo.getAllApplicationInfo(demo.BundleFlag.GET_BUNDLE_DEFAULT, userId, (error, datainfo) => { 1203 for (let i = 0; i < datainfo.length; i++) { 1204 expect(datainfo[i].name.length).assertLarger(0); 1205 if (datainfo[i].name == NAME1 || datainfo[i].name == NAME2 1206 || datainfo[i].name == NAME3 || datainfo[i].name == NAME4 || datainfo[i].name == NAME5) { 1207 expect(datainfo[i].description.length >= 0).assertTrue(); 1208 expect(datainfo[i].icon.length).assertLarger(0); 1209 expect(datainfo[i].label.length).assertLarger(0); 1210 } 1211 expect(datainfo[i].moduleSourceDirs.length).assertEqual(0); 1212 expect(datainfo[i].moduleInfos.length).assertLarger(0); 1213 expect(datainfo[i].supportedModes).assertEqual(0); 1214 for (let j = 0; j < datainfo[i].moduleInfos.length; j++) { 1215 expect(datainfo[i].moduleInfos[j].moduleName.length).assertLarger(0); 1216 expect(datainfo[i].moduleInfos[j].moduleSourceDir.length).assertEqual(0); 1217 } 1218 } 1219 done(); 1220 }); 1221 }) 1222 1223 /** 1224 * @tc.number Sub_Bms_Framework_Query_AppInfo_2480 1225 * @tc.name testGetAllBundleInfoTwoHapPromise 1226 * @tc.desc Test getBundleInfos interfaces with two haps. 1227 */ 1228 it('testGetAllBundleInfoTwoHapPromise', 0, async function (done) { 1229 let data = await demo.getAllBundleInfo(demo.BundleFlag.GET_BUNDLE_DEFAULT); 1230 expect(typeof data).assertEqual(OBJECT); 1231 for (let i = 0; i < data.length; i++) { 1232 expect(data[i].name.length).assertLarger(0); 1233 expect(data[i].appInfo.name.length).assertLarger(0); 1234 if (data[i].name == NAME1 || data[i].name == NAME2 1235 || data[i].name == NAME3 || data[i].name == NAME4 || data[i].name == NAME5) { 1236 expect(data[i].appInfo.description.length >= 0).assertTrue(); 1237 expect(data[i].appInfo.icon.length).assertLarger(0); 1238 expect(data[i].appInfo.label.length).assertLarger(0); 1239 } 1240 if (data[i].appInfo.codePath != FLAGONE && data[i].appInfo.codePath != FLAGTWO) { 1241 expect(data[i].appInfo.supportedModes).assertEqual(0); 1242 expect(data[i].appInfo.moduleInfos.length).assertLarger(0); 1243 } 1244 } 1245 done(); 1246 }) 1247 1248 /** 1249 * @tc.number Sub_Bms_Framework_Query_AppInfo_2520 1250 * @tc.name testGetAllBundleInfoTwoHapDifferentParamPromise 1251 * @tc.desc Test getBundleInfos interfaces with two haps and different param. 1252 */ 1253 it('testGetAllBundleInfoTwoHapDifferentParamPromise', 0, async function (done) { 1254 let data = await demo.getAllBundleInfo(demo.BundleFlag.GET_BUNDLE_WITH_ABILITIES); 1255 expect(typeof data).assertEqual(OBJECT); 1256 for (let i = 0; i < data.length; i++) { 1257 expect(data[i].name.length).assertLarger(0); 1258 expect(data[i].appInfo.name.length).assertLarger(0); 1259 if (data[i].name == NAME1 || data[i].name == NAME2 1260 || data[i].name == NAME3 || data[i].name == NAME4 || data[i].name == NAME5) { 1261 expect(data[i].appInfo.description.length >= 0).assertTrue(); 1262 expect(data[i].appInfo.icon.length).assertLarger(0); 1263 expect(data[i].appInfo.label.length).assertLarger(0); 1264 } 1265 if (data[i].appInfo.codePath != FLAGONE && data[i].appInfo.codePath != FLAGTWO) { 1266 expect(data[i].appInfo.supportedModes).assertEqual(0); 1267 expect(data[i].appInfo.moduleInfos.length).assertLarger(0); 1268 } 1269 } 1270 done(); 1271 }) 1272 1273 1274 /** 1275 * @tc.number Sub_Bms_Framework_Query_AppInfo_2580 1276 * @tc.name testGetAllBundleInfoTwoHapCallback 1277 * @tc.desc Test getBundleInfos interfaces with two haps. 1278 */ 1279 it('testGetAllBundleInfoTwoHapCallback', 0, async function (done) { 1280 await demo.getAllBundleInfo(demo.BundleFlag.GET_BUNDLE_DEFAULT, (error, data) => { 1281 expect(typeof data).assertEqual(OBJECT); 1282 for (let i = 0; i < data.length; i++) { 1283 expect(data[i].name.length).assertLarger(0); 1284 expect(data[i].appInfo.name.length).assertLarger(0); 1285 if (data[i].name == NAME1 || data[i].name == NAME2 1286 || data[i].name == NAME3 || data[i].name == NAME4 || data[i].name == NAME5) { 1287 expect(data[i].appInfo.description.length >= 0).assertTrue(); 1288 expect(data[i].appInfo.icon.length).assertLarger(0); 1289 expect(data[i].appInfo.label.length).assertLarger(0); 1290 } 1291 if (data[i].appInfo.codePath != FLAGONE && data[i].appInfo.codePath != FLAGTWO) { 1292 expect(data[i].appInfo.supportedModes).assertEqual(0); 1293 expect(data[i].appInfo.moduleInfos.length).assertLarger(0); 1294 } 1295 } 1296 done(); 1297 }) 1298 }) 1299 1300 /** 1301 * @tc.number Sub_Bms_Framework_Query_AppInfo_2620 1302 * @tc.name testGetAllBundleInfoTwoHapDifferentParamCallback 1303 * @tc.desc Test getBundleInfos interfaces with two haps and different param. 1304 */ 1305 it('testGetAllBundleInfoTwoHapDifferentParamCallback', 0, async function (done) { 1306 await demo.getAllBundleInfo(demo.BundleFlag.GET_BUNDLE_WITH_ABILITIES, (error, data) => { 1307 expect(typeof data).assertEqual(OBJECT); 1308 for (let i = 0; i < data.length; i++) { 1309 expect(data[i].name.length).assertLarger(0); 1310 expect(data[i].appInfo.name.length).assertLarger(0); 1311 if (data[i].name == NAME1 || data[i].name == NAME2 1312 || data[i].name == NAME3 || data[i].name == NAME4 || data[i].name == NAME5) { 1313 expect(data[i].appInfo.description.length >= 0).assertTrue(); 1314 expect(data[i].appInfo.icon.length).assertLarger(0); 1315 expect(data[i].appInfo.label.length).assertLarger(0); 1316 } 1317 if (data[i].appInfo.codePath != FLAGONE && data[i].appInfo.codePath != FLAGTWO) { 1318 expect(data[i].appInfo.supportedModes).assertEqual(0); 1319 expect(data[i].appInfo.moduleInfos.length).assertLarger(0); 1320 } 1321 } 1322 done(); 1323 }) 1324 }) 1325 1326 /** 1327 * @tc.number Sub_Bms_Framework_Query_AppInfo_2500 1328 * @tc.name testGetAllBundleInfoThereHapPromise 1329 * @tc.desc Test getBundleInfos interfaces with three haps. 1330 */ 1331 it('testGetAllBundleInfoThereHapPromise', 0, async function (done) { 1332 let data = await demo.getAllBundleInfo(demo.BundleFlag.GET_BUNDLE_DEFAULT); 1333 for (let i = 0; i < data.length; i++) { 1334 expect(data[i].name.length).assertLarger(0); 1335 expect(data[i].appInfo.name.length).assertLarger(0); 1336 if (data[i].name == NAME1 || data[i].name == NAME2 1337 || data[i].name == NAME3 || data[i].name == NAME4 || data[i].name == NAME5) { 1338 expect(data[i].appInfo.description.length >= 0).assertTrue(); 1339 expect(data[i].appInfo.icon.length).assertLarger(0); 1340 expect(data[i].appInfo.label.length).assertLarger(0); 1341 } 1342 if (data[i].appInfo.codePath != FLAGONE && data[i].appInfo.codePath != FLAGTWO) { 1343 expect(data[i].appInfo.supportedModes).assertEqual(0); 1344 expect(data[i].appInfo.moduleInfos.length).assertLarger(0); 1345 } 1346 } 1347 done(); 1348 }) 1349 1350 /** 1351 * @tc.number Sub_Bms_Framework_Query_AppInfo_2540 1352 * @tc.name testGetAllBundleInfoThereHapDifferentParamPromise 1353 * @tc.desc Test getBundleInfos interfaces with three haps and different param. 1354 */ 1355 it('testGetAllBundleInfoThereHapDifferentParamPromise', 0, async function (done) { 1356 let data = await demo.getAllBundleInfo(demo.BundleFlag.GET_BUNDLE_WITH_ABILITIES); 1357 for (let i = 0; i < data.length; i++) { 1358 expect(data[i].name.length).assertLarger(0); 1359 expect(data[i].appInfo.name.length).assertLarger(0); 1360 if (data[i].name == NAME1 || data[i].name == NAME2 1361 || data[i].name == NAME3 || data[i].name == NAME4 || data[i].name == NAME5) { 1362 expect(data[i].appInfo.description.length >= 0).assertTrue(); 1363 expect(data[i].appInfo.icon.length).assertLarger(0); 1364 expect(data[i].appInfo.label.length).assertLarger(0); 1365 } 1366 if (data[i].appInfo.codePath != FLAGONE && data[i].appInfo.codePath != FLAGTWO) { 1367 expect(data[i].appInfo.supportedModes).assertEqual(0); 1368 expect(data[i].appInfo.moduleInfos.length).assertLarger(0); 1369 } 1370 } 1371 done(); 1372 }) 1373 1374 /** 1375 * @tc.number Sub_Bms_Framework_Query_AppInfo_2600 1376 * @tc.name testGetAllBundleInfoThereHapCallback 1377 * @tc.desc Test getBundleInfos interfaces with three haps. 1378 */ 1379 it('testGetAllBundleInfoThereHapCallback', 0, async function (done) { 1380 await demo.getAllBundleInfo(demo.BundleFlag.GET_BUNDLE_DEFAULT, (error, data) => { 1381 for (let i = 0; i < data.length; i++) { 1382 expect(data[i].name.length).assertLarger(0); 1383 expect(data[i].appInfo.name.length).assertLarger(0); 1384 if (data[i].name == NAME1 || data[i].name == NAME2 1385 || data[i].name == NAME3 || data[i].name == NAME4 || data[i].name == NAME5) { 1386 expect(data[i].appInfo.description.length >= 0).assertTrue(); 1387 expect(data[i].appInfo.icon.length).assertLarger(0); 1388 expect(data[i].appInfo.label.length).assertLarger(0); 1389 } 1390 if (data[i].appInfo.codePath != FLAGONE && data[i].appInfo.codePath != FLAGTWO) { 1391 expect(data[i].appInfo.supportedModes).assertEqual(0); 1392 expect(data[i].appInfo.moduleInfos.length).assertLarger(0); 1393 } 1394 } 1395 done(); 1396 }) 1397 1398 }) 1399 1400 /** 1401 * @tc.number Sub_Bms_Framework_Query_AbilityInfo_0500 1402 * @tc.name testQueryAbilityByWantPromise 1403 * @tc.desc Test queryAbilityByWant interfaces with none hap. (by promise) 1404 */ 1405 it('testQueryAbilityByWantPromise', 0, async function (done) { 1406 await demo.queryAbilityByWant( 1407 { 1408 "bundleName": "com.example.myapplication1", 1409 "abilityName": "com.example.myapplication1.MainAbility", 1410 }, demo.BundleFlag.GET_ABILITY_INFO_WITH_APPLICATION | 1411 demo.BundleFlag.GET_ABILITY_INFO_WITH_PERMISSION | 1412 demo.BundleFlag.GET_ABILITY_INFO_WITH_METADATA, 1413 userId).then(data => { 1414 expect(data.length).assertLarger(0); 1415 for (let i = 0, len = data.length; i < len; i++) { 1416 let datainfo = data[i]; 1417 console.info("testQueryAbilityByWantPromise success:" + JSON.stringify(datainfo)); 1418 expect(datainfo.name).assertEqual("com.example.myapplication1.MainAbility"); 1419 expect(datainfo.label).assertEqual("$string:app_name"); 1420 expect(datainfo.description).assertEqual(DESCRIPTION); 1421 expect(datainfo.icon).assertEqual("$media:icon"); 1422 expect(datainfo.moduleName).assertEqual("entry"); 1423 expect(datainfo.bundleName).assertEqual(NAME1); 1424 expect(datainfo.type).assertEqual(demo.AbilityType.PAGE); 1425 expect(datainfo.subType).assertEqual(demo.AbilitySubType.UNSPECIFIED); 1426 expect(datainfo.orientation).assertEqual(demo.DisplayOrientation.UNSPECIFIED); 1427 expect(datainfo.launchMode).assertEqual(demo.LaunchMode.STANDARD); 1428 expect(datainfo.permissions[0]).assertEqual("com.permission.BMS_PERMISSION_CAMERA"); 1429 expect(datainfo.applicationInfo.name).assertEqual(NAME1); 1430 expect(datainfo.applicationInfo.description).assertEqual(APPLICATION_DESCRIPTION); 1431 expect(datainfo.applicationInfo.descriptionId >= 0).assertTrue(); 1432 expect(datainfo.applicationInfo.icon).assertEqual("$media:icon"); 1433 expect(datainfo.applicationInfo.iconId >= 0).assertTrue(); 1434 expect(datainfo.applicationInfo.label).assertEqual("$string:app_name"); 1435 expect(datainfo.applicationInfo.labelId >= 0).assertTrue(); 1436 expect(datainfo.applicationInfo.systemApp).assertEqual(false); 1437 expect(datainfo.applicationInfo.supportedModes).assertEqual(0); 1438 expect(datainfo.applicationInfo.enabled).assertEqual(true); 1439 expect(datainfo.metaData.length).assertLarger(0); 1440 for (let j = 0; j < datainfo.applicationInfo.moduleInfos.length; j++) { 1441 expect(datainfo.applicationInfo.moduleInfos[j].moduleName).assertEqual("entry"); 1442 expect(datainfo.applicationInfo.moduleInfos[j].moduleSourceDir).assertEqual(''); 1443 } 1444 } 1445 done(); 1446 }).catch(err => { 1447 console.info("testQueryAbilityByWantPromise err" + JSON.stringify(err)); 1448 expect(err).assertFail(); 1449 done(); 1450 }) 1451 }) 1452 1453 /** 1454 * @tc.number Sub_Bms_Framework_Query_AbilityInfo_0580 1455 * @tc.name testQueryAbilityByWantCallback 1456 * @tc.desc Test queryAbilityByWant interfaces with none hap. (by callback) 1457 */ 1458 it('testQueryAbilityByWantCallback', 0, async function (done) { 1459 demo.queryAbilityByWant( 1460 { 1461 "bundleName": "com.example.myapplication1", 1462 "abilityName": "com.example.myapplication1.MainAbility", 1463 }, demo.BundleFlag.GET_ABILITY_INFO_WITH_APPLICATION | 1464 demo.BundleFlag.GET_ABILITY_INFO_WITH_PERMISSION | 1465 demo.BundleFlag.GET_ABILITY_INFO_WITH_METADATA, 1466 userId, (err, data) => { 1467 if (err) { 1468 console.info("testQueryAbilityByWantCallback err" + JSON.stringify(err)); 1469 expect(err).assertFail(); 1470 done(); 1471 return; 1472 } 1473 expect(data.length).assertLarger(0); 1474 for (let i = 0, len = data.length; i < len; i++) { 1475 let datainfo = data[i]; 1476 console.info("testQueryAbilityByWantCallback success:" + JSON.stringify(datainfo)); 1477 expect(datainfo.name).assertEqual("com.example.myapplication1.MainAbility"); 1478 expect(datainfo.label).assertEqual("$string:app_name"); 1479 expect(datainfo.description).assertEqual(DESCRIPTION); 1480 expect(datainfo.icon).assertEqual("$media:icon"); 1481 expect(datainfo.moduleName).assertEqual("entry"); 1482 expect(datainfo.bundleName).assertEqual(NAME1); 1483 expect(datainfo.type).assertEqual(demo.AbilityType.PAGE); 1484 expect(datainfo.subType).assertEqual(demo.AbilitySubType.UNSPECIFIED); 1485 expect(datainfo.orientation).assertEqual(demo.DisplayOrientation.UNSPECIFIED); 1486 expect(datainfo.launchMode).assertEqual(demo.LaunchMode.STANDARD); 1487 expect(datainfo.permissions[0]).assertEqual("com.permission.BMS_PERMISSION_CAMERA"); 1488 expect(datainfo.applicationInfo.name).assertEqual(NAME1); 1489 expect(datainfo.applicationInfo.description).assertEqual(APPLICATION_DESCRIPTION); 1490 expect(datainfo.applicationInfo.descriptionId >= 0).assertTrue(); 1491 expect(datainfo.applicationInfo.icon).assertEqual("$media:icon"); 1492 expect(datainfo.applicationInfo.iconId >= 0).assertTrue(); 1493 expect(datainfo.applicationInfo.label).assertEqual("$string:app_name"); 1494 expect(datainfo.applicationInfo.labelId >= 0).assertTrue(); 1495 expect(datainfo.applicationInfo.systemApp).assertEqual(false); 1496 expect(datainfo.applicationInfo.supportedModes).assertEqual(0); 1497 expect(datainfo.applicationInfo.enabled).assertEqual(true); 1498 expect(datainfo.metaData.length).assertLarger(0); 1499 for (let j = 0; j < datainfo.applicationInfo.moduleInfos.length; j++) { 1500 expect(datainfo.applicationInfo.moduleInfos[j].moduleName).assertEqual("entry"); 1501 expect(datainfo.applicationInfo.moduleInfos[j].moduleSourceDir).assertEqual(''); 1502 } 1503 } 1504 done(); 1505 }) 1506 }) 1507 1508 /** 1509 * @tc.number Sub_Bms_Framework_Query_AbilityInfo_0520 1510 * @tc.name testQueryAbilityByWantTwoHapPromise 1511 * @tc.desc Test queryAbilityByWant interfaces with two haps. (by promise) 1512 */ 1513 it('testQueryAbilityByWantTwoHapPromise', 0, async function (done) { 1514 let data = await demo.queryAbilityByWant( 1515 { 1516 "bundleName": "com.example.myapplication2", 1517 "abilityName": "com.example.myapplication1.MainAbility", 1518 }, demo.BundleFlag.GET_ALL_APPLICATION_INFO, userId); 1519 expect(data.length).assertLarger(0); 1520 for (let i = 0, len = data.length; i < len; i++) { 1521 let datainfo = data[i]; 1522 console.info("testQueryAbilityByWantTwoHapPromise success:" + JSON.stringify(datainfo)); 1523 expect(datainfo.name.length).assertLarger(0); 1524 expect(datainfo.label).assertEqual("$string:app_name"); 1525 expect(datainfo.description).assertEqual(DESCRIPTION); 1526 expect(datainfo.icon).assertEqual("$media:icon"); 1527 expect(datainfo.moduleName).assertEqual("entry"); 1528 expect(datainfo.bundleName).assertEqual(NAME2); 1529 expect(datainfo.orientation).assertEqual(demo.DisplayOrientation.LANDSCAPE); 1530 expect(datainfo.launchMode).assertEqual(demo.LaunchMode.SINGLETON); 1531 expect(datainfo.applicationInfo.name).assertEqual(NAME2); 1532 expect(datainfo.applicationInfo.description).assertEqual(APPLICATION_DESCRIPTION); 1533 expect(datainfo.applicationInfo.descriptionId >= 0).assertTrue(); 1534 expect(datainfo.applicationInfo.icon).assertEqual("$media:icon"); 1535 expect(datainfo.applicationInfo.iconId >= 0).assertTrue(); 1536 expect(datainfo.applicationInfo.label).assertEqual("$string:app_name"); 1537 expect(datainfo.applicationInfo.labelId >= 0).assertTrue(); 1538 expect(datainfo.applicationInfo.systemApp).assertEqual(false); 1539 expect(datainfo.applicationInfo.supportedModes).assertEqual(0); 1540 expect(datainfo.applicationInfo.enabled).assertEqual(true); 1541 expect(datainfo.applicationInfo.moduleInfos[0].moduleName).assertEqual("entry"); 1542 expect(datainfo.applicationInfo.moduleInfos[0].moduleSourceDir).assertEqual(''); 1543 expect(datainfo.applicationInfo.moduleInfos[1].moduleName).assertEqual("feature"); 1544 expect(datainfo.applicationInfo.moduleInfos[1].moduleSourceDir).assertEqual(''); 1545 } 1546 done(); 1547 }) 1548 1549 /** 1550 * @tc.number Sub_Bms_Framework_Query_AbilityInfo_0600 1551 * @tc.name testQueryAbilityByWantTwoHapCallback 1552 * @tc.desc Test queryAbilityByWant interfaces with two haps. (by callback) 1553 */ 1554 it('testQueryAbilityByWantTwoHapCallback', 0, async function (done) { 1555 await demo.queryAbilityByWant( 1556 { 1557 "bundleName": "com.example.myapplication2", 1558 "abilityName": "com.example.myapplication1.MainAbility", 1559 }, demo.BundleFlag.GET_ALL_APPLICATION_INFO, userId, (error, data) => { 1560 expect(data.length).assertLarger(0); 1561 for (let i = 0, len = data.length; i < len; i++) { 1562 let datainfo = data[i]; 1563 console.info("testQueryAbilityByWantTwoHapCallback success:" + JSON.stringify(datainfo)); 1564 expect(datainfo.name.length).assertLarger(0); 1565 expect(datainfo.label).assertEqual("$string:app_name"); 1566 expect(datainfo.description).assertEqual(DESCRIPTION); 1567 expect(datainfo.icon).assertEqual("$media:icon"); 1568 expect(datainfo.moduleName).assertEqual("entry"); 1569 expect(datainfo.bundleName).assertEqual(NAME2); 1570 expect(datainfo.orientation).assertEqual(1); 1571 expect(datainfo.launchMode).assertEqual(demo.LaunchMode.SINGLETON); 1572 expect(datainfo.applicationInfo.name).assertEqual(NAME2); 1573 expect(datainfo.applicationInfo.description).assertEqual(APPLICATION_DESCRIPTION); 1574 expect(datainfo.applicationInfo.descriptionId >= 0).assertTrue(); 1575 expect(datainfo.applicationInfo.icon).assertEqual("$media:icon"); 1576 expect(datainfo.applicationInfo.iconId >= 0).assertTrue(); 1577 expect(datainfo.applicationInfo.label).assertEqual("$string:app_name"); 1578 expect(datainfo.applicationInfo.labelId >= 0).assertTrue(); 1579 expect(datainfo.applicationInfo.systemApp).assertEqual(false); 1580 expect(datainfo.applicationInfo.supportedModes).assertEqual(0); 1581 expect(datainfo.applicationInfo.enabled).assertEqual(true); 1582 expect(datainfo.applicationInfo.moduleInfos[0].moduleName).assertEqual("entry"); 1583 expect(datainfo.applicationInfo.moduleInfos[0].moduleSourceDir).assertEqual(''); 1584 expect(datainfo.applicationInfo.moduleInfos[1].moduleName).assertEqual("feature"); 1585 expect(datainfo.applicationInfo.moduleInfos[1].moduleSourceDir).assertEqual(''); 1586 } 1587 done(); 1588 }) 1589 }) 1590 1591 /** 1592 * @tc.number Sub_Bms_Framework_Query_AbilityInfo_0540 1593 * @tc.name testQueryAbilityByWantThereHapPromise 1594 * @tc.desc Test queryAbilityByWant interfaces with three haps. (by promise) 1595 */ 1596 it('testQueryAbilityByWantThereHapPromise', 0, async function (done) { 1597 await demo.queryAbilityByWant({ 1598 entities: ['entity.system.home', 'entitiesentities'] 1599 }, 4, userId).then(data => { 1600 checkAbilityInfo0500(data) 1601 done(); 1602 }).catch(err => { 1603 console.info("testQueryAbilityByWantThereHapPromise err" + JSON.stringify(err)); 1604 expect(err).assertFail(); 1605 done(); 1606 }) 1607 }) 1608 1609 function checkAbilityInfo0500(data) { 1610 let queryResultCount = 0; 1611 for (let i = 0, len = data.length; i < len; i++) { 1612 let datainfo = data[i]; 1613 console.info("testQueryAbilityByWantThereHapPromise success:" + JSON.stringify(datainfo)); 1614 if (datainfo.bundleName == NAME3) { 1615 expect(datainfo.name).assertEqual("com.example.myapplication.MainAbility"); 1616 expect(datainfo.label).assertEqual("$string:app_name"); 1617 expect(datainfo.description).assertEqual(DESCRIPTION); 1618 expect(datainfo.icon).assertEqual("$media:icon"); 1619 expect(datainfo.moduleName).assertEqual("entry"); 1620 expect(datainfo.bundleName).assertEqual(NAME3); 1621 expect(datainfo.type).assertEqual(demo.AbilityType.PAGE); 1622 expect(datainfo.applicationInfo.name).assertEqual(NAME3); 1623 expect(datainfo.applicationInfo.description).assertEqual(APPLICATION_DESCRIPTION); 1624 expect(datainfo.applicationInfo.descriptionId >= 0).assertTrue(); 1625 expect(datainfo.applicationInfo.icon).assertEqual("$media:icon"); 1626 expect(datainfo.applicationInfo.iconId >= 0).assertTrue(); 1627 expect(datainfo.applicationInfo.label).assertEqual("$string:app_name"); 1628 expect(datainfo.applicationInfo.labelId >= 0).assertTrue(); 1629 expect(datainfo.applicationInfo.systemApp).assertEqual(false); 1630 expect(datainfo.applicationInfo.supportedModes).assertEqual(0); 1631 expect(datainfo.orientation).assertEqual(demo.DisplayOrientation.PORTRAIT); 1632 expect(datainfo.orientation).assertEqual(2); 1633 expect(datainfo.applicationInfo.enabled).assertEqual(true); 1634 for (let j = 0; j < datainfo.applicationInfo.moduleInfos.length; j++) { 1635 expect(datainfo.applicationInfo.moduleInfos[j].moduleName).assertEqual("entry"); 1636 } 1637 queryResultCount++; 1638 } 1639 if (datainfo.bundleName == NAME4) { 1640 expect(datainfo.name).assertEqual("com.example.myapplication.MainAbility"); 1641 expect(datainfo.type).assertEqual(demo.AbilityType.PAGE); 1642 expect(datainfo.orientation).assertEqual(demo.DisplayOrientation.UNSPECIFIED); 1643 expect(datainfo.bundleName).assertEqual(NAME4); 1644 queryResultCount++; 1645 } 1646 if (datainfo.bundleName == NAME5) { 1647 expect(datainfo.name).assertEqual("com.example.myapplication.MainAbility"); 1648 expect(datainfo.type).assertEqual(demo.AbilityType.PAGE); 1649 expect(datainfo.bundleName).assertEqual(NAME5); 1650 expect(datainfo.orientation).assertEqual(demo.DisplayOrientation.FOLLOW_RECENT); 1651 queryResultCount++; 1652 } 1653 } 1654 expect(queryResultCount).assertEqual(3); 1655 } 1656 1657 /** 1658 * @tc.number Sub_Bms_Framework_Query_AbilityInfo_0620 1659 * @tc.name testQueryAbilityByWantThereHapCallback 1660 * @tc.desc Test queryAbilityByWant interfaces with three haps. (by callback) 1661 */ 1662 it('testQueryAbilityByWantThereHapCallback', 0, async function (done) { 1663 await demo.queryAbilityByWant( 1664 { 1665 entities: ['entity.system.home', 'entitiesentities'] 1666 }, 4, userId, (err, data) => { 1667 if (err) { 1668 console.info("testQueryAbilityByWantThereHapCallback err" + JSON.stringify(err)); 1669 expect(err).assertFail(); 1670 done(); 1671 return; 1672 } 1673 checkAbilityInfo0600(data); 1674 done(); 1675 }) 1676 }) 1677 1678 function checkAbilityInfo0600(data) { 1679 let queryResultCount = 0; 1680 for (let i = 0, len = data.length; i < len; i++) { 1681 let datainfo = data[i]; 1682 console.info("testQueryAbilityByWantThereHapCallback success:" + JSON.stringify(datainfo)); 1683 if (datainfo.bundleName == NAME3) { 1684 expect(datainfo.name).assertEqual("com.example.myapplication.MainAbility"); 1685 expect(datainfo.label).assertEqual("$string:app_name"); 1686 expect(datainfo.description).assertEqual(DESCRIPTION); 1687 expect(datainfo.icon).assertEqual("$media:icon"); 1688 expect(datainfo.moduleName).assertEqual("entry"); 1689 expect(datainfo.bundleName).assertEqual(NAME3); 1690 expect(datainfo.applicationInfo.name).assertEqual(NAME3); 1691 expect(datainfo.applicationInfo.description).assertEqual(APPLICATION_DESCRIPTION); 1692 expect(datainfo.applicationInfo.descriptionId >= 0).assertTrue(); 1693 expect(datainfo.applicationInfo.icon).assertEqual("$media:icon"); 1694 expect(datainfo.applicationInfo.iconId >= 0).assertTrue(); 1695 expect(datainfo.applicationInfo.label).assertEqual("$string:app_name"); 1696 expect(datainfo.applicationInfo.labelId >= 0).assertTrue(); 1697 expect(datainfo.applicationInfo.systemApp).assertEqual(false); 1698 expect(datainfo.applicationInfo.supportedModes).assertEqual(0); 1699 expect(datainfo.orientation).assertEqual(2); 1700 expect(datainfo.applicationInfo.enabled).assertEqual(true); 1701 for (let j = 0; j < datainfo.applicationInfo.moduleInfos.length; j++) { 1702 expect(datainfo.applicationInfo.moduleInfos[j].moduleName).assertEqual("entry"); 1703 } 1704 queryResultCount++; 1705 } 1706 if (datainfo.bundleName == NAME4) { 1707 expect(datainfo.name).assertEqual("com.example.myapplication.MainAbility"); 1708 expect(datainfo.bundleName).assertEqual(NAME4); 1709 expect(datainfo.orientation).assertEqual(demo.DisplayOrientation.UNSPECIFIED); 1710 queryResultCount++; 1711 } 1712 if (datainfo.bundleName == NAME5) { 1713 expect(datainfo.name).assertEqual("com.example.myapplication.MainAbility"); 1714 expect(datainfo.bundleName).assertEqual(NAME5); 1715 expect(datainfo.orientation).assertEqual(demo.DisplayOrientation.FOLLOW_RECENT); 1716 queryResultCount++; 1717 } 1718 } 1719 expect(queryResultCount).assertEqual(3); 1720 } 1721 1722 /** 1723 * @tc.number Sub_Bms_Framework_Query_AbilityInfo_0640 1724 * @tc.name testQueryAbilityByWantNotExistHapPromise 1725 * @tc.desc Test queryAbilityByWant interfaces with one hap. (by promise) 1726 */ 1727 it('testQueryAbilityByWantNotExistHapPromise', 0, async function (done) { 1728 await demo.queryAbilityByWant( 1729 { 1730 "bundleName": "wrong name", 1731 "abilityName": "com.example.myapplication1.MainAbility" 1732 }, demo.BundleFlag.GET_BUNDLE_DEFAULT, userId).then(datainfo => { 1733 console.info("testQueryAbilityByWantNotExistHapPromise dataInfo : ===========" + datainfo); 1734 expect(datainfo).assertFail(); 1735 done(); 1736 }).catch(err => { 1737 console.info("testQueryAbilityByWantNotExistHapPromise err : ===========" + err); 1738 expect(err).assertEqual(1); 1739 done(); 1740 }) 1741 }) 1742 1743 /** 1744 * @tc.number Sub_Bms_Framework_Query_AbilityInfo_0660 1745 * @tc.name testQueryAbilityByWantNotExistHapCallback 1746 * @tc.desc Test queryAbilityByWant interfaces with one hap. (by callback) 1747 */ 1748 it('testQueryAbilityByWantNotExistHapCallback', 0, async function (done) { 1749 await demo.queryAbilityByWant( 1750 { 1751 "bundleName": "wrong name", 1752 "abilityName": "com.example.myapplication1.MainAbility" 1753 }, demo.BundleFlag.GET_BUNDLE_DEFAULT, userId, (err, datainfo) => { 1754 if (err) { 1755 console.info("testQueryAbilityByWantNotExistHapCallback err : ===========" + err); 1756 expect(err).assertEqual(1); 1757 done(); 1758 return; 1759 } 1760 console.info("testQueryAbilityByWantNotExistHapCallback dataInfo : ===========" + datainfo); 1761 expect(datainfo).assertFail(); 1762 done(); 1763 }) 1764 }) 1765 1766 /** 1767 * @tc.number Sub_Bms_Framework_Query_AbilityInfo_0560 1768 * @tc.name testQueryAbilityByWantSystemHapPromise 1769 * @tc.desc Test queryAbilityByWant interfaces with system hap. (by promise) 1770 */ 1771 it('testQueryAbilityByWantSystemHapPromise', 0, async function (done) { 1772 await demo.queryAbilityByWant( 1773 { 1774 bundleName: "wrong name", 1775 abilityName: "wrong name", 1776 }, 0, userId).then(datainfo => { 1777 console.info("testQueryAbilityByWantSystemHapPromise dataInfo : ===========" + datainfo); 1778 expect(datainfo.length).assertLarger(0); 1779 done(); 1780 }).catch(err => { 1781 console.info("testQueryAbilityByWantSystemHapPromise err : ===========" + err); 1782 expect(err).assertEqual(1); 1783 done(); 1784 }) 1785 }) 1786 1787 /** 1788 * @tc.number Sub_Bms_Framework_Query_AbilityInfo_0700 1789 * @tc.name testQueryAbilityByWantSystemHapCallback 1790 * @tc.desc Test queryAbilityByWant interfaces with system hap. (by callback) 1791 */ 1792 it('testQueryAbilityByWantSystemHapCallback', 0, async function (done) { 1793 demo.queryAbilityByWant( 1794 { 1795 bundleName: "wrong name", 1796 abilityName: "wrong name", 1797 }, 0, userId, OnReceiveEvent); 1798 1799 function OnReceiveEvent(err, datainfo) { 1800 console.info("testQueryAbilityByWantSystemHapCallback err : ===========" + err); 1801 console.info("testQueryAbilityByWantSystemHapCallback dataInfo : ===========" + datainfo); 1802 expect(err).assertEqual(1); 1803 expect(datainfo.length).assertLarger(0); 1804 done(); 1805 } 1806 }) 1807 1808 /** 1809 * @tc.number installErrCodeTest_0100 1810 * @tc.name InstallErrorCode::STATUS_FAILED_NO_SPACE_LEFT 1811 * @tc.desc Test install errcode STATUS_FAILED_NO_SPACE_LEFT. 1812 */ 1813 it('installErrCodeTest_0100', 0, async function (done) { 1814 expect(demo.InstallErrorCode.SUCCESS).assertEqual(0); 1815 expect(demo.InstallErrorCode.STATUS_INSTALL_FAILURE).assertEqual(1); 1816 expect(demo.InstallErrorCode.STATUS_INSTALL_FAILURE_ABORTED).assertEqual(2); 1817 expect(demo.InstallErrorCode.STATUS_INSTALL_FAILURE_INVALID).assertEqual(3); 1818 expect(demo.InstallErrorCode.STATUS_INSTALL_FAILURE_CONFLICT).assertEqual(4); 1819 expect(demo.InstallErrorCode.STATUS_INSTALL_FAILURE_STORAGE).assertEqual(5); 1820 expect(demo.InstallErrorCode.STATUS_INSTALL_FAILURE_INCOMPATIBLE).assertEqual(6); 1821 expect(demo.InstallErrorCode.STATUS_UNINSTALL_FAILURE).assertEqual(7); 1822 expect(demo.InstallErrorCode.STATUS_UNINSTALL_FAILURE_BLOCKED).assertEqual(8); 1823 expect(demo.InstallErrorCode.STATUS_UNINSTALL_FAILURE_ABORTED).assertEqual(9); 1824 expect(demo.InstallErrorCode.STATUS_UNINSTALL_FAILURE_CONFLICT).assertEqual(10); 1825 expect(demo.InstallErrorCode.STATUS_INSTALL_FAILURE_DOWNLOAD_TIMEOUT).assertEqual(11); 1826 expect(demo.InstallErrorCode.STATUS_INSTALL_FAILURE_DOWNLOAD_FAILED).assertEqual(12); 1827 expect(demo.InstallErrorCode.STATUS_RECOVER_FAILURE_INVALID).assertEqual(13); 1828 expect(demo.InstallErrorCode.STATUS_ABILITY_NOT_FOUND).assertEqual(64); 1829 expect(demo.InstallErrorCode.STATUS_BMS_SERVICE_ERROR).assertEqual(65); 1830 expect(demo.InstallErrorCode.STATUS_FAILED_NO_SPACE_LEFT).assertEqual(66); 1831 expect(demo.InstallErrorCode.STATUS_GRANT_REQUEST_PERMISSIONS_FAILED).assertEqual(67); 1832 expect(demo.InstallErrorCode.STATUS_INSTALL_PERMISSION_DENIED).assertEqual(68); 1833 expect(demo.InstallErrorCode.STATUS_UNINSTALL_PERMISSION_DENIED).assertEqual(69); 1834 done(); 1835 }) 1836 1837 /** 1838 * @tc.number AbilityTypeTest_0100 1839 * @tc.name InstallErrorCode::STATUS_FAILED_NO_SPACE_LEFT 1840 * @tc.desc Test install errcode STATUS_FAILED_NO_SPACE_LEFT. 1841 */ 1842 it('AbilityTypeTest_0100', 0, async function (done) { 1843 expect(demo.AbilitySubType.CA).assertEqual(1); 1844 expect(demo.AbilityType.UNKNOWN).assertEqual(0); 1845 expect(demo.AbilityType.SERVICE).assertEqual(2); 1846 expect(demo.AbilityType.DATA).assertEqual(3); 1847 expect(demo.ColorMode.AUTO_MODE).assertEqual(-1); 1848 expect(demo.ColorMode.DARK_MODE).assertEqual(0); 1849 expect(demo.ColorMode.LIGHT_MODE).assertEqual(1); 1850 done(); 1851 }) 1852}) 1853 1854} 1855