/* * Copyright (c) 2021 Huawei Device Co., Ltd. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import account from '@ohos.account.appAccount' import { describe, beforeAll, beforeEach, afterEach, afterAll, it, expect } from '@ohos/hypium' const TIMEOUT = 5000; const ERR_APPACCOUNT_SERVICE_PERMISSION_DENIED = 4521993; export default function ActsAccountNoPermission() { describe('ActsAccountNoPermission', function () { function sleep(delay) { return new Promise((resolve, reject) => { setTimeout(() => { resolve() }, delay) }).then(() => { console.info(`sleep #{time} over ...`) }) } beforeAll(async function (done) { console.debug("====>beforeAll start===="); await sleep(TIMEOUT); console.debug("====>beforeAll end===="); done(); }); /* * @tc.number : ActsAccountNoPermission_0100 * @tc.name : setAppAccountSyncEnable callback * @tc.desc : Set the added account to allow synchronization without permission */ it('ActsAccountNoPermission_0100', 0, async function (done) { console.debug("====>ActsAccountNoPermission_0100 start===="); var appAccountManager = account.createAppAccountManager(); console.debug("====>creat finish===="); appAccountManager.addAccount("syncenable_callback_setnopermission", (err)=>{ console.debug("====>add account ActsAccountNoPermission_0100 err:" + JSON.stringify(err)); expect(err).assertEqual(null); appAccountManager.setAppAccountSyncEnable("syncenable_callback_setnopermission", true, (err)=>{ console.debug("====>setAppAccountSyncEnable 0100 err:" + JSON.stringify(err)); expect(err.code).assertEqual(account.ResultCode.ERROR_PERMISSION_DENIED); appAccountManager.deleteAccount("syncenable_callback_setnopermission", (err)=>{ console.debug("====>delete Account ActsAccountNoPermission_0100 err:" + JSON.stringify(err)); expect(err).assertEqual(null); console.debug("====>ActsAccountNoPermission_0100 end===="); done(); }); }) }); }); /* * @tc.number : ActsAccountNoPermission_0200 * @tc.name : setAppAccountSyncEnable promise * @tc.desc : Set the added account to allow synchronization without permission */ it('ActsAccountNoPermission_0200', 0, async function (done) { console.debug("====>ActsAccountNoPermission_0200 start===="); var appAccountManager = account.createAppAccountManager(); console.debug("====>creat finish===="); console.debug("====>add account ActsAccountNoPermission_0200 start===="); await appAccountManager.addAccount("syncenable_promise_setnopermission"); console.debug("====>setAppAccountSyncEnable ActsAccountNoPermission_0200 start===="); try{ await appAccountManager.setAppAccountSyncEnable("syncenable_promise_setnopermission", true); } catch(err){ console.debug("====>setAppAccountSyncEnable 0200 err:" + JSON.stringify(err)); expect(err.code).assertEqual(account.ResultCode.ERROR_PERMISSION_DENIED); console.debug("====>delete account ActsAccountNoPermission_0200 start===="); await appAccountManager.deleteAccount("syncenable_promise_setnopermission"); console.debug("====>ActsAccountNoPermission_0200 end===="); done(); } }); /* * @tc.number : ActsAccountNoPermission_0300 * @tc.name : Check sync flag callback form * @tc.desc : Check the added account synchronization without permission */ it('ActsAccountNoPermission_0300', 0, async function (done) { console.debug("====>ActsAccountNoPermission_0300 start===="); var appAccountManager = account.createAppAccountManager(); console.debug("====>creat finish===="); appAccountManager.addAccount("syncenable_callback_checknopermission", (err)=>{ console.debug("====>add account ActsAccountNoPermission_0300 err:" + JSON.stringify(err)); expect(err).assertEqual(null); appAccountManager.checkAppAccountSyncEnable("syncenable_callback_checknopermission", (err, data)=>{ console.debug("====>checkAppAccountSyncEnable 0300 err:" + JSON.stringify(err)); expect(err.code).assertEqual(account.ResultCode.ERROR_PERMISSION_DENIED); appAccountManager.deleteAccount("syncenable_callback_checknopermission", (err)=>{ console.debug("====>delete Account ActsAccountNoPermission_0300 err:" + JSON.stringify(err)); expect(err).assertEqual(null); console.debug("====>ActsAccountNoPermission_0300 end===="); done(); }); }) }); }); /* * @tc.number : ActsAccountNoPermission_0400 * @tc.name : Check sync flag promise form * @tc.desc : Check the added account synchronization without permission */ it('ActsAccountNoPermission_0400', 0, async function (done) { console.debug("====>ActsAccountNoPermission_0400 start===="); var appAccountManager = account.createAppAccountManager(); console.debug("====>creat finish===="); console.debug("====>add account ActsAccountNoPermission_0400 start===="); await appAccountManager.addAccount("syncenable_promise_checknopermission"); console.debug("====>checkAppAccountSyncEnable ActsAccountNoPermission_0400 start===="); try{ var data = await appAccountManager.checkAppAccountSyncEnable("syncenable_promise_checknopermission"); } catch(err){ console.debug("====>checkAppAccountSyncEnable 0400 err:" + JSON.stringify(err)); expect(err.code).assertEqual(account.ResultCode.ERROR_PERMISSION_DENIED); await appAccountManager.deleteAccount("syncenable_promise_checknopermission"); console.debug("====>ActsAccountNoPermission_0400 end===="); done(); } }); /* * @tc.number : ActsAccountNoPermission_0500 * @tc.name : getAllAccessibleAccounts callback * @tc.desc : This application gets authorization after adding a single account without permission */ it('ActsAccountNoPermission_0500', 0, async function (done) { console.debug("====>ActsAccountNoPermission_0500 start===="); var appAccountManager = account.createAppAccountManager(); console.debug("====>creat finish===="); appAccountManager.addAccount("accessibleAccount_callback_nopermission", (err)=>{ console.debug("====> add account ActsAccountNoPermission_0500 err:" + JSON.stringify(err)); expect(err).assertEqual(null); appAccountManager.getAllAccessibleAccounts((err, data)=>{ console.debug("====>getAllAccessibleAccounts 0500 err:" + JSON.stringify(err)); expect(err.code).assertEqual(account.ResultCode.ERROR_PERMISSION_DENIED); appAccountManager.deleteAccount("accessibleAccount_callback_nopermission", (err)=>{ console.debug("====>delete Account ActsAccountNoPermission_0500 err:" + JSON.stringify(err)); expect(err).assertEqual(null); console.debug("====>ActsAccountNoPermission_0500 end===="); done(); }) }); }); }); /* * @tc.number : ActsAccountNoPermission_0600 * @tc.name : getAllAccessibleAccounts promise * @tc.desc : This application gets authorization after adding a single account without permission */ it('ActsAccountNoPermission_0600', 0, async function (done) { console.debug("====>ActsAccountNoPermission_0600 start===="); var appAccountManager = account.createAppAccountManager(); console.debug("====>creat finish===="); console.debug("====>add account ActsAccountNoPermission_0600 start===="); await appAccountManager.addAccount("accessibleAccount_promise_nopermission"); console.debug("====>getAllAccessibleAccounts 0600 start===="); try{ var data = await appAccountManager.getAllAccessibleAccounts(); } catch(err){ console.debug("====>getAllAccessibleAccounts 0600 err:" + JSON.stringify(err)); expect(err.code).assertEqual(account.ResultCode.ERROR_PERMISSION_DENIED); await appAccountManager.deleteAccount("accessibleAccount_promise_nopermission"); console.debug("====>ActsAccountNoPermission_0600 end===="); done(); } }); /* * @tc.number : ActsAccountNoPermission_0700 * @tc.name : getAllAccounts callback * @tc.desc : This application gets its own application information after adding an account without permission */ it('ActsAccountNoPermission_0700', 0, async function (done) { console.debug("====>ActsAccountNoPermission_0700 start===="); var appAccountManager = account.createAppAccountManager(); console.debug("====>creat finish===="); var selfBundle = "com.example.actsaccounttest"; appAccountManager.addAccount("getAll_callback_nopermission", (err)=>{ console.debug("====>add account 0700 err:" + JSON.stringify(err)); expect(err).assertEqual(null); appAccountManager.getAllAccounts(selfBundle, (err, data)=>{ console.debug("====>getAllAccounts 0700 err:" + JSON.stringify(err)); expect(err).assertEqual(null); expect(data.length>0).assertEqual(true); appAccountManager.deleteAccount("getAll_callback_nopermission", (err)=>{ console.debug("====>delete account 0700 err:" + JSON.stringify(err)); expect(err).assertEqual(null); console.debug("====>ActsAccountNoPermission_0700 end===="); done(); }); }) }); }); /* * @tc.number : ActsAccountNoPermission_0800 * @tc.name : getAllAccounts promise * @tc.desc : This application gets its own application information after adding an account without permission */ it('ActsAccountNoPermission_0800', 0, async function (done) { console.debug("====>ActsAccountNoPermission_0800 start===="); var appAccountManager = account.createAppAccountManager(); console.debug("====>creat finish===="); var selfBundle = "com.example.actsaccounttest"; console.debug("====>add account 0800 start===="); await appAccountManager.addAccount("getAll_promise_nopermission"); console.debug("====>getAllAccounts 0800 start===="); try{ var data = await appAccountManager.getAllAccounts(selfBundle); console.debug("====>getAll_promise_nopermission data:" + JSON.stringify(data)) expect(data.length>0).assertEqual(true); done(); } catch(err){ console.error("====>getAllAccounts 0800 err:" + JSON.stringify(err)); expect(err.code).assertEqual(account.ResultCode.ERROR_PERMISSION_DENIED); await appAccountManager.deleteAccount("getAll_promise_nopermission"); console.debug("====>ActsAccountNoPermission_0800 end===="); done(); } }); }) }