提交 2ef98181 编写于 作者: Y yangbo

fix getPermission

Signed-off-by: Nyangbo <yangbo258@huawei.com>
上级 626fd54d
...@@ -14,7 +14,7 @@ ...@@ -14,7 +14,7 @@
*/ */
import mediaLibrary from "@ohos.multimedia.mediaLibrary"; import mediaLibrary from "@ohos.multimedia.mediaLibrary";
import abilityAccessCtrl from "@ohos.abilityAccessCtrl"; import abilityAccessCtrl from "@ohos.abilityAccessCtrl";
import bundle from "@ohos.bundle"; import bundleManager from '@ohos.bundle.bundleManager';
import uitest from "@ohos.UiTest"; import uitest from "@ohos.UiTest";
const presetsCount = { const presetsCount = {
ActsMediaLibraryAlbumTest: { albumsCount: 15, assetsCount: 27 }, ActsMediaLibraryAlbumTest: { albumsCount: 15, assetsCount: 27 },
...@@ -238,36 +238,39 @@ const getPermission = async function (name, context) { ...@@ -238,36 +238,39 @@ const getPermission = async function (name, context) {
if (!name) { if (!name) {
name = "ohos.acts.multimedia.mediaLibrary"; name = "ohos.acts.multimedia.mediaLibrary";
} }
console.info("getPermission start", name);
let permissions = ["ohos.permission.MEDIA_LOCATION", "ohos.permission.READ_MEDIA", "ohos.permission.WRITE_MEDIA"]; try {
console.info('getPermission start', name);
let permissionState = new Map();
const permissions = [
'ohos.permission.MEDIA_LOCATION',
'ohos.permission.READ_MEDIA',
'ohos.permission.WRITE_MEDIA',
];
let atManager = abilityAccessCtrl.createAtManager(); const atManager = abilityAccessCtrl.createAtManager();
const appFlags = bundleManager.ApplicationFlag.GET_APPLICATION_INFO_DEFAULT;
const userId = 100;
const appInfo = await bundleManager.getApplicationInfo(name, appFlags, userId);
const tokenID = appInfo.accessTokenId;
for (const permission of permissions) {
console.info('getPermission permission: ' + permission);
try { try {
atManager.requestPermissionsFromUser(context, permissions, (err, data) => { await atManager.grantUserGrantedPermission(tokenID, permission, 1);
console.info(`getPermission requestPermissionsFromUser ${JSON.stringify(data)}`); } catch (error) {
}); console.info(`getPermission ${permission} failed`);
} catch (err) {
console.log(`get permission catch err -> ${JSON.stringify(err)}`);
} }
await sleep(1000); permissionState.set(permission, await atManager.verifyAccessToken(tokenID, permission));
let driver = uitest.Driver.create(); }
permissionState.forEach((value, key, map) => {
await sleep(2000); if (value !== 0) {
let button = await driver.findComponent(uitest.ON.text("允许")); console.info(`getPermission failed; permission: ${key}, state: ${value}`);
await button.click(); }
await sleep(2000); });
console.info('getPermission end');
let appInfo = await bundle.getApplicationInfo(name, 0, 100); } catch (error) {
let tokenID = appInfo.accessTokenId; console.info(`getPermission failed, error: ${error}`);
let isGranted1 = await atManager.verifyAccessToken(tokenID, "ohos.permission.MEDIA_LOCATION");
let isGranted2 = await atManager.verifyAccessToken(tokenID, "ohos.permission.READ_MEDIA");
let isGranted3 = await atManager.verifyAccessToken(tokenID, "ohos.permission.WRITE_MEDIA");
if (!(isGranted1 == 0 && isGranted2 == 0 && isGranted3 == 0)) {
console.info("getPermission failed");
} }
console.info("getPermission end");
}; };
const MODIFY_ERROR_CODE_01 = "-1000"; const MODIFY_ERROR_CODE_01 = "-1000";
......
...@@ -16,39 +16,40 @@ import image from "@ohos.multimedia.image"; ...@@ -16,39 +16,40 @@ import image from "@ohos.multimedia.image";
import mediaLibrary from "@ohos.multimedia.mediaLibrary"; import mediaLibrary from "@ohos.multimedia.mediaLibrary";
import { describe, beforeAll, beforeEach, afterEach, afterAll, it, expect } from "deccjsunit/index"; import { describe, beforeAll, beforeEach, afterEach, afterAll, it, expect } from "deccjsunit/index";
import abilityAccessCtrl from "@ohos.abilityAccessCtrl"; import abilityAccessCtrl from "@ohos.abilityAccessCtrl";
import bundle from "@ohos.bundle"; import bundleManager from '@ohos.bundle.bundleManager';
import uitest from "@ohos.UiTest";
import { sleep } from "../../../../../../common";
export default function getExifNoLocation(abilityContext) { export default function getExifNoLocation(abilityContext) {
describe("getExifNoLocation", function () { describe("getExifNoLocation", function () {
beforeAll(async function () { beforeAll(async function () {
console.info("beforeAll case"); console.info("beforeAll case");
let atManager = abilityAccessCtrl.createAtManager(); try {
let permissions = ["ohos.permission.READ_MEDIA"]; let permissionState = new Map();
const permissions = [
'ohos.permission.READ_MEDIA',
];
const atManager = abilityAccessCtrl.createAtManager();
const appFlags = bundleManager.ApplicationFlag.GET_APPLICATION_INFO_DEFAULT;
const userId = 100;
const appInfo = await bundleManager.getApplicationInfo('ohos.acts.multimedia.mediaLibrary', appFlags, userId);
const tokenID = appInfo.accessTokenId;
for (const permission of permissions) {
console.info('getPermission permission: ' + permission);
try { try {
atManager.requestPermissionsFromUser(abilityContext, permissions, (err, data) => { await atManager.grantUserGrantedPermission(tokenID, permission, 1);
console.info(`getPermission requestPermissionsFromUser ${JSON.stringify(data)}`); } catch (error) {
}); console.info(`getPermission ${permission} failed`);
} catch (err) {
console.log(`get permission catch err -> ${JSON.stringify(err)}`);
} }
await sleep(1000); permissionState.set(permission, await atManager.verifyAccessToken(tokenID, permission));
}
let driver = uitest.Driver.create(); permissionState.forEach((value, key, map) => {
await sleep(2000); if (value !== 0) {
console.info(`getPermission failed; permission: ${key}, state: ${value}`);
let button = await driver.findComponent(uitest.ON.text("允许")); }
await button.click(); });
await sleep(2000); console.info('getPermission end');
let appInfo = await bundle.getApplicationInfo("ohos.acts.multimedia.mediaLibrary", 0, 100); } catch (error) {
let tokenID = appInfo.accessTokenId; console.info(`getPermission failed, error: ${error}`);
let isGranted = await atManager.verifyAccessToken(tokenID, "ohos.permission.READ_MEDIA");
if (isGranted != 0) {
console.info("getpermission failed");
} }
}); });
beforeEach(function () { beforeEach(function () {
......
...@@ -16,41 +16,41 @@ import image from "@ohos.multimedia.image"; ...@@ -16,41 +16,41 @@ import image from "@ohos.multimedia.image";
import mediaLibrary from "@ohos.multimedia.mediaLibrary"; import mediaLibrary from "@ohos.multimedia.mediaLibrary";
import { describe, beforeAll, beforeEach, afterEach, afterAll, it, expect } from "deccjsunit/index"; import { describe, beforeAll, beforeEach, afterEach, afterAll, it, expect } from "deccjsunit/index";
import abilityAccessCtrl from "@ohos.abilityAccessCtrl"; import abilityAccessCtrl from "@ohos.abilityAccessCtrl";
import bundle from "@ohos.bundle"; import bundleManager from '@ohos.bundle.bundleManager';
import uitest from "@ohos.UiTest";
import { sleep } from "../../../../../../common";
export default function getExifLocation(abilityContext) { export default function getExifLocation(abilityContext) {
describe("getExifLocation", function () { describe("getExifLocation", function () {
beforeAll(async function () { beforeAll(async function () {
console.info("beforeAll case"); console.info("beforeAll case");
let atManager = abilityAccessCtrl.createAtManager(); try {
let permissionState = new Map();
const permissions = [
'ohos.permission.MEDIA_LOCATION',
'ohos.permission.READ_MEDIA',
];
let permissions = ["ohos.permission.MEDIA_LOCATION", "ohos.permission.READ_MEDIA"]; const atManager = abilityAccessCtrl.createAtManager();
const appFlags = bundleManager.ApplicationFlag.GET_APPLICATION_INFO_DEFAULT;
const userId = 100;
const appInfo = await bundleManager.getApplicationInfo('ohos.acts.multimedia.mediaLibrary', appFlags, userId);
const tokenID = appInfo.accessTokenId;
for (const permission of permissions) {
console.info('getPermission permission: ' + permission);
try { try {
atManager.requestPermissionsFromUser(abilityContext, permissions, (err, data) => { await atManager.grantUserGrantedPermission(tokenID, permission, 1);
console.info(`getPermission requestPermissionsFromUser ${JSON.stringify(data)}`); } catch (error) {
}); console.info(`getPermission ${permission} failed`);
} catch (err) {
console.log(`get permission catch err -> ${JSON.stringify(err)}`);
} }
await sleep(1000); permissionState.set(permission, await atManager.verifyAccessToken(tokenID, permission));
}
let driver = uitest.Driver.create(); permissionState.forEach((value, key, map) => {
await sleep(2000); if (value !== 0) {
console.info(`getPermission failed; permission: ${key}, state: ${value}`);
let button = await driver.findComponent(uitest.ON.text("允许")); }
await button.click(); });
await sleep(2000); console.info('getPermission end');
} catch (error) {
let appInfo = await bundle.getApplicationInfo("ohos.acts.multimedia.mediaLibrary", 0, 100); console.info(`getPermission failed, error: ${error}`);
let tokenID = appInfo.accessTokenId;
let isGranted1 = await atManager.verifyAccessToken(tokenID, "ohos.permission.MEDIA_LOCATION");
let isGranted2 = await atManager.verifyAccessToken(tokenID, "ohos.permission.READ_MEDIA");
if (!(isGranted1 == 0 && isGranted2 == 0)) {
console.info("getpermission failed");
} }
}); });
beforeEach(function () { beforeEach(function () {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册