未验证 提交 1a89cc13 编写于 作者: O openharmony_ci 提交者: Gitee

!2974 修改多hap安装用例,增加检查点,修改不符合用例描述的辅助demo

Merge pull request !2974 from ry/master
......@@ -16,28 +16,28 @@
import { describe, beforeAll, beforeEach, afterEach, afterAll, it, expect } from 'deccjsunit/index'
import demo from '@ohos.bundle'
const PATH = "/data/"
const ERROR = "error.hap"
const BMSJSTEST1 = "bmsJstest1.hap"
const BMSJSTEST2 = "bmsJstest2.hap"
const BMSJSTEST3 = "bmsJstest3.hap"
const BMSJSTEST4 = "bmsJstest4.hap"
const BMSJSTEST5 = "bmsJstest5.hap"
const BMSJSTEST6 = "bmsJstest6.hap"
const BMSJSTEST8 = "bmsJstest8.hap"
const NAME1 = "com.example.myapplication1"
const NAME2 = "com.example.myapplication2"
const NAME3 = "com.example.myapplication4"
const NAME4 = "com.example.myapplication5"
const NAME5 = "com.example.myapplication6"
const THIRD1 = "com.example.third1"
const LAUNCHER = "com.ohos.launcher"
const SUCCESS = "SUCCESS"
let installParam = {
const PATH = "/data/";
const ERROR = "error.hap";
const BMSJSTEST1 = "bmsJstest1.hap";
const BMSJSTEST2 = "bmsJstest2.hap";
const BMSJSTEST3 = "bmsJstest3.hap";
const BMSJSTEST4 = "bmsJstest4.hap";
const BMSJSTEST5 = "bmsJstest5.hap";
const BMSJSTEST6 = "bmsJstest6.hap";
const BMSJSTEST8 = "bmsJstest8.hap";
const NAME1 = "com.example.myapplication1";
const NAME2 = "com.example.myapplication2";
const NAME3 = "com.example.myapplication4";
const NAME4 = "com.example.myapplication5";
const NAME5 = "com.example.myapplication6";
const THIRD1 = "com.example.third1";
const LAUNCHER = "com.ohos.launcher";
const SUCCESS = "SUCCESS";
const installParam = {
userId: 100,
installFlag: 1,
isKeepData: false
}
};
describe('ActsBundleManagerUninstall', function () {
......@@ -47,17 +47,17 @@ describe('ActsBundleManagerUninstall', function () {
* @tc.desc Test uninstall interfaces.
*/
it('uninstall_0100', 0, async function (done) {
let installData = await demo.getBundleInstaller()
let installData = await demo.getBundleInstaller();
installData.install([PATH + BMSJSTEST1], installParam, async (err, data) => {
checkInstallResult(data)
await queryInfo(NAME1, 0)
checkInstallResult(err, data);
await queryInfo(NAME1, 0);
installData.uninstall(NAME1, installParam, async (err, data) => {
checkInstallResult(data)
await queryInfo(NAME1, 1)
done()
})
})
})
checkInstallResult(err, data);
await queryInfo(NAME1, 1);
done();
});
});
});
/**
* @tc.number uninstall_0200
......@@ -65,18 +65,18 @@ describe('ActsBundleManagerUninstall', function () {
* @tc.desc Test uninstall interfaces.
*/
it('uninstall_0200', 0, async function (done) {
let installData = await demo.getBundleInstaller()
let installData = await demo.getBundleInstaller();
installData.install([PATH + BMSJSTEST2, PATH + BMSJSTEST3], installParam, async (err, data) => {
checkInstallResult(data)
checkInstallResult(err, data);
let bundleInfo = await demo.getBundleInfo(NAME2, demo.BundleFlag.GET_BUNDLE_DEFAULT);
expect(bundleInfo.appInfo.moduleSourceDirs.length).assertEqual(2)
expect(bundleInfo.appInfo.moduleSourceDirs.length).assertEqual(2);
installData.uninstall(NAME2, installParam, async(err, data) => {
checkInstallResult(data)
await queryInfo(NAME2, 1)
done()
})
})
})
checkInstallResult(err, data);
await queryInfo(NAME2, 1);
done();
});
});
});
/**
* @tc.number uninstall_0300
......@@ -84,33 +84,33 @@ describe('ActsBundleManagerUninstall', function () {
* @tc.desc Test uninstall interfaces.
*/
it('uninstall_0300', 0, async function (done) {
let installData = await demo.getBundleInstaller()
let installData = await demo.getBundleInstaller();
installData.install([PATH + BMSJSTEST4], installParam, async (err, data) => {
checkInstallResult(data)
checkInstallResult(err, data);
installData.install([PATH + BMSJSTEST5], installParam, async (err, data) => {
checkInstallResult(data)
checkInstallResult(err, data);
installData.install([PATH + BMSJSTEST6], installParam, async (err, data) => {
checkInstallResult(data)
await queryInfo(NAME3, 0)
await queryInfo(NAME4, 0)
await queryInfo(NAME5, 0)
checkInstallResult(err, data);
await queryInfo(NAME3, 0);
await queryInfo(NAME4, 0);
await queryInfo(NAME5, 0);
installData.uninstall(NAME3, installParam, async (err, data) => {
checkInstallResult(data)
checkInstallResult(err, data);
installData.uninstall(NAME4, installParam, async (err, data) => {
checkInstallResult(data)
checkInstallResult(err, data);
installData.uninstall(NAME5, installParam, async (err, data) => {
checkInstallResult(data)
await queryInfo(NAME3, 1)
await queryInfo(NAME4, 1)
await queryInfo(NAME5, 1)
done()
})
})
})
})
})
})
})
checkInstallResult(err, data);
await queryInfo(NAME3, 1);
await queryInfo(NAME4, 1);
await queryInfo(NAME5, 1);
done();
});
});
});
});
});
});
});
/**
* @tc.number uninstall_0400
......@@ -120,12 +120,13 @@ describe('ActsBundleManagerUninstall', function () {
it('uninstall_0400', 0, async function (done) {
demo.getBundleInstaller().then((data) => {
data.uninstall(ERROR, installParam, (err, data) => {
expect(data.status).assertEqual(demo.InstallErrorCode.STATUS_UNINSTALL_FAILURE)
expect(data.statusMessage).assertEqual("STATUS_UNINSTALL_FAILURE")
done()
})
})
})
expect(err.code).assertEqual(-1);
expect(data.status).assertEqual(demo.InstallErrorCode.STATUS_UNINSTALL_FAILURE);
expect(data.statusMessage).assertEqual("STATUS_UNINSTALL_FAILURE");
done();
});
});
});
/**
* @tc.number uninstall_0500
......@@ -135,12 +136,13 @@ describe('ActsBundleManagerUninstall', function () {
it('uninstall_0500', 0, async function (done) {
demo.getBundleInstaller().then((data) => {
data.uninstall('', installParam, (err, data) => {
expect(data.status).assertEqual(demo.InstallErrorCode.STATUS_UNINSTALL_FAILURE_ABORTED)
expect(data.statusMessage).assertEqual("STATUS_UNINSTALL_FAILURE_ABORTED")
done()
})
})
})
expect(err.code).assertEqual(-1);
expect(data.status).assertEqual(demo.InstallErrorCode.STATUS_UNINSTALL_FAILURE);
expect(data.statusMessage).assertEqual("STATUS_UNINSTALL_FAILURE");
done();
});
});
});
/**
* @tc.number uninstall_0600
......@@ -150,12 +152,13 @@ describe('ActsBundleManagerUninstall', function () {
it('uninstall_0600', 0, async function (done) {
demo.getBundleInstaller().then((data) => {
data.uninstall(LAUNCHER, installParam, (err, data) => {
expect(data.status).assertEqual(demo.InstallErrorCode.STATUS_UNINSTALL_FAILURE_CONFLICT)
expect(data.statusMessage).assertEqual("STATUS_UNINSTALL_FAILURE_CONFLICT")
done()
})
})
})
expect(err.code).assertEqual(-1);
expect(data.status).assertEqual(demo.InstallErrorCode.STATUS_UNINSTALL_FAILURE);
expect(data.statusMessage).assertEqual("STATUS_UNINSTALL_FAILURE");
done();
});
});
});
/**
* @tc.number uninstall_0700
......@@ -169,15 +172,15 @@ describe('ActsBundleManagerUninstall', function () {
installFlag: 1,
isKeepData: true
}, async (err, data) => {
checkInstallResult(data)
await queryInfo(NAME1, 0)
checkInstallResult(err, data);
await queryInfo(NAME1, 0);
result.uninstall(NAME1, installParam, async (err, data) => {
checkInstallResult(data)
await queryInfo(NAME1, 1)
done()
})
})
})
checkInstallResult(err, data);
await queryInfo(NAME1, 1);
done();
});
});
});
/**
* @tc.number uninstall_0800
......@@ -187,42 +190,43 @@ describe('ActsBundleManagerUninstall', function () {
it('uninstall_0800', 0, async function (done) {
let installData = await demo.getBundleInstaller();
installData.install([PATH + BMSJSTEST8], installParam, async (err, data) => {
checkInstallResult(data)
checkInstallResult(err, data);
let bundleInfo = await demo.getBundleInfo('com.example.third1', demo.BundleFlag.GET_BUNDLE_DEFAULT);
expect(bundleInfo.uid).assertLarger(10000);
installData.uninstall(THIRD1, installParam, async (err, data) => {
checkInstallResult(data)
await queryInfo('com.example.third1', 1)
done()
})
})
})
checkInstallResult(err, data);
await queryInfo('com.example.third1', 1);
done();
});
});
});
async function queryInfo(bundleName, assertFlag){
if (!assertFlag) {
await demo.getBundleInfo(bundleName, demo.BundleFlag.GET_BUNDLE_DEFAULT
).then(datainfo => {
console.info("getBundleInfo result0"+JSON.stringify(datainfo))
expect(datainfo.name).assertEqual(bundleName)
console.info("getBundleInfo result0"+JSON.stringify(datainfo));
expect(datainfo.name).assertEqual(bundleName);
}).catch(err => {
console.info("getBundleInfo result0"+JSON.stringify(datainfo))
expect(err).assertFail()
})
console.info("getBundleInfo result0"+JSON.stringify(datainfo));
expect(err).assertFail();
});
} else {
await demo.getBundleInfo(bundleName, demo.BundleFlag.GET_BUNDLE_DEFAULT
).then(datainfo => {
console.info("getBundleInfo result1"+JSON.stringify(datainfo))
expect(datainfo).assertFail()
console.info("getBundleInfo result1"+JSON.stringify(datainfo));
expect(datainfo).assertFail();
}).catch(err => {
console.info("getBundleInfo result1"+JSON.stringify(err))
expect(err).assertEqual(1)
})
console.info("getBundleInfo result1"+JSON.stringify(err));
expect(err).assertEqual(1);
});
}
}
function checkInstallResult(result) {
console.info("install uninstall result" + JSON.stringify(result))
expect(result.status).assertEqual(demo.InstallErrorCode.SUCCESS)
expect(result.statusMessage).assertEqual(SUCCESS)
function checkInstallResult(err, result) {
console.info("install uninstall result" + JSON.stringify(result));
expect(err.code).assertEqual(0);
expect(result.status).assertEqual(demo.InstallErrorCode.SUCCESS);
expect(result.statusMessage).assertEqual(SUCCESS);
}
})
\ No newline at end of file
......@@ -16,932 +16,643 @@
import { describe, beforeAll, beforeEach, afterEach, afterAll, it, expect } from 'deccjsunit/index'
import demo from '@ohos.bundle'
const PATH = "/data/test/resource/bms/install_bundle/"
const FIRST_RIGHT = "first_right.hap"
const SECOND_RIGHT = "second_right.hap"
const THIRD_RIGHT = "third_right.hap"
const FOURTH_RIGHT = "fourth_right.hap"
const EIGHTH_RIGHT = "eighth_right.hap"
const NINTH_RIGHT = "ninth_right.hap"
const TENTH_RIGHT = "tenth_right.hap"
const ELEVEBTH_RIGHT = "eleventh_right.hap"
const FIFTH_RIGHT = "fifth_right.hap"
const SECOND_BACKUP_RIGHT = "second_backup_right.hap"
const TWELFTH_RIGHT = "twelfth_right.hap"
const SIXTH_RIGHT = "sixth_right.hap"
const THIRTEENTH_RIGHT = "thirteenth_right.hap"
const FOURTEENTH_RIGHT = "fourteenth_right.hap"
const SIXTEENTH_RIGHT = "sixteenth_right.hap"
const NAME = "com.example.l3jsdemo"
const PATH = "/data/test/resource/bms/install_bundle/";
const FIRST_RIGHT = "first_right.hap";
const SECOND_RIGHT = "second_right.hap";
const THIRD_RIGHT = "third_right.hap";
const FOURTH_RIGHT = "fourth_right.hap";
const EIGHTH_RIGHT = "eighth_right.hap";
const NINTH_RIGHT = "ninth_right.hap";
const TENTH_RIGHT = "tenth_right.hap";
const ELEVEBTH_RIGHT = "eleventh_right.hap";
const FIFTH_RIGHT = "fifth_right.hap";
const SECOND_BACKUP_RIGHT = "second_backup_right.hap";
const TWELFTH_RIGHT = "twelfth_right.hap";
const SIXTH_RIGHT = "sixth_right.hap";
const THIRTEENTH_RIGHT = "thirteenth_right.hap";
const FOURTEENTH_RIGHT = "fourteenth_right.hap";
const SIXTEENTH_RIGHT = "sixteenth_right.hap";
const NAME = "com.example.l3jsdemo";
const ERR_CODE = -1;
const STATUS_INSTALL_FAILURE_INVALID = 3;
const STATUS_INSTALL_FAILURE_CONFLICT = 4;
const STATUS_INSTALL_FAILURE_INCOMPATIBLE = 6;
const installParam1 = {
userId: 100,
installFlag: 0,
isKeepData: false
};
const installParam2 = {
userId: 100,
installFlag: 1,
isKeepData: false
};
describe('ActsBundleMgrMultipleInstallTest', function () {
/**
* @tc.number BMS_Multiple_Hap_Install_0100
* @tc.name BUNDLE::install
* @tc.desc Test install interfaces.
*/
it('BMS_Multiple_Hap_Install_0100', 0, async function (done) {
let installData = await demo.getBundleInstaller();
installData.install([""], {
userId: 100,
installFlag: 1,
isKeepData: false
}, async (err, data) => {
expect(err.code).assertEqual(ERR_CODE);
expect(data.status).assertEqual(STATUS_INSTALL_FAILURE_INVALID);
console.info('===BMS_Multiple_Hap_Install_0100.Message1===' + JSON.stringify(data.statusMessage));
expect(data.statusMessage).assertEqual("STATUS_INSTALL_FAILURE_INVALID");
done();
});
})
/**
* @tc.number BMS_Multiple_Hap_Install_0200
* @tc.name BUNDLE::install
* @tc.desc Test install interfaces.
* @tc.desc Test install interfaces path err.
*/
it('BMS_Multiple_Hap_Install_0200', 0, async function (done) {
it('BMS_Multiple_Hap_Install_0200', 0, async function (done) {
let installData = await demo.getBundleInstaller();
installData.install([PATH + FIRST_RIGHT,""], {
userId: 100,
installFlag: 1,
isKeepData: false
}, async (err, data) => {
expect(err.code).assertEqual(ERR_CODE);
expect(data.status).assertEqual(STATUS_INSTALL_FAILURE_INVALID);
console.info('===BMS_Multiple_Hap_Install_0200.Message1===' + JSON.stringify(data.statusMessage));
expect(data.statusMessage).assertEqual("STATUS_INSTALL_FAILURE_INVALID");
installData.install([PATH + FIRST_RIGHT,""], installParam1, async (err, data) => {
checkResult(err, data, demo.InstallErrorCode.STATUS_INSTALL_FAILURE_INVALID,
"STATUS_INSTALL_FAILURE_INVALID");
await queryInfo(NAME, 1);
done();
});
})
/**
* @tc.number BMS_Multiple_Hap_Install_0300
* @tc.name BUNDLE::install
* @tc.desc Test install interfaces.
*/
it('BMS_Multiple_Hap_Install_0300', 0, async function (done) {
let installData = await demo.getBundleInstaller();
installData.install([PATH + FIRST_RIGHT], {
userId: 100,
installFlag: 1,
isKeepData: false
}, async (err, data) => {
expect(err.code).assertEqual(0);
expect(data.status).assertEqual(0);
console.info('===BMS_Multiple_Hap_Install_0300.Message1===' + JSON.stringify(data.statusMessage));
installData.uninstall(NAME, {
userId: 100,
installFlag: 1,
isKeepData: false
}, async (err, data1) => {
console.info('===BMS_Multiple_Hap_Install_0300.Message3===' + JSON.stringify(data1.statusMessage));
expect(data1.statusMessage).assertEqual('SUCCESS');
done();
})
});
})
});
/**
* @tc.number BMS_Multiple_Hap_Install_0400
* @tc.name BUNDLE::install
* @tc.desc Test install interfaces.
* @tc.desc Test install interfaces two different hap.
*/
it('BMS_Multiple_Hap_Install_0400', 0, async function (done) {
it('BMS_Multiple_Hap_Install_0400', 0, async function (done) {
let installData = await demo.getBundleInstaller();
installData.install([PATH + SECOND_RIGHT, PATH + THIRD_RIGHT], {
userId: 100,
installFlag: 1,
isKeepData: false
}, async (err, data) => {
expect(err.code).assertEqual(ERR_CODE);
expect(data.status).assertEqual(STATUS_INSTALL_FAILURE_CONFLICT);
console.info('===BMS_Multiple_Hap_Install_0400.Message1===' + JSON.stringify(data.statusMessage));
expect(data.statusMessage).assertEqual("STATUS_INSTALL_FAILURE_CONFLICT");
done();
});
})
installData.install([PATH + SECOND_RIGHT, PATH + THIRD_RIGHT], installParam1,
async (err, data) => {
checkResult(err, data, demo.InstallErrorCode.STATUS_INSTALL_FAILURE_CONFLICT,
"STATUS_INSTALL_FAILURE_CONFLICT");
await queryInfo(NAME, 1);
done();
});
});
/**
* @tc.number BMS_Multiple_Hap_Install_0500
* @tc.name BUNDLE::install
* @tc.desc Test install interfaces.
* @tc.desc Test install interfaces version code different.
*/
it('BMS_Multiple_Hap_Install_0500', 0, async function (done) {
it('BMS_Multiple_Hap_Install_0500', 0, async function (done) {
let installData = await demo.getBundleInstaller();
installData.install([PATH + SECOND_RIGHT, PATH + FOURTH_RIGHT], {
userId: 100,
installFlag: 1,
isKeepData: false
}, async (err, data) => {
expect(err.code).assertEqual(ERR_CODE);
expect(data.status).assertEqual(STATUS_INSTALL_FAILURE_CONFLICT);
console.info('===BMS_Multiple_Hap_Install_0500.Message1===' + JSON.stringify(data.statusMessage));
expect(data.statusMessage).assertEqual("STATUS_INSTALL_FAILURE_CONFLICT");
done();
});
})
installData.install([PATH + FIRST_RIGHT, PATH + FOURTH_RIGHT], installParam1,
async (err, data) => {
checkResult(err, data, demo.InstallErrorCode.STATUS_INSTALL_FAILURE_CONFLICT,
"STATUS_INSTALL_FAILURE_CONFLICT");
await queryInfo(NAME, 1);
done();
});
});
/**
* @tc.number BMS_Multiple_Hap_Install_0600
* @tc.name BUNDLE::install
* @tc.desc Test install interfaces.
* @tc.desc Test install interfaces version name different.
*/
it('BMS_Multiple_Hap_Install_0600', 0, async function (done) {
it('BMS_Multiple_Hap_Install_0600', 0, async function (done) {
let installData = await demo.getBundleInstaller();
installData.install([PATH + FIRST_RIGHT, PATH + EIGHTH_RIGHT], {
userId: 100,
installFlag: 1,
isKeepData: false
}, async (err, data) => {
expect(err.code).assertEqual(ERR_CODE);
expect(data.status).assertEqual(STATUS_INSTALL_FAILURE_CONFLICT);
console.info('===BMS_Multiple_Hap_Install_0600.Message1===' + JSON.stringify(data.statusMessage));
expect(data.statusMessage).assertEqual("STATUS_INSTALL_FAILURE_CONFLICT");
done();
});
})
installData.install([PATH + FIRST_RIGHT, PATH + EIGHTH_RIGHT], installParam1,
async (err, data) => {
checkResult(err, data, demo.InstallErrorCode.STATUS_INSTALL_FAILURE_CONFLICT,
"STATUS_INSTALL_FAILURE_CONFLICT");
await queryInfo(NAME, 1);
done();
});
});
/**
* @tc.number BMS_Multiple_Hap_Install_0700
* @tc.name BUNDLE::install
* @tc.desc Test install interfaces.
* @tc.desc Test install interfaces target different.
*/
it('BMS_Multiple_Hap_Install_0700', 0, async function (done) {
it('BMS_Multiple_Hap_Install_0700', 0, async function (done) {
let installData = await demo.getBundleInstaller();
installData.install([PATH + FIRST_RIGHT, PATH + NINTH_RIGHT], {
userId: 100,
installFlag: 1,
isKeepData: false
}, async (err, data) => {
expect(err.code).assertEqual(ERR_CODE);
expect(data.status).assertEqual(STATUS_INSTALL_FAILURE_CONFLICT);
console.info('===BMS_Multiple_Hap_Install_0700.Message1===' + JSON.stringify(data.statusMessage));
expect(data.statusMessage).assertEqual("STATUS_INSTALL_FAILURE_CONFLICT");
done();
});
})
installData.install([PATH + FIRST_RIGHT, PATH + NINTH_RIGHT], installParam1,
async (err, data) => {
checkResult(err, data, demo.InstallErrorCode.STATUS_INSTALL_FAILURE_CONFLICT,
"STATUS_INSTALL_FAILURE_CONFLICT");
await queryInfo(NAME, 1);
done();
});
});
/**
* @tc.number BMS_Multiple_Hap_Install_0800
* @tc.name BUNDLE::install
* @tc.desc Test install interfaces.
* @tc.desc Test install interfaces compatible different.
*/
it('BMS_Multiple_Hap_Install_0800', 0, async function (done) {
it('BMS_Multiple_Hap_Install_0800', 0, async function (done) {
let installData = await demo.getBundleInstaller();
installData.install([PATH + FIRST_RIGHT, PATH + TENTH_RIGHT], {
userId: 100,
installFlag: 1,
isKeepData: false
}, async (err, data) => {
expect(err.code).assertEqual(ERR_CODE);
expect(data.status).assertEqual(STATUS_INSTALL_FAILURE_CONFLICT);
console.info('===BMS_Multiple_Hap_Install_0800.Message1===' + JSON.stringify(data.statusMessage));
expect(data.statusMessage).assertEqual("STATUS_INSTALL_FAILURE_CONFLICT");
installData.install([PATH + FIRST_RIGHT, PATH + TENTH_RIGHT], installParam1,
async (err, data) => {
checkResult(err, data, demo.InstallErrorCode.STATUS_INSTALL_FAILURE_CONFLICT,
"STATUS_INSTALL_FAILURE_CONFLICT");
await queryInfo(NAME, 1);
done();
});
})
});
/**
* @tc.number BMS_Multiple_Hap_Install_0900
* @tc.name BUNDLE::install
* @tc.desc Test install interfaces.
* @tc.desc Test install interfaces vendor different.
*/
it('BMS_Multiple_Hap_Install_0900', 0, async function (done) {
it('BMS_Multiple_Hap_Install_0900', 0, async function (done) {
let installData = await demo.getBundleInstaller();
installData.install([PATH + FIRST_RIGHT, PATH + ELEVEBTH_RIGHT], {
userId: 100,
installFlag: 1,
isKeepData: false
}, async (err, data) => {
expect(err.code).assertEqual(ERR_CODE);
expect(data.status).assertEqual(STATUS_INSTALL_FAILURE_CONFLICT);
console.info('===BMS_Multiple_Hap_Install_0900.Message1===' + JSON.stringify(data.statusMessage));
expect(data.statusMessage).assertEqual("STATUS_INSTALL_FAILURE_CONFLICT");
installData.install([PATH + FIRST_RIGHT, PATH + ELEVEBTH_RIGHT], installParam1,
async (err, data) => {
checkResult(err, data, demo.InstallErrorCode.STATUS_INSTALL_FAILURE_CONFLICT,
"STATUS_INSTALL_FAILURE_CONFLICT");
await queryInfo(NAME, 1);
done();
});
})
});
/**
* @tc.number BMS_Multiple_Hap_Install_1000
* @tc.name BUNDLE::install
* @tc.desc Test install interfaces.
* @tc.desc Test install interfaces two entry.
*/
it('BMS_Multiple_Hap_Install_1000', 0, async function (done) {
it('BMS_Multiple_Hap_Install_1000', 0, async function (done) {
let installData = await demo.getBundleInstaller();
installData.install([PATH + FIRST_RIGHT, PATH + FIFTH_RIGHT], {
userId: 100,
installFlag: 1,
isKeepData: false
}, async (err, data) => {
expect(err.code).assertEqual(ERR_CODE);
expect(data.status).assertEqual(STATUS_INSTALL_FAILURE_INVALID);
console.info('===BMS_Multiple_Hap_Install_1000.Message1===' + JSON.stringify(data.statusMessage));
expect(data.statusMessage).assertEqual("STATUS_INSTALL_FAILURE_INVALID");
installData.install([PATH + FIRST_RIGHT, PATH + FIFTH_RIGHT], installParam1,
async (err, data) => {
checkResult(err, data, demo.InstallErrorCode.STATUS_INSTALL_FAILURE_INVALID,
"STATUS_INSTALL_FAILURE_INVALID");
await queryInfo(NAME, 1);
done();
});
})
});
/**
* @tc.number BMS_Multiple_Hap_Install_1100
* @tc.name BUNDLE::install
* @tc.desc Test install interfaces.
* @tc.desc Test install interfaces same feature.
*/
it('BMS_Multiple_Hap_Install_1100', 0, async function (done) {
it('BMS_Multiple_Hap_Install_1100', 0, async function (done) {
let installData = await demo.getBundleInstaller();
installData.install([PATH + SECOND_RIGHT, PATH + SECOND_BACKUP_RIGHT], {
userId: 100,
installFlag: 1,
isKeepData: false
}, async (err, data) => {
expect(err.code).assertEqual(0);
expect(data.status).assertEqual(0);
console.info('===BMS_Multiple_Hap_Install_1100.Message1===' + JSON.stringify(data.statusMessage));
expect(data.statusMessage).assertEqual('SUCCESS');
installData.uninstall(NAME, {
userId: 100,
installFlag: 1,
isKeepData: false
}, async (err, data1) => {
console.info('===BMS_Multiple_Hap_Install_1100.Message2===' + JSON.stringify(data1.statusMessage));
expect(data1.statusMessage).assertEqual('SUCCESS');
done();
})
});
})
installData.install([PATH + SECOND_RIGHT, PATH + SECOND_BACKUP_RIGHT], installParam1,
async (err, data) => {
checkResult(err, data, demo.InstallErrorCode.SUCCESS, "SUCCESS");
await queryInfo(NAME, 0);
installData.uninstall(NAME, installParam1, async (err, data1) => {
checkResult(err, data1, demo.InstallErrorCode.SUCCESS, "SUCCESS");
await queryInfo(NAME, 1);
done();
});
});
});
/**
* @tc.number BMS_Multiple_Hap_Install_1200
* @tc.name BUNDLE::install
* @tc.desc Test install interfaces.
* @tc.desc Test install interfaces entry and feature.
*/
it('BMS_Multiple_Hap_Install_1200', 0, async function (done) {
it('BMS_Multiple_Hap_Install_1200', 0, async function (done) {
let installData = await demo.getBundleInstaller();
installData.install([PATH + FIRST_RIGHT, PATH + SECOND_RIGHT], {
userId: 100,
installFlag: 1,
isKeepData: false
}, async (err, data) => {
expect(err.code).assertEqual(0);
expect(data.status).assertEqual(0);
console.info('===BMS_Multiple_Hap_Install_1200.Message1===' + JSON.stringify(data.statusMessage));
expect(data.statusMessage).assertEqual('SUCCESS');
installData.uninstall(NAME, {
userId: 100,
installFlag: 1,
isKeepData: false
}, async (err, data1) => {
console.info('===BMS_Multiple_Hap_Install_1200.Message2===' + JSON.stringify(data1.statusMessage));
expect(data1.statusMessage).assertEqual('SUCCESS');
installData.install([PATH + FIRST_RIGHT, PATH + SECOND_RIGHT], installParam1,
async (err, data) => {
checkResult(err, data, demo.InstallErrorCode.SUCCESS, "SUCCESS");
await demo.getBundleInfo(NAME, demo.BundleFlag.GET_BUNDLE_DEFAULT).then(datainfo => {
console.info("getBundleInfo result" + JSON.stringify(datainfo))
expect(datainfo.hapModuleInfos.length).assertEqual(2);
expect(datainfo.hapModuleInfos[0].moduleName).assertEqual("l2jsdemo");
expect(datainfo.hapModuleInfos[1].moduleName).assertEqual("entry");
}).catch(err => {
console.info("getBundleInfo err" + JSON.stringify(err));
expect(err).assertFail();
});
installData.uninstall(NAME, installParam1, async (err, data1) => {
checkResult(err, data1, demo.InstallErrorCode.SUCCESS, "SUCCESS");
await queryInfo(NAME, 1);
done();
})
});
});
})
});
/**
* @tc.number BMS_Multiple_Hap_Install_1300
* @tc.name BUNDLE::install
* @tc.desc Test install interfaces.
* @tc.desc Test install interfaces two feature.
*/
it('BMS_Multiple_Hap_Install_1300', 0, async function (done) {
it('BMS_Multiple_Hap_Install_1300', 0, async function (done) {
let installData = await demo.getBundleInstaller();
installData.install([PATH + SECOND_RIGHT, PATH + TWELFTH_RIGHT], {
userId: 100,
installFlag: 1,
isKeepData: false
}, async (err, data) => {
expect(err.code).assertEqual(0);
expect(data.status).assertEqual(0);
console.info('===BMS_Multiple_Hap_Install_1300.Message1===' + JSON.stringify(data.statusMessage));
expect(data.statusMessage).assertEqual('SUCCESS');
installData.uninstall(NAME, {
userId: 100,
installFlag: 1,
isKeepData: false
}, async (err, data1) => {
console.info('===BMS_Multiple_Hap_Install_1300.Message2===' + JSON.stringify(data1.statusMessage));
expect(data1.statusMessage).assertEqual('SUCCESS');
installData.install([PATH + SECOND_RIGHT, PATH + TWELFTH_RIGHT], installParam1,
async (err, data) => {
checkResult(err, data, demo.InstallErrorCode.SUCCESS, "SUCCESS");
await demo.getBundleInfo(NAME, demo.BundleFlag.GET_BUNDLE_DEFAULT).then(datainfo => {
console.info("getBundleInfo result" + JSON.stringify(datainfo))
expect(datainfo.hapModuleInfos.length).assertEqual(2);
expect(datainfo.hapModuleInfos[0].moduleName).assertEqual("l1jsdemo");
expect(datainfo.hapModuleInfos[1].moduleName).assertEqual("l2jsdemo");
}).catch(err => {
console.info("getBundleInfo err" + JSON.stringify(err));
expect(err).assertFail();
});
installData.uninstall(NAME, installParam1, async (err, data1) => {
checkResult(err, data1, demo.InstallErrorCode.SUCCESS, "SUCCESS");
await queryInfo(NAME, 1);
done();
})
});
});
})
});
/**
* @tc.number BMS_Multiple_Hap_Install_1400
* @tc.name BUNDLE::install
* @tc.desc Test install interfaces.
*/
it('BMS_Multiple_Hap_Install_1400', 0, async function (done) {
let installData = await demo.getBundleInstaller();
installData.install([PATH + FIRST_RIGHT, PATH + "test_right.hap"], {
userId: 100,
installFlag: 1,
isKeepData: false
}, async (err, data) => {
expect(err.code).assertEqual(ERR_CODE);
expect(data.status).assertEqual(STATUS_INSTALL_FAILURE_INVALID);
console.info('===BMS_Multiple_Hap_Install_1400.Message1===' + JSON.stringify(data.statusMessage));
expect(data.statusMessage).assertEqual("STATUS_INSTALL_FAILURE_INVALID");
done();
});
})
/**
* @tc.number BMS_Multiple_Hap_Install_1500
* @tc.name BUNDLE::install
* @tc.desc Test install interfaces.
* @tc.desc Test install interfaces path err.
*/
it('BMS_Multiple_Hap_Install_1500', 0, async function (done) {
it('BMS_Multiple_Hap_Install_1400', 0, async function (done) {
let installData = await demo.getBundleInstaller();
installData.install([PATH + FIRST_RIGHT, PATH + SIXTH_RIGHT], {
userId: 100,
installFlag: 1,
isKeepData: false
}, async (err, data) => {
expect(err.code).assertEqual(ERR_CODE);
expect(data.status).assertEqual(STATUS_INSTALL_FAILURE_CONFLICT);
console.info('===BMS_Multiple_Hap_Install_1500.Message1===' + JSON.stringify(data.statusMessage));
expect(data.statusMessage).assertEqual("STATUS_INSTALL_FAILURE_CONFLICT");
installData.install([PATH + FIRST_RIGHT, PATH + "test_right.hap"], installParam1,
async (err, data) => {
checkResult(err, data, demo.InstallErrorCode.STATUS_INSTALL_FAILURE_INVALID,
"STATUS_INSTALL_FAILURE_INVALID");
await queryInfo(NAME, 1);
done();
});
})
});
/**
* @tc.number BMS_Multiple_Hap_Update_0100
* @tc.name BUNDLE::install
* @tc.desc Test install interfaces.
* @tc.desc Test install interfaces entry and feature.
*/
it('BMS_Multiple_Hap_Update_0100', 0, async function (done) {
it('BMS_Multiple_Hap_Update_0100', 0, async function (done) {
let installData = await demo.getBundleInstaller();
installData.install([PATH + FIRST_RIGHT], {
userId: 100,
installFlag: 1,
isKeepData: false
}, async (err, data) => {
expect(err.code).assertEqual(0);
expect(data.status).assertEqual(0);
console.info('===BMS_Multiple_Hap_Update_0100.Message1===' + JSON.stringify(data.statusMessage));
expect(data.statusMessage).assertEqual('SUCCESS');
installData.install([PATH + SECOND_RIGHT], {
userId: 100,
installFlag: 1,
isKeepData: false
}, async (err, data) => {
expect(err.code).assertEqual(0);
expect(data.status).assertEqual(0);
console.info('===BMS_Multiple_Hap_Update_0100.Message2===' + JSON.stringify(data.statusMessage));
expect(data.statusMessage).assertEqual('SUCCESS');
installData.uninstall(NAME, {
userId: 100,
installFlag: 1,
isKeepData: false
}, async (err, data) => {
console.info('===BMS_Multiple_Hap_Update_0100.Message3===' + JSON.stringify(data.statusMessage));
expect(data.statusMessage).assertEqual('SUCCESS');
installData.install([PATH + FIRST_RIGHT], installParam1, async (err, data) => {
checkResult(err, data, demo.InstallErrorCode.SUCCESS, "SUCCESS");
await queryInfo(NAME, 0);
installData.install([PATH + SECOND_RIGHT], installParam1, async (err, data) => {
checkResult(err, data, demo.InstallErrorCode.SUCCESS, "SUCCESS");
await demo.getBundleInfo(NAME, demo.BundleFlag.GET_BUNDLE_DEFAULT).then(datainfo => {
console.info("getBundleInfo result" + JSON.stringify(datainfo));
expect(datainfo.hapModuleInfos.length).assertEqual(2);
expect(datainfo.hapModuleInfos[0].moduleName).assertEqual("l2jsdemo");
expect(datainfo.hapModuleInfos[1].moduleName).assertEqual("entry");
}).catch(err => {
console.info("getBundleInfo err" + JSON.stringify(err));
expect(err).assertFail();
});
installData.uninstall(NAME, installParam1, async (err, data) => {
checkResult(err, data, demo.InstallErrorCode.SUCCESS, "SUCCESS");
await queryInfo(NAME, 1);
done();
})
})
});
});
});
})
});
/**
* @tc.number BMS_Multiple_Hap_Update_0200
* @tc.name BUNDLE::install
* @tc.desc Test install interfaces.
* @tc.desc Test install interfaces high version feature.
*/
it('BMS_Multiple_Hap_Update_0200', 0, async function (done) {
let installData = await demo.getBundleInstaller();
installData.install([PATH + FIRST_RIGHT], {
userId: 100,
installFlag: 1,
isKeepData: false
}, async (err, data) => {
expect(err.code).assertEqual(0);
expect(data.status).assertEqual(0);
console.info('===BMS_Multiple_Hap_Update_0200.Message1===' + JSON.stringify(data.statusMessage));
expect(data.statusMessage).assertEqual('SUCCESS');
installData.install([PATH + FOURTH_RIGHT], {
userId: 100,
installFlag: 1,
isKeepData: false
}, async (err, data) => {
expect(err.code).assertEqual(ERR_CODE);
expect(data.status).assertEqual(STATUS_INSTALL_FAILURE_CONFLICT);
console.info('===BMS_Multiple_Hap_Update_0200.Message2===' + JSON.stringify(data.statusMessage));
expect(data.statusMessage).assertEqual('STATUS_INSTALL_FAILURE_CONFLICT');
installData.uninstall(NAME, {
userId: 100,
installFlag: 1,
isKeepData: false
}, async (err, data) => {
console.info('===BMS_Multiple_Hap_Update_0200.Message3===' + JSON.stringify(data.statusMessage));
expect(data.statusMessage).assertEqual('SUCCESS');
installData.install([PATH + FIRST_RIGHT], installParam1, async (err, data) => {
checkResult(err, data, demo.InstallErrorCode.SUCCESS, "SUCCESS");
await queryInfo(NAME, 0);
installData.install([PATH + SIXTH_RIGHT], installParam1, async (err, data) => {
checkResult(err, data, demo.InstallErrorCode.STATUS_INSTALL_FAILURE_CONFLICT,
"STATUS_INSTALL_FAILURE_CONFLICT");
installData.uninstall(NAME, installParam1, async (err, data) => {
checkResult(err, data, demo.InstallErrorCode.SUCCESS, "SUCCESS");
await queryInfo(NAME, 1);
done();
})
})
})
})
});
});
});
});
/**
* @tc.number BMS_Multiple_Hap_Update_0300
* @tc.name BUNDLE::install
* @tc.desc Test install interfaces.
* @tc.desc Test install interfaces low version feature.
*/
it('BMS_Multiple_Hap_Update_0300', 0, async function (done) {
it('BMS_Multiple_Hap_Update_0300', 0, async function (done) {
let installData = await demo.getBundleInstaller();
installData.install([PATH + FIRST_RIGHT], {
userId: 100,
installFlag: 1,
isKeepData: false
}, async (err, data) => {
expect(err.code).assertEqual(0);
expect(data.status).assertEqual(0);
console.info('===BMS_Multiple_Hap_Update_0300.Message1===' + JSON.stringify(data.statusMessage));
expect(data.statusMessage).assertEqual('SUCCESS');
installData.install([PATH + THIRTEENTH_RIGHT], {
userId: 100,
installFlag: 1,
isKeepData: false
}, async (err, data) => {
expect(err.code).assertEqual(ERR_CODE);
expect(data.status).assertEqual(STATUS_INSTALL_FAILURE_INCOMPATIBLE);
console.info('===BMS_Multiple_Hap_Update_0300.Message2===' + JSON.stringify(data.statusMessage));
expect(data.statusMessage).assertEqual('STATUS_INSTALL_FAILURE_INCOMPATIBLE');
installData.uninstall(NAME, {
userId: 100,
installFlag: 1,
isKeepData: false
}, async (err, data) => {
console.info('===BMS_Multiple_Hap_Update_0300.Message3===' + JSON.stringify(data.statusMessage));
expect(data.statusMessage).assertEqual('SUCCESS');
installData.install([PATH + FIRST_RIGHT], installParam1, async (err, data) => {
checkResult(err, data, demo.InstallErrorCode.SUCCESS, "SUCCESS");
await queryInfo(NAME, 0);
installData.install([PATH + THIRTEENTH_RIGHT], installParam1, async (err, data) => {
checkResult(err, data, demo.InstallErrorCode.STATUS_INSTALL_FAILURE_INCOMPATIBLE,
"STATUS_INSTALL_FAILURE_INCOMPATIBLE");
installData.uninstall(NAME, installParam1, async (err, data) => {
checkResult(err, data, demo.InstallErrorCode.SUCCESS, "SUCCESS");
await queryInfo(NAME, 1);
done();
})
})
})
})
});
});
});
});
/**
* @tc.number BMS_Multiple_Hap_Update_0400
* @tc.name BUNDLE::install
* @tc.desc Test install interfaces.
* @tc.desc Test install interfaces same entry.
*/
it('BMS_Multiple_Hap_Update_0400', 0, async function (done) {
it('BMS_Multiple_Hap_Update_0400', 0, async function (done) {
let installData = await demo.getBundleInstaller();
installData.install([PATH + FIRST_RIGHT], {
userId: 100,
installFlag: 1,
isKeepData: false
}, async (err, data) => {
expect(err.code).assertEqual(0);
expect(data.status).assertEqual(0);
console.info('===BMS_Multiple_Hap_Update_0400.Message1===' + JSON.stringify(data.statusMessage));
expect(data.statusMessage).assertEqual('SUCCESS');
installData.install([PATH + FIRST_RIGHT], {
userId: 100,
installFlag: 1,
isKeepData: false
}, async (err, data) => {
expect(err.code).assertEqual(0);
expect(data.status).assertEqual(0);
console.info('===BMS_Multiple_Hap_Update_0400.Message2===' + JSON.stringify(data.statusMessage));
expect(data.statusMessage).assertEqual('SUCCESS');
installData.uninstall(NAME, {
userId: 100,
installFlag: 1,
isKeepData: false
}, async (err, data) => {
console.info('===BMS_Multiple_Hap_Update_0400.Message3===' + JSON.stringify(data.statusMessage));
expect(data.statusMessage).assertEqual('SUCCESS');
installData.install([PATH + FIRST_RIGHT], installParam1, async (err, data) => {
checkResult(err, data, demo.InstallErrorCode.SUCCESS, "SUCCESS");
await queryInfo(NAME, 0);
installData.install([PATH + FIRST_RIGHT], installParam1, async (err, data) => {
checkResult(err, data, demo.InstallErrorCode.SUCCESS, "SUCCESS");
await queryInfo(NAME, 0);
installData.uninstall(NAME, installParam1, async (err, data) => {
checkResult(err, data, demo.InstallErrorCode.SUCCESS, "SUCCESS");
await queryInfo(NAME, 1);
done();
})
})
});
});
});
})
});
/**
* @tc.number BMS_Multiple_Hap_Update_0500
* @tc.name BUNDLE::install
* @tc.desc Test install interfaces.
* @tc.desc Test install interfaces entry upgrade.
*/
it('BMS_Multiple_Hap_Update_0500', 0, async function (done) {
it('BMS_Multiple_Hap_Update_0500', 0, async function (done) {
let installData = await demo.getBundleInstaller();
installData.install([PATH + FIRST_RIGHT], {
userId: 100,
installFlag: 1,
isKeepData: false
}, async (err, data) => {
expect(err.code).assertEqual(0);
expect(data.status).assertEqual(0);
console.info('===BMS_Multiple_Hap_Update_0500.Message1===' + JSON.stringify(data.statusMessage));
expect(data.statusMessage).assertEqual('SUCCESS');
installData.install([PATH + FOURTEENTH_RIGHT], {
userId: 100,
installFlag: 1,
isKeepData: false
}, async (err, data) => {
expect(err.code).assertEqual(0);
expect(data.status).assertEqual(0);
console.info('===BMS_Multiple_Hap_Update_0500.Message2===' + JSON.stringify(data.statusMessage));
expect(data.statusMessage).assertEqual('SUCCESS');
installData.uninstall(NAME, {
userId: 100,
installFlag: 1,
isKeepData: false
}, async (err, data) => {
console.info('===BMS_Multiple_Hap_Update_0500.Message3===' + JSON.stringify(data.statusMessage));
expect(data.statusMessage).assertEqual('SUCCESS');
installData.install([PATH + FIRST_RIGHT], installParam1, async (err, data) => {
checkResult(err, data, demo.InstallErrorCode.SUCCESS, "SUCCESS");
await queryInfo(NAME, 0);
installData.install([PATH + FOURTEENTH_RIGHT], installParam1, async (err, data) => {
checkResult(err, data, demo.InstallErrorCode.SUCCESS, "SUCCESS");
await demo.getBundleInfo(NAME, demo.BundleFlag.GET_BUNDLE_DEFAULT).then(datainfo => {
console.info("getBundleInfo result" + JSON.stringify(datainfo));
expect(datainfo.versionName).assertEqual("3.0.0");
}).catch(err => {
console.info("getBundleInfo err" + JSON.stringify(err));
expect(err).assertFail();
});
installData.uninstall(NAME, installParam1, async (err, data) => {
checkResult(err, data, demo.InstallErrorCode.SUCCESS, "SUCCESS");
await queryInfo(NAME, 1);
done();
})
})
});
});
});
})
});
/**
* @tc.number BMS_Multiple_Hap_Update_0600
* @tc.name BUNDLE::install
* @tc.desc Test install interfaces.
* @tc.desc Test install interfaces entry of the same version.
*/
it('BMS_Multiple_Hap_Update_0600', 0, async function (done) {
it('BMS_Multiple_Hap_Update_0600', 0, async function (done) {
let installData = await demo.getBundleInstaller();
installData.install([PATH + SECOND_RIGHT], {
userId: 100,
installFlag: 1,
isKeepData: false
}, async (err, data) => {
expect(err.code).assertEqual(0);
expect(data.status).assertEqual(0);
console.info('===BMS_Multiple_Hap_Update_0600.Message1===' + JSON.stringify(data.statusMessage));
expect(data.statusMessage).assertEqual('SUCCESS');
installData.install([PATH + FIRST_RIGHT], {
userId: 100,
installFlag: 1,
isKeepData: false
}, async (err, data) => {
expect(err.code).assertEqual(0);
expect(data.status).assertEqual(0);
console.info('===BMS_Multiple_Hap_Update_0600.Message2===' + JSON.stringify(data.statusMessage));
expect(data.statusMessage).assertEqual('SUCCESS');
installData.uninstall(NAME, {
userId: 100,
installFlag: 1,
isKeepData: false
}, async (err, data) => {
console.info('===BMS_Multiple_Hap_Update_0600.Message3===' + JSON.stringify(data.statusMessage));
expect(data.statusMessage).assertEqual('SUCCESS');
installData.install([PATH + SECOND_RIGHT], installParam1, async (err, data) => {
checkResult(err, data, demo.InstallErrorCode.SUCCESS, "SUCCESS");
await queryInfo(NAME, 0);
installData.install([PATH + FIRST_RIGHT], installParam1, async (err, data) => {
checkResult(err, data, demo.InstallErrorCode.SUCCESS, "SUCCESS");
await demo.getBundleInfo(NAME, demo.BundleFlag.GET_BUNDLE_DEFAULT).then(datainfo => {
console.info("getBundleInfo result" + JSON.stringify(datainfo));
expect(datainfo.hapModuleInfos.length).assertEqual(2);
expect(datainfo.hapModuleInfos[0].moduleName).assertEqual("l2jsdemo");
expect(datainfo.hapModuleInfos[1].moduleName).assertEqual("entry");
}).catch(err => {
console.info("getBundleInfo err" + JSON.stringify(err));
expect(err).assertFail();
});
installData.uninstall(NAME, installParam1, async (err, data) => {
checkResult(err, data, demo.InstallErrorCode.SUCCESS, "SUCCESS");
await queryInfo(NAME, 1);
done();
})
})
});
});
});
})
});
/**
* @tc.number BMS_Multiple_Hap_Update_0700
* @tc.name BUNDLE::install
* @tc.desc Test install interfaces.
* @tc.desc Test install interfaces entry of the high version.
*/
it('BMS_Multiple_Hap_Update_0700', 0, async function (done) {
it('BMS_Multiple_Hap_Update_0700', 0, async function (done) {
let installData = await demo.getBundleInstaller();
installData.install([PATH + SECOND_RIGHT], {
userId: 100,
installFlag: 1,
isKeepData: false
}, async (err, data) => {
expect(err.code).assertEqual(0);
expect(data.status).assertEqual(0);
console.info('===BMS_Multiple_Hap_Update_0700.Message1===' + JSON.stringify(data.statusMessage));
expect(data.statusMessage).assertEqual('SUCCESS');
installData.install([PATH + FOURTEENTH_RIGHT], {
userId: 100,
installFlag: 1,
isKeepData: false
}, async (err, data) => {
expect(err.code).assertEqual(0);
expect(data.status).assertEqual(0);
console.info('===BMS_Multiple_Hap_Update_0700.Message2===' + JSON.stringify(data.statusMessage));
expect(data.statusMessage).assertEqual('SUCCESS');
installData.uninstall(NAME, {
userId: 100,
installFlag: 1,
isKeepData: false
}, async (err, data) => {
console.info('===BMS_Multiple_Hap_Update_0700.Message3===' + JSON.stringify(data.statusMessage));
expect(data.statusMessage).assertEqual('SUCCESS');
installData.install([PATH + SECOND_RIGHT], installParam1, async (err, data) => {
checkResult(err, data, demo.InstallErrorCode.SUCCESS, "SUCCESS");
await queryInfo(NAME, 0);
installData.install([PATH + FOURTEENTH_RIGHT], installParam1, async (err, data) => {
checkResult(err, data, demo.InstallErrorCode.SUCCESS, "SUCCESS");
await demo.getBundleInfo(NAME, demo.BundleFlag.GET_BUNDLE_DEFAULT).then(datainfo => {
console.info("getBundleInfo result" + JSON.stringify(datainfo));
expect(datainfo.versionName).assertEqual("3.0.0");
expect(datainfo.hapModuleInfos[0].moduleName).assertEqual("entry");
}).catch(err => {
console.info("getBundleInfo err" + JSON.stringify(err));
expect(err).assertFail();
});
installData.uninstall(NAME, installParam1, async (err, data) => {
checkResult(err, data, demo.InstallErrorCode.SUCCESS, "SUCCESS");
await queryInfo(NAME, 1);
done();
})
})
});
});
});
})
});
/**
* @tc.number BMS_Multiple_Hap_Update_0800
* @tc.name BUNDLE::install
* @tc.desc Test install interfaces.
* @tc.desc Test install interfaces same feature.
*/
it('BMS_Multiple_Hap_Update_0800', 0, async function (done) {
it('BMS_Multiple_Hap_Update_0800', 0, async function (done) {
let installData = await demo.getBundleInstaller();
installData.install([PATH + SECOND_RIGHT], {
userId: 100,
installFlag: 1,
isKeepData: false
}, async (err, data) => {
expect(err.code).assertEqual(0);
expect(data.status).assertEqual(0);
console.info('===BMS_Multiple_Hap_Update_0800.Message1===' + JSON.stringify(data.statusMessage));
expect(data.statusMessage).assertEqual('SUCCESS');
installData.install([PATH + SECOND_RIGHT], {
userId: 100,
installFlag: 1,
isKeepData: false
}, async (err, data) => {
expect(err.code).assertEqual(0);
expect(data.status).assertEqual(0);
console.info('===BMS_Multiple_Hap_Update_0800.Message2===' + JSON.stringify(data.statusMessage));
expect(data.statusMessage).assertEqual('SUCCESS');
installData.uninstall(NAME, {
userId: 100,
installFlag: 1,
isKeepData: false
}, async (err, data) => {
console.info('===BMS_Multiple_Hap_Update_0800.Message3===' + JSON.stringify(data.statusMessage));
expect(data.statusMessage).assertEqual('SUCCESS');
installData.install([PATH + SECOND_RIGHT], installParam1, async (err, data) => {
checkResult(err, data, demo.InstallErrorCode.SUCCESS, "SUCCESS");
await queryInfo(NAME, 0);
installData.install([PATH + SECOND_RIGHT], installParam1, async (err, data) => {
checkResult(err, data, demo.InstallErrorCode.SUCCESS, "SUCCESS");
installData.uninstall(NAME, installParam1, async (err, data) => {
checkResult(err, data, demo.InstallErrorCode.SUCCESS, "SUCCESS");
await queryInfo(NAME, 1);
done();
})
})
});
});
});
})
});
/**
* @tc.number BMS_Multiple_Hap_Update_0900
* @tc.name BUNDLE::install
* @tc.desc Test install interfaces.
* @tc.desc Test install interfaces feature of the high version.
*/
it('BMS_Multiple_Hap_Update_0900', 0, async function (done) {
it('BMS_Multiple_Hap_Update_0900', 0, async function (done) {
let installData = await demo.getBundleInstaller();
installData.install([PATH + SECOND_RIGHT], {
userId: 100,
installFlag: 1,
isKeepData: false
}, async (err, data) => {
expect(err.code).assertEqual(0);
expect(data.status).assertEqual(0);
console.info('===BMS_Multiple_Hap_Update_0900.Message1===' + JSON.stringify(data.statusMessage));
expect(data.statusMessage).assertEqual('SUCCESS');
installData.install([PATH + FOURTH_RIGHT], {
userId: 100,
installFlag: 1,
isKeepData: false
}, async (err, data) => {
expect(err.code).assertEqual(0);
expect(data.status).assertEqual(0);
console.info('===BMS_Multiple_Hap_Update_0900.Message2===' + JSON.stringify(data.statusMessage));
expect(data.statusMessage).assertEqual('SUCCESS');
installData.uninstall(NAME, {
userId: 100,
installFlag: 1,
isKeepData: false
}, async (err, data) => {
console.info('===BMS_Multiple_Hap_Update_0900.Message3===' + JSON.stringify(data.statusMessage));
expect(data.statusMessage).assertEqual('SUCCESS');
installData.install([PATH + SECOND_RIGHT], installParam1, async (err, data) => {
checkResult(err, data, demo.InstallErrorCode.SUCCESS, "SUCCESS");
await queryInfo(NAME, 0);
installData.install([PATH + SIXTH_RIGHT], installParam1, async (err, data) => {
checkResult(err, data, demo.InstallErrorCode.SUCCESS, "SUCCESS");
await demo.getBundleInfo(NAME, demo.BundleFlag.GET_BUNDLE_DEFAULT).then(datainfo => {
console.info("getBundleInfo result" + JSON.stringify(datainfo));
expect(datainfo.versionName).assertEqual("3.0.0");
}).catch(err => {
console.info("getBundleInfo err" + JSON.stringify(err));
expect(err).assertFail();
});
installData.uninstall(NAME, installParam1, async (err, data) => {
checkResult(err, data, demo.InstallErrorCode.SUCCESS, "SUCCESS");
await queryInfo(NAME, 1);
done();
})
})
});
});
});
})
});
/**
* @tc.number BMS_Multiple_Hap_Update_1000
* @tc.name BUNDLE::install
* @tc.desc Test install interfaces.
* @tc.desc Test install interfaces feature of the lower version.
*/
it('BMS_Multiple_Hap_Update_1000', 0, async function (done) {
it('BMS_Multiple_Hap_Update_1000', 0, async function (done) {
let installData = await demo.getBundleInstaller();
installData.install([PATH + SECOND_RIGHT], {
userId: 100,
installFlag: 1,
isKeepData: false
}, async (err, data) => {
expect(err.code).assertEqual(0);
expect(data.status).assertEqual(0);
console.info('===BMS_Multiple_Hap_Update_1000.Message1===' + JSON.stringify(data.statusMessage));
expect(data.statusMessage).assertEqual('SUCCESS');
installData.install([PATH + THIRTEENTH_RIGHT], {
userId: 100,
installFlag: 1,
isKeepData: false
}, async (err, data) => {
expect(err.code).assertEqual(ERR_CODE);
expect(data.status).assertEqual(STATUS_INSTALL_FAILURE_INCOMPATIBLE);
console.info('===BMS_Multiple_Hap_Update_1000.Message2===' + JSON.stringify(data.statusMessage));
expect(data.statusMessage).assertEqual('STATUS_INSTALL_FAILURE_INCOMPATIBLE');
installData.uninstall(NAME, {
userId: 100,
installFlag: 1,
isKeepData: false
}, async (err, data) => {
console.info('===BMS_Multiple_Hap_Update_1000.Message3===' + JSON.stringify(data.statusMessage));
expect(data.statusMessage).assertEqual('SUCCESS');
installData.install([PATH + SECOND_RIGHT], installParam1, async (err, data) => {
checkResult(err, data, demo.InstallErrorCode.SUCCESS, "SUCCESS");
await queryInfo(NAME, 0);
installData.install([PATH + THIRTEENTH_RIGHT], installParam1, async (err, data) => {
checkResult(err, data, demo.InstallErrorCode.STATUS_INSTALL_FAILURE_INCOMPATIBLE,
"STATUS_INSTALL_FAILURE_INCOMPATIBLE");
installData.uninstall(NAME, installParam1, async (err, data) => {
checkResult(err, data, demo.InstallErrorCode.SUCCESS, "SUCCESS");
await queryInfo(NAME, 1);
done();
})
})
})
})
});
});
});
});
/**
* @tc.number BMS_Multiple_Hap_Update_1100
* @tc.name BUNDLE::install
* @tc.desc Test install interfaces.
* @tc.desc Test install interfaces install other feature.
*/
it('BMS_Multiple_Hap_Update_1100', 0, async function (done) {
it('BMS_Multiple_Hap_Update_1100', 0, async function (done) {
let installData = await demo.getBundleInstaller();
installData.install([PATH + SECOND_RIGHT], {
userId: 100,
installFlag: 1,
isKeepData: false
}, async (err, data) => {
expect(err.code).assertEqual(0);
expect(data.status).assertEqual(0);
console.info('===BMS_Multiple_Hap_Update_1100.Message1===' + JSON.stringify(data.statusMessage));
expect(data.statusMessage).assertEqual('SUCCESS');
installData.install([PATH + TWELFTH_RIGHT], {
userId: 100,
installFlag: 1,
isKeepData: false
}, async (err, data) => {
expect(err.code).assertEqual(0);
expect(data.status).assertEqual(0);
console.info('===BMS_Multiple_Hap_Update_1100.Message2===' + JSON.stringify(data.statusMessage));
expect(data.statusMessage).assertEqual('SUCCESS');
installData.uninstall(NAME, {
userId: 100,
installFlag: 1,
isKeepData: false
}, async (err, data) => {
console.info('===BMS_Multiple_Hap_Update_1100.Message3===' + JSON.stringify(data.statusMessage));
expect(data.statusMessage).assertEqual('SUCCESS');
installData.install([PATH + SECOND_RIGHT], installParam1, async (err, data) => {
checkResult(err, data, demo.InstallErrorCode.SUCCESS, "SUCCESS");
await queryInfo(NAME, 0);
installData.install([PATH + TWELFTH_RIGHT], installParam1, async (err, data) => {
checkResult(err, data, demo.InstallErrorCode.SUCCESS, "SUCCESS");
await demo.getBundleInfo(NAME, demo.BundleFlag.GET_BUNDLE_DEFAULT).then(datainfo => {
console.info("getBundleInfo result" + JSON.stringify(datainfo));
expect(datainfo.hapModuleInfos.length).assertEqual(2);
expect(datainfo.hapModuleInfos[0].moduleName).assertEqual("l1jsdemo");
expect(datainfo.hapModuleInfos[1].moduleName).assertEqual("l2jsdemo");
}).catch(err => {
console.info("getBundleInfo err" + JSON.stringify(err));
expect(err).assertFail();
});
installData.uninstall(NAME, installParam1, async (err, data) => {
checkResult(err, data, demo.InstallErrorCode.SUCCESS, "SUCCESS");
await queryInfo(NAME, 1);
done();
})
})
});
});
});
})
});
/**
* @tc.number BMS_Multiple_Hap_Update_1200
* @tc.name BUNDLE::install
* @tc.desc Test install interfaces.
* @tc.desc Test install interfaces install other high version feature.
*/
it('BMS_Multiple_Hap_Update_1200', 0, async function (done) {
it('BMS_Multiple_Hap_Update_1200', 0, async function (done) {
let installData = await demo.getBundleInstaller();
installData.install([PATH + SECOND_RIGHT], {
userId: 100,
installFlag: 1,
isKeepData: false
}, async (err, data) => {
expect(err.code).assertEqual(0);
expect(data.status).assertEqual(0);
console.info('===BMS_Multiple_Hap_Update_1200.Message1===' + JSON.stringify(data.statusMessage));
expect(data.statusMessage).assertEqual('SUCCESS');
installData.install([PATH + SIXTEENTH_RIGHT], {
userId: 100,
installFlag: 1,
isKeepData: false
}, async (err, data) => {
expect(err.code).assertEqual(0);
expect(data.status).assertEqual(0);
console.info('===BMS_Multiple_Hap_Update_1200.Message2===' + JSON.stringify(data.statusMessage));
expect(data.statusMessage).assertEqual('SUCCESS');
installData.uninstall(NAME, {
userId: 100,
installFlag: 1,
isKeepData: false
}, async (err, data) => {
console.info('===BMS_Multiple_Hap_Update_1200.Message3===' + JSON.stringify(data.statusMessage));
expect(data.statusMessage).assertEqual('SUCCESS');
installData.install([PATH + SECOND_RIGHT], installParam1, async (err, data) => {
checkResult(err, data, demo.InstallErrorCode.SUCCESS, "SUCCESS");
await queryInfo(NAME, 0);
installData.install([PATH + SIXTEENTH_RIGHT], installParam1, async (err, data) => {
checkResult(err, data, demo.InstallErrorCode.SUCCESS, "SUCCESS");
await demo.getBundleInfo(NAME, demo.BundleFlag.GET_BUNDLE_DEFAULT).then(datainfo => {
console.info("getBundleInfo result" + JSON.stringify(datainfo));
expect(datainfo.versionName).assertEqual("3.0.0");
expect(datainfo.hapModuleInfos[0].moduleName).assertEqual("l1jsdemo");
}).catch(err => {
console.info("getBundleInfo err" + JSON.stringify(err));
expect(err).assertFail();
});
installData.uninstall(NAME, installParam1, async (err, data) => {
checkResult(err, data, demo.InstallErrorCode.SUCCESS, "SUCCESS");
await queryInfo(NAME, 1);
done();
})
})
});
});
});
})
});
/**
* @tc.number BMS_Multiple_Hap_Update_1300
* @tc.name BUNDLE::install
* @tc.desc Test install interfaces.
* @tc.desc Test install interfaces install other low version feature.
*/
it('BMS_Multiple_Hap_Update_1300', 0, async function (done) {
it('BMS_Multiple_Hap_Update_1300', 0, async function (done) {
let installData = await demo.getBundleInstaller();
installData.install([PATH + SECOND_RIGHT], {
userId: 100,
installFlag: 1,
isKeepData: false
}, async (err, data) => {
expect(err.code).assertEqual(0);
expect(data.status).assertEqual(0);
console.info('===BMS_Multiple_Hap_Update_1300.Message1===' + JSON.stringify(data.statusMessage));
expect(data.statusMessage).assertEqual('SUCCESS');
installData.install([PATH + THIRTEENTH_RIGHT], {
userId: 100,
installFlag: 1,
isKeepData: false
}, async (err, data) => {
expect(err.code).assertEqual(ERR_CODE);
expect(data.status).assertEqual(STATUS_INSTALL_FAILURE_INCOMPATIBLE);
console.info('===BMS_Multiple_Hap_Update_1300.Message2===' + JSON.stringify(data.statusMessage));
expect(data.statusMessage).assertEqual('STATUS_INSTALL_FAILURE_INCOMPATIBLE');
installData.uninstall(NAME, {
userId: 100,
installFlag: 1,
isKeepData: false
}, async (err, data) => {
console.info('===BMS_Multiple_Hap_Update_1300.Message3===' + JSON.stringify(data.statusMessage));
expect(data.statusMessage).assertEqual('SUCCESS');
installData.install([PATH + SECOND_RIGHT], installParam1, async (err, data) => {
checkResult(err, data, demo.InstallErrorCode.SUCCESS, "SUCCESS");
await queryInfo(NAME, 0);
installData.install([PATH + THIRTEENTH_RIGHT], installParam1, async (err, data) => {
checkResult(err, data, demo.InstallErrorCode.STATUS_INSTALL_FAILURE_INCOMPATIBLE,
"STATUS_INSTALL_FAILURE_INCOMPATIBLE");
installData.uninstall(NAME, installParam1, async (err, data) => {
checkResult(err, data, demo.InstallErrorCode.SUCCESS, "SUCCESS");
await queryInfo(NAME, 1);
done();
})
})
})
})
/**
* @tc.number BMS_Multiple_Hap_Update_1400
* @tc.name BUNDLE::install
* @tc.desc Test install interfaces.
*/
it('BMS_Multiple_Hap_Update_1400', 0, async function (done) {
let installData = await demo.getBundleInstaller();
installData.install([PATH + FIRST_RIGHT, PATH + SECOND_RIGHT], {
userId: 100,
installFlag: 1,
isKeepData: false
}, async (err, data) => {
expect(err.code).assertEqual(0);
expect(data.status).assertEqual(0);
console.info('===BMS_Multiple_Hap_Update_1400.Message1===' + JSON.stringify(data.statusMessage));
installData.uninstall(NAME, {
userId: 100,
installFlag: 1,
isKeepData: false
}, async (err, data1) => {
console.info('===BMS_Multiple_Hap_Update_1400.Message2===' + JSON.stringify(data1.statusMessage));
expect(data1.statusMessage).assertEqual('SUCCESS');
done();
})
});
});
});
})
});
/**
* @tc.number BMS_Multiple_Hap_Update_1500
* @tc.name BUNDLE::install
* @tc.desc Test install interfaces.
*/
it('BMS_Multiple_Hap_Update_1500', 0, async function (done) {
it('BMS_Multiple_Hap_Update_1500', 0, async function (done) {
let installData = await demo.getBundleInstaller();
installData.install([PATH + FIRST_RIGHT, PATH + SECOND_RIGHT], {
userId: 100,
installFlag: 0,
isKeepData: false
}, async (err, data) => {
expect(err.code).assertEqual(0);
expect(data.status).assertEqual(0);
console.info('===BMS_Multiple_Hap_Update_1500.Message1===' + JSON.stringify(data.statusMessage));
expect(data.statusMessage).assertEqual('SUCCESS');
installData.install([PATH + FIRST_RIGHT, PATH + SECOND_RIGHT], {
userId: 100,
installFlag: 1,
isKeepData: false
}, async (err, data) => {
expect(err.code).assertEqual(0);
expect(data.status).assertEqual(0);
console.info('===BMS_Multiple_Hap_Update_1500.Message2===' + JSON.stringify(data.statusMessage));
expect(data.statusMessage).assertEqual('SUCCESS');
installData.uninstall(NAME, {
userId: 100,
installFlag: 1,
isKeepData: false
}, async (err, data) => {
console.info('===BMS_Multiple_Hap_Update_1500.Message3===' + JSON.stringify(data.statusMessage));
expect(data.statusMessage).assertEqual('SUCCESS');
installData.install([PATH + FIRST_RIGHT, PATH + SECOND_RIGHT], installParam1, async (err, data) => {
checkResult(err, data, demo.InstallErrorCode.SUCCESS, "SUCCESS");
await queryInfo(NAME, 0);
installData.install([PATH + FIRST_RIGHT, PATH + SECOND_RIGHT],installParam2, async (err, data) => {
checkResult(err, data, demo.InstallErrorCode.SUCCESS, "SUCCESS");
await queryInfo(NAME, 0);
installData.uninstall(NAME, installParam1, async (err, data) => {
checkResult(err, data, demo.InstallErrorCode.SUCCESS, "SUCCESS");
await queryInfo(NAME, 1);
done();
})
})
});
});
});
})
});
function checkResult(error, data, status, statusMessage) {
if(!status) {
expect(error.code).assertEqual(status);
expect(data.status).assertEqual(status);
expect(data.statusMessage).assertEqual(statusMessage);
console.info('===install uninstall result===' + JSON.stringify(data.statusMessage));
} else {
expect(error.code).assertEqual(ERR_CODE);
expect(data.status).assertEqual(status);
expect(data.statusMessage).assertEqual(statusMessage);
console.info('===install uninstall result===' + JSON.stringify(data.statusMessage));
}
}
async function queryInfo(bundleName, assertFlag){
if (!assertFlag) {
await demo.getBundleInfo(bundleName, demo.BundleFlag.GET_BUNDLE_DEFAULT
).then(datainfo => {
console.info("getBundleInfo result0" + JSON.stringify(datainfo));
expect(datainfo.name).assertEqual(bundleName);
}).catch(err => {
console.info("getBundleInfo result0" + JSON.stringify(datainfo));
expect(err).assertFail();
});
} else {
await demo.getBundleInfo(bundleName, demo.BundleFlag.GET_BUNDLE_DEFAULT)
.then(datainfo => {
console.info("getBundleInfo result1" + JSON.stringify(datainfo));
expect(datainfo).assertFail();
}).catch(err => {
console.info("getBundleInfo result1" + JSON.stringify(err));
expect(err).assertEqual(1);
});
}
}
})
......@@ -12,7 +12,7 @@
"bundleName": "com.example.l3jsdemo",
"label": "$string:app_name",
"version": {
"code": 1000000,
"code": 2000000,
"name": "1.0.1"
}
},
......
......@@ -12,8 +12,8 @@
"bundleName": "com.example.l3jsdemo",
"label": "$string:app_name",
"version": {
"code": 1000000,
"name": "1.0.0"
"code": 2000000,
"name": "2.0.0"
}
},
"deviceConfig": {
......
......@@ -8,8 +8,8 @@
"vendor": "example",
"bundleName": "com.example.l3jsdemo",
"version": {
"code": 1000000,
"name": "1.0.0"
"code": 2000000,
"name": "2.0.0"
}
},
"deviceConfig": {
......
......@@ -8,8 +8,8 @@
"vendor": "example",
"bundleName": "com.example.l3jsdemo",
"version": {
"code": 1000000,
"name": "1.0.0"
"code": 2000000,
"name": "2.0.0"
}
},
"deviceConfig": {
......@@ -48,7 +48,7 @@
"mainAbility": "com.example.l3jsdemo.MainAbility",
"distro": {
"moduleType": "entry",
"installationFree": true,
"installationFree": false,
"deliveryWithInstall": true,
"moduleName": "entry"
},
......
......@@ -8,8 +8,8 @@
"vendor": "example",
"bundleName": "com.example.l3jsdemo",
"version": {
"code": 1000001,
"name": "1.0.0"
"code": 3000000,
"name": "3.0.0"
}
},
"deviceConfig": {
......
......@@ -12,8 +12,8 @@
"bundleName": "com.example.l3jsdemo",
"label": "$string:app_name",
"version": {
"code": 1000001,
"name": "1.0.0"
"code": 3000000,
"name": "2.0.0"
}
},
"deviceConfig": {
......
......@@ -3,7 +3,7 @@
"iconId": 33554436,
"apiVersion": {
"compatible": 4,
"releaseType": "Beta1",
"releaseType": "Release",
"target": 6
},
"labelId": 33554432,
......@@ -12,8 +12,8 @@
"bundleName": "com.example.l3jsdemo",
"label": "$string:app_name",
"version": {
"code": 1000000,
"name": "1.0.0"
"code": 2000000,
"name": "2.0.0"
}
},
"deviceConfig": {
......@@ -43,7 +43,7 @@
"mainAbility": "com.example.l2jsdemo.MainAbility",
"distro": {
"moduleType": "feature",
"installationFree": false,
"installationFree": true,
"deliveryWithInstall": true,
"moduleName": "l2jsdemo"
},
......
......@@ -12,8 +12,8 @@
"bundleName": "com.example.l3jsdemo",
"label": "$string:app_name",
"version": {
"code": 1000000,
"name": "1.0.0"
"code": 2000000,
"name": "2.0.0"
}
},
"deviceConfig": {
......
......@@ -12,8 +12,8 @@
"bundleName": "com.example.l3jsdemo",
"label": "$string:app_name",
"version": {
"code": 1000000,
"name": "1.0.0"
"code": 2000000,
"name": "2.0.0"
}
},
"deviceConfig": {
......
......@@ -12,8 +12,8 @@
"bundleName": "com.example.l3jsdemo",
"label": "$string:app_name",
"version": {
"code": 1000001,
"name": "1.0.0"
"code": 3000000,
"name": "3.0.0"
}
},
"deviceConfig": {
......
......@@ -12,8 +12,8 @@
"bundleName": "com.example.l3jsdemo",
"label": "$string:app_name",
"version": {
"code": 1000001,
"name": "1.0.0"
"code": 3000000,
"name": "3.0.0"
}
},
"deviceConfig": {
......
......@@ -12,8 +12,8 @@
"bundleName": "com.example.l3jsdemo",
"label": "$string:app_name",
"version": {
"code": 1000000,
"name": "1.0.0"
"code": 2000000,
"name": "2.0.0"
}
},
"deviceConfig": {
......@@ -43,7 +43,7 @@
"mainAbility": "com.example.l2jsdemo.MainAbility",
"distro": {
"moduleType": "feature",
"installationFree": false,
"installationFree": true,
"deliveryWithInstall": true,
"moduleName": "l2jsdemo"
},
......
......@@ -12,7 +12,7 @@
"bundleName": "com.example.l3jsdemo",
"label": "$string:app_name",
"version": {
"code": 999999,
"code": 1000000,
"name": "1.0.0"
}
},
......@@ -43,7 +43,7 @@
"mainAbility": "com.example.l1jsdemo.MainAbility",
"distro": {
"moduleType": "feature",
"installationFree": false,
"installationFree": true,
"deliveryWithInstall": true,
"moduleName": "l1jsdemo"
},
......
......@@ -12,8 +12,8 @@
"bundleName": "com.example.l3jsdemo",
"label": "$string:app_name",
"version": {
"code": 1000000,
"name": "1.0.0"
"code": 2000000,
"name": "2.0.0"
}
},
"deviceConfig": {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册