diff --git a/runtime/main/extend/systemplugin/napi/abilityAccessCtrl.js b/runtime/main/extend/systemplugin/napi/abilityAccessCtrl.js new file mode 100644 index 00000000..60b60e5c --- /dev/null +++ b/runtime/main/extend/systemplugin/napi/abilityAccessCtrl.js @@ -0,0 +1,69 @@ +/* + * Copyright (c) 2022 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { paramMock } from "../utils" + +export function mockAbilityAccessCtrl() { + const atManagerMock = { + verifyAccessToken: function (...args) { + console.warn("atManager.verifyAccessToken interface mocked in the Previewer." + + " How this interface works on the Previewer may be different from that on a real device.") + return new Promise((resolve, reject) => { + resolve(GrantStatusMock); + }) + }, + grantUserGrantedPermission: function (...args) { + console.warn("atManager.grantUserGrantedPermission interface mocked in the Previewer." + + " How this interface works on the Previewer may be different from that on a real device.") + const len = args.length + if (len > 0 && typeof args[len - 1] === 'function') { + args[len - 1].call(this, paramMock.businessErrorMock, paramMock.paramNumberMock); + } else { + return new Promise((resolve, reject) => { + resolve(paramMock.paramNumberMock); + }) + } + }, + revokeUserGrantedPermission: function (...args) { + console.warn("atManager.revokeUserGrantedPermission interface mocked in the Previewer." + + " How this interface works on the Previewer may be different from that on a real device.") + const len = args.length + if (len > 0 && typeof args[len - 1] === 'function') { + args[len - 1].call(this, paramMock.businessErrorMock, paramMock.paramNumberMock); + } else { + return new Promise((resolve, reject) => { + resolve(paramMock.paramNumberMock); + }) + } + }, + getPermissionFlags: function (...args) { + console.warn("atManager.getPermissionFlags interface mocked in the Previewer." + + " How this interface works on the Previewer may be different from that on a real device.") + return new Promise((resolve, reject) => { + resolve(paramMock.paramNumberMock); + }) + } + }; + const abilityAccessCtrl = { + createAtManager : function (...args) { + console.warn("abilityAccessCtrl.createAtManager interface mocked in the Previewer." + + " How this interface works on the Previewer may be different from that on a real device.") + return atManagerMock; + }, + GrantStatusMock:'[PC preview] unknow GrantStatusMock' + }; + + return abilityAccessCtrl; +} diff --git a/runtime/main/extend/systemplugin/napi/index.js b/runtime/main/extend/systemplugin/napi/index.js index a410417d..52881000 100644 --- a/runtime/main/extend/systemplugin/napi/index.js +++ b/runtime/main/extend/systemplugin/napi/index.js @@ -39,6 +39,7 @@ import { mockUri } from './uri' import { mockXml } from './xml' import { mockStatfs } from './statfs' import { mockSettings } from './settings' +import { mockAbilityAccessCtrl } from './abilityAccessCtrl' export function mockRequireNapiFun() { global.requireNapi = function (...args) { @@ -125,6 +126,8 @@ export function mockRequireNapiFun() { return mockStatfs(); case "settings": return mockSettings(); + case "abilityAccessCtrl": + return mockAbilityAccessCtrl(); default: return global.requireNapiPreview(...args); }