• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1/*
2 * Copyright (c) 2021-2023 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 */
15import osaccount from '@ohos.account.osAccount'
16import bundle from '@ohos.bundle'
17import { describe, beforeAll, beforeEach, afterEach, afterAll, it, expect } from '@ohos/hypium'
18
19
20const ERR_INVALID_PARAMETER = 12300002;
21
22export default function ActsOsAccountThirdPartyTest_third_4() {
23  describe('ActsOsAccountThirdPartyTest_third_4', function () {
24    afterEach(async function (done) {
25      console.info("====>afterEach start====");
26      var osAccountManager = osaccount.getAccountManager();
27      var accounts = await osAccountManager.queryAllCreatedOsAccounts()
28      for (let i = 0; i < accounts.length; i++) {
29        var localId = accounts[i].localId
30        if (localId != 100) {
31          await osAccountManager.removeOsAccount(localId)
32        }
33      }
34      done();
35    })
36    /*
37    * @tc.number  : ActsOsAccountQueryIdFormUid_0100
38    * @tc.name    : getOsAccountLocalIdForUid callback
39    * @tc.desc    : Verify that the user localId is obtained by uid
40    */
41    it('ActsOsAccountQueryIdFormUid_0100', 0, async function (done) {
42      console.info("====>ActsOsAccountQueryIdFormUid_0100 start====");
43      var osAccountManager = osaccount.getAccountManager();
44      var testLocalId = await osAccountManager.getOsAccountLocalId();
45      console.info("====>testLocalId:" + testLocalId)
46      console.info("====>get AccountManager finish====");
47      var bundleName = "com.example.actsosaccountthirdpartytest";
48      var bundleInfo = await bundle.getBundleInfo(bundleName, bundle.BundleFlag.GET_BUNDLE_WITH_ABILITIES);
49      var uid = bundleInfo.uid;
50      console.info("====>obtained uid:" + uid);
51      osAccountManager.getOsAccountLocalIdForUid(uid, (err, localId) => {
52        console.info("====>get localId err: " + JSON.stringify(err));
53        console.info("====>localId obtained by uid:" + localId);
54        expect(err).assertEqual(null);
55        expect(localId).assertEqual(testLocalId);
56        console.info("====>ActsOsAccountQueryIdFormUid_0100 end====");
57        done();
58      });
59    });
60
61    /*
62    * @tc.number  : ActsOsAccountQueryIdFormUid_0200
63    * @tc.name    : getOsAccountLocalIdForUid promise
64    * @tc.desc    : Verify that the user localId is obtained by uid
65    */
66    it('ActsOsAccountQueryIdFormUid_0200', 0, async function (done) {
67      console.info("====>ActsOsAccountQueryIdFormUid_0200 start====");
68      var osAccountManager = osaccount.getAccountManager();
69      var testLocalId = await osAccountManager.getOsAccountLocalId();
70      console.info("====>get AccountManager finish====");
71      var bundleName = "com.example.actsosaccountthirdpartytest";
72      var bundleInfo = await bundle.getBundleInfo(bundleName, bundle.BundleFlag.GET_BUNDLE_WITH_ABILITIES);
73      var uid = bundleInfo.uid;
74      console.info("====>obtained uid:" + uid);
75      var localId = await osAccountManager.getOsAccountLocalIdForUid(uid);
76      console.info("====>localId obtained by uid:" + localId);
77      expect(localId).assertEqual(testLocalId);
78      console.info("====>ActsOsAccountQueryIdFormUid_0200 end====");
79      done();
80    });
81
82    /*
83    * @tc.number  : ActsOsAccountQueryIdFormUid_0300
84    * @tc.name    : getOsAccountLocalIdForUid callback
85    * @tc.desc    : Authentication failed to query user by uid -1
86    */
87    it('ActsOsAccountQueryIdFormUid_0300', 0, async function (done) {
88      console.info("====>ActsOsAccountQueryIdFormUid_0300 start====");
89      var osAccountManager = osaccount.getAccountManager();
90      console.info("====>get AccountManager finish====");
91      var incorrectUid = -1;
92      osAccountManager.getOsAccountLocalIdForUid(incorrectUid, (err, localId) => {
93        console.info("====>get localId err: " + JSON.stringify(err));
94        console.info("====>localId obtained by uid:" + localId);
95        expect(err.code).assertEqual(ERR_INVALID_PARAMETER);
96        expect(localId).assertEqual(null);
97        console.info("====>ActsOsAccountQueryIdFormUid_0300 end====");
98        done();
99      });
100    });
101
102    /*
103    * @tc.number  : ActsOsAccountQueryIdFormUid_0400
104    * @tc.name    : getOsAccountLocalIdForUid promise
105    * @tc.desc    : Authentication failed to query user by uid -1
106    */
107    it('ActsOsAccountQueryIdFormUid_0400', 0, async function (done) {
108      console.info("====>ActsOsAccountQueryIdFormUid_0400 start====");
109      var osAccountManager = osaccount.getAccountManager();
110      console.info("====>get AccountManager finish====");
111      var incorrectUid = -1;
112      try {
113        await osAccountManager.getOsAccountLocalIdForUid(incorrectUid);
114      } catch (err) {
115        console.info("====>get localId by uid err:" + JSON.stringify(err));
116        expect(err.code).assertEqual(ERR_INVALID_PARAMETER);
117        console.info("====>ActsOsAccountQueryIdFormUid_0400 end====");
118        done();
119      }
120    });
121
122    /*
123    * @tc.number  : ActsOsAccountQueryIdFormUid_0500
124    * @tc.name    : getOsAccountLocalIdForUid callback
125    * @tc.desc    : Authentication failed to query user by uid 2147483648
126    */
127    it('ActsOsAccountQueryIdFormUid_0500', 0, async function (done) {
128      console.info("====>ActsOsAccountQueryIdFormUid_0500 start====");
129      var osAccountManager = osaccount.getAccountManager();
130      console.info("====>get AccountManager finish====");
131      var incorrectUid = 2147483648;
132      osAccountManager.getOsAccountLocalIdForUid(incorrectUid, (err, localId) => {
133        console.info("====>get localId err: " + JSON.stringify(err));
134        console.info("====>localId obtained by uid:" + localId);
135        expect(err.code).assertEqual(ERR_INVALID_PARAMETER);
136        expect(localId).assertEqual(null);
137        console.info("====>ActsOsAccountQueryIdFormUid_0500 end====");
138        done();
139      });
140    });
141
142    /*
143    * @tc.number  : ActsOsAccountQueryIdFormUid_0600
144    * @tc.name    : getOsAccountLocalIdForUid promise
145    * @tc.desc    : Authentication failed to query user by uid 2147483648
146    */
147    it('ActsOsAccountQueryIdFormUid_0600', 0, async function (done) {
148      console.info("====>ActsOsAccountQueryIdFormUid_0600 start====");
149      var osAccountManager = osaccount.getAccountManager();
150      console.info("====>get AccountManager finish====");
151      var incorrectUid = 2147483648;
152      try {
153        await osAccountManager.getOsAccountLocalIdForUid(incorrectUid);
154      } catch (err) {
155        console.info("====>get localId by uid err:" + JSON.stringify(err));
156        expect(err.code).assertEqual(ERR_INVALID_PARAMETER);
157        console.info("====>ActsOsAccountQueryIdFormUid_0600 end====");
158        done();
159      }
160    });
161
162    /*
163    * @tc.number  : ActsOsAccountQueryIdFormUidSync_0100
164    * @tc.name    : getOsAccountLocalIdForUidSync
165    * @tc.desc    : Verify that the user localId is obtained by uid
166    */
167    it('ActsOsAccountQueryIdFormUidSync_0100', 0, async function (done) {
168      console.info("====>ActsOsAccountQueryIdFormUidSync_0100 start====");
169      var osAccountManager = osaccount.getAccountManager();
170      var testLocalId = await osAccountManager.getOsAccountLocalId();
171      console.info("====>testLocalId:" + testLocalId)
172      console.info("====>get AccountManager finish====");
173      var bundleName = "com.example.actsosaccountthirdpartytest";
174      var bundleInfo = await bundle.getBundleInfo(bundleName, bundle.BundleFlag.GET_BUNDLE_WITH_ABILITIES);
175      var uid = bundleInfo.uid;
176      console.info("====>obtained uid:" + uid);
177      try {
178        let localId = osAccountManager.getOsAccountLocalIdForUidSync(uid);
179        console.log('getOsAccountLocalIdForUidSync successfully, localId: ' + localId);
180        expect(localId).assertEqual(testLocalId);
181        console.info("====>ActsOsAccountQueryIdFormUidSync_0100 end====");
182        done();
183      } catch (err) {
184        console.info("====>get localId err: " + JSON.stringify(err));
185        console.info("====>ActsOsAccountQueryIdFormUidSync_0100 end====");
186        expect().assertFalse()
187        done();
188      }
189    });
190
191    /*
192    * @tc.number  : ActsOsAccountQueryIdFormUidSync_0200
193    * @tc.name    : getOsAccountLocalIdForUidSync
194    * @tc.desc    : Authentication failed to query user by uid -1
195    */
196    it('ActsOsAccountQueryIdFormUidSync_0200', 0, async function (done) {
197      console.info("====>ActsOsAccountQueryIdFormUidSync_0200 start====");
198      var osAccountManager = osaccount.getAccountManager();
199      console.info("====>get AccountManager finish====");
200      var incorrectUid = -1;
201      try {
202        var localId = osAccountManager.getOsAccountLocalIdForUidSync(incorrectUid);
203      } catch (err) {
204        console.info("====>get localId err: " + JSON.stringify(err));
205        console.info("====>localId obtained by uid:" + localId);
206        expect(err.code).assertEqual(ERR_INVALID_PARAMETER);
207        expect(localId).assertEqual(undefined);
208        console.info("====>ActsOsAccountQueryIdFormUidSync_0200 end====");
209        done();
210      }
211    });
212
213    /*
214    * @tc.number  : ActsOsAccountQueryIdFormUidSync_0300
215    * @tc.name    : getOsAccountLocalIdForUidSync
216    * @tc.desc    : Authentication failed to query user by uid 2147483648
217    */
218    it('ActsOsAccountQueryIdFormUidSync_0300', 0, async function (done) {
219      console.info("====>ActsOsAccountQueryIdFormUidSync_0300 start====");
220      var osAccountManager = osaccount.getAccountManager();
221      console.info("====>get AccountManager finish====");
222      var incorrectUid = 2147483648;
223      try {
224        var localId = osAccountManager.getOsAccountLocalIdForUidSync(incorrectUid);
225      } catch (err) {
226        console.info("====>get localId err: " + JSON.stringify(err));
227        console.info("====>localId obtained by uid:" + localId);
228        expect(err.code).assertEqual(ERR_INVALID_PARAMETER);
229        expect(localId).assertEqual(undefined);
230        console.info("====>ActsOsAccountQueryIdFormUidSync_0300 end====");
231        done();
232      }
233    });
234
235    /*
236    * @tc.number  : ActsOsAccountQueryIdFormUidSync_0400
237    * @tc.name    : getOsAccountLocalIdForUidSync
238    * @tc.desc    : Authentication failed to query user by null uid
239    */
240    it('ActsOsAccountQueryIdFormUidSync_0400', 0, async function (done) {
241      console.info("====>ActsOsAccountQueryIdFormUidSync_0400 start====");
242      var osAccountManager = osaccount.getAccountManager();
243      console.info("====>get AccountManager finish====");
244      try {
245        var localId = osAccountManager.getOsAccountLocalIdForUidSync(null);
246      } catch (err) {
247        console.info("====>get localId err: " + JSON.stringify(err));
248        console.info("====>localId obtained by uid:" + localId);
249        expect(err.code).assertEqual(401);
250        expect(localId).assertEqual(undefined);
251        console.info("====>ActsOsAccountQueryIdFormUidSync_0400 end====");
252        done();
253      }
254    });
255
256    /*
257    * @tc.number  : ActsOsAccountQueryIdFormProcess_0100
258    * @tc.name    : getOsAccountLocalId callback
259    * @tc.desc    : Verify that the user localId obtained from the current process uid
260    */
261    it('ActsOsAccountQueryIdFormProcess_0100', 0, async function (done) {
262      console.info("====>ActsOsAccountQueryIdFormProcess_0100 start====");
263      var osAccountManager = osaccount.getAccountManager();
264      var bundleName = "com.example.actsosaccountthirdpartytest";
265      var bundleInfo = await bundle.getBundleInfo(bundleName, bundle.BundleFlag.GET_BUNDLE_WITH_ABILITIES);
266      var uid = bundleInfo.uid;
267      var testLocalId = await osAccountManager.getOsAccountLocalIdForUid(uid)
268      console.info("====>get AccountManager finish====");
269      osAccountManager.getOsAccountLocalId((err, localId) => {
270        console.info("====>get localId err: " + JSON.stringify(err));
271        console.info("====>localId obtained by process:" + localId);
272        expect(err).assertEqual(null);
273        expect(localId).assertEqual(testLocalId);
274        console.info("====>ActsOsAccountQueryIdFormProcess_0100 end====");
275        done();
276      });
277    });
278
279    /*
280    * @tc.number  : ActsOsAccountQueryIdFormProcess_0200
281    * @tc.name    : getOsAccountLocalId promise
282    * @tc.desc    : Verify that the user localId obtained from the current process uid
283    */
284    it('ActsOsAccountQueryIdFormProcess_0200', 0, async function (done) {
285      console.info("====>ActsOsAccountQueryIdFormProcess_0200 start====");
286      var osAccountManager = osaccount.getAccountManager();
287      var bundleName = "com.example.actsosaccountthirdpartytest";
288      var bundleInfo = await bundle.getBundleInfo(bundleName, bundle.BundleFlag.GET_BUNDLE_WITH_ABILITIES);
289      var uid = bundleInfo.uid;
290      var testLocalId = await osAccountManager.getOsAccountLocalIdForUid(uid)
291      console.info("====>testLocalId obtained by process:" + testLocalId)
292      console.info("====>get AccountManager finish====");
293      var localId = await osAccountManager.getOsAccountLocalId();
294      console.info("====>localId obtained by process:" + localId);
295      expect(localId).assertEqual(testLocalId);
296      console.info("====>ActsOsAccountQueryIdFormProcess_0200 end====");
297      done();
298    });
299
300    /*
301    * @tc.number  : ActsOsAccountgetType_0100
302    * @tc.name    : getOsAccountType callback
303    * @tc.desc    : Verify that the user type obtained from the current process uid
304    */
305    it('ActsOsAccountgetType_0100', 0, async function (done) {
306      console.info("====>ActsOsAccountgetType_0100 start====");
307      var osAccountManager = osaccount.getAccountManager();
308      console.info("====>get AccountManager finish====");
309      osAccountManager.getOsAccountType((err, accountType) => {
310        console.info("====>get type err: " + JSON.stringify(err));
311        console.info("====>type obtained by process:" + JSON.stringify(accountType));
312        expect(err).assertEqual(null);
313        expect(accountType).assertEqual(0);
314        console.info("====>ActsOsAccountgetType_0100 end====");
315        done();
316      });
317    });
318
319    /*
320    * @tc.number  : ActsOsAccountgetType_0200
321    * @tc.name    : getOsAccountType promise
322    * @tc.desc    : Verify that the user type obtained from the current process uid
323    */
324    it('ActsOsAccountgetType_0200', 0, async function (done) {
325      console.info("====>ActsOsAccountgetType_0200 start====");
326      var osAccountManager = osaccount.getAccountManager();
327      console.info("====>get AccountManager finish====");
328      var accountType = await osAccountManager.getOsAccountType();
329      console.info("====>type obtained by process:" + JSON.stringify(accountType));
330      expect(accountType).assertEqual(0);
331      console.info("====>ActsOsAccountgetType_0200 end====");
332      done();
333    });
334
335    /*
336    * @tc.number  : ActsOsAccountQueryLocalIdSerial_0100
337    * @tc.name    : getSerialNumberForOsAccountLocalId callback
338    * @tc.desc    : Verify query serialNumber by 100 user and query 100 user by serialNumber
339    */
340    it('ActsOsAccountQueryLocalIdSerial_0100', 0, async function (done) {
341      console.info("====>ActsOsAccountQueryLocalIdSerial_0100 start====");
342      var osAccountManager = osaccount.getAccountManager();
343      var testLocalId = await osAccountManager.getOsAccountLocalId();
344      console.info("====>get AccountManager finish====");
345      osAccountManager.getSerialNumberForOsAccountLocalId(testLocalId, (err, serialNumber) => {
346        console.info("====>ger serialNumber err:" + JSON.stringify(err));
347        console.info("====>get serialNumber:" + serialNumber + " by localId: 100");
348        expect(err).assertEqual(null);
349        var serialNumberStr = serialNumber.toString();
350        var serialIntercept = serialNumberStr.substring(8);
351        console.info("====>truncate the last eight characters: " + serialIntercept);
352        expect(serialIntercept).assertEqual("00000001");
353        osAccountManager.getOsAccountLocalIdForSerialNumber(serialNumber, (err, localId) => {
354          console.info("====>ger localId err:" + JSON.stringify(err));
355          console.info("====>get localId:" + localId + " by serialNumber: " + serialNumber);
356          expect(err).assertEqual(null);
357          expect(localId).assertEqual(testLocalId);
358          console.info("====>ActsOsAccountQueryLocalIdSerial_0100 end====");
359          done();
360        })
361      })
362    });
363
364    /*
365    * @tc.number  : ActsOsAccountQueryLocalIdSerial_0200
366    * @tc.name    : getSerialNumberForOsAccountLocalId promise
367    * @tc.desc    : Verify query serialNumber by 100 user and query 100 user by serialNumber
368    */
369    it('ActsOsAccountQueryLocalIdSerial_0200', 0, async function (done) {
370      console.info("====>ActsOsAccountQueryLocalIdSerial_0200 start====");
371      var osAccountManager = osaccount.getAccountManager();
372      var testLocalId = await osAccountManager.getOsAccountLocalId();
373      console.info("====>get AccountManager finish====");
374      var serialNumber = await osAccountManager.getSerialNumberForOsAccountLocalId(testLocalId);
375      console.info("====>get serialNumber:" + serialNumber + " by localId: 100");
376      var serialNumberStr = serialNumber.toString();
377      var serialIntercept = serialNumberStr.substring(8);
378      console.info("====>truncate the last eight characters: " + serialIntercept);
379      expect(serialIntercept).assertEqual("00000001");
380      var localId = await osAccountManager.getOsAccountLocalIdForSerialNumber(serialNumber);
381      console.info("====>get localId:" + localId + " by serialNumber: " + serialNumber);
382      expect(localId).assertEqual(testLocalId);
383      console.info("====>ActsOsAccountQueryLocalIdSerial_0200 end====");
384      done();
385    });
386
387    /*
388    * @tc.number  : ActsOsAccountQueryLocalIdSerial_0300
389    * @tc.name    : getOsAccountLocalIdForSerialNumber callback
390    * @tc.desc    : Verify query serialNumber by 0 user and query 0 user by serialNumber
391    */
392    it('ActsOsAccountQueryLocalIdSerial_0300', 0, async function (done) {
393      console.info("====>ActsOsAccountQueryLocalIdSerial_0300 start====");
394      var osAccountManager = osaccount.getAccountManager();
395      console.info("====>get AccountManager finish====");
396      osAccountManager.getSerialNumberForOsAccountLocalId(0, (err, serialNumber) => {
397        console.info("====>ger serialNumber err:" + JSON.stringify(err));
398        console.info("====>get serialNumber:" + serialNumber + " by localId: 0");
399        expect(err).assertEqual(null);
400        var serialNumberStr = serialNumber.toString();
401        var serialIntercept = serialNumberStr.substring(8);
402        console.info("====>truncate the last eight characters: " + serialIntercept);
403        expect(serialIntercept).assertEqual("00000000");
404        osAccountManager.getOsAccountLocalIdForSerialNumber(serialNumber, (err, localId) => {
405          console.info("====>ger localId err:" + JSON.stringify(err));
406          console.info("====>get localId:" + localId + " by serialNumber: " + serialNumber);
407          expect(err).assertEqual(null);
408          expect(localId).assertEqual(0);
409          console.info("====>ActsOsAccountQueryLocalIdSerial_0300 end====");
410          done();
411        })
412      })
413    });
414
415    /*
416    * @tc.number  : ActsOsAccountQueryLocalIdSerial_0400
417    * @tc.name    : getOsAccountLocalIdForSerialNumber promise
418    * @tc.desc    : Verify query serialNumber by 0 user and query 0 user by serialNumber
419    */
420    it('ActsOsAccountQueryLocalIdSerial_0400', 0, async function (done) {
421      console.info("====>ActsOsAccountQueryLocalIdSerial_0400 start====");
422      var osAccountManager = osaccount.getAccountManager();
423      console.info("====>get AccountManager finish====");
424      var serialNumber = await osAccountManager.getSerialNumberForOsAccountLocalId(0);
425      console.info("====>get serialNumber:" + serialNumber + " by localId: 0");
426      var serialNumberStr = serialNumber.toString();
427      var serialIntercept = serialNumberStr.substring(8);
428      console.info("====>truncate the last eight characters: " + serialIntercept);
429      expect(serialIntercept).assertEqual("00000000");
430      var localId = await osAccountManager.getOsAccountLocalIdForSerialNumber(serialNumber);
431      console.info("====>get localId:" + localId + " by serialNumber: " + serialNumber);
432      expect(localId).assertEqual(0);
433      console.info("====>ActsOsAccountQueryLocalIdSerial_0400 end====");
434      done();
435    });
436
437    /*
438    * @tc.number  : ActsOsAccountQueryLocalIdSerial_0500
439    * @tc.name    : getSerialNumberForOsAccountLocalId callback
440    * @tc.desc    : Verify the query for the newly created user serialNumber and query the owning user through the
441    *               serialNumber
442    */
443    it('ActsOsAccountQueryLocalIdSerial_0500', 0, async function (done) {
444      console.info("====>ActsOsAccountQueryLocalIdSerial_0500 start====");
445      var osAccountManager = osaccount.getAccountManager();
446      console.info("====>get AccountManager finish====");
447      var localId = 100;
448      let isEnable = await osAccountManager.checkMultiOsAccountEnabled();
449      if (isEnable != true) {
450        console.info("====>ActsOsAccountQueryLocalIdSerial_0500 not support multiple osaccouts====");
451        osAccountManager.getSerialNumberForOsAccountLocalId(localId, (err, serialNumber) => {
452          console.info("====>queryOsAccountById err:" + JSON.stringify(err));
453          console.info("====>get serialNumber:" + serialNumber + " by localId: " + localId);
454          expect(err).assertEqual(null);
455          osAccountManager.getOsAccountLocalIdForSerialNumber(serialNumber, (err, getlocalId) => {
456            console.info("====>ger localId err:" + JSON.stringify(err));
457            console.info("====>get localId:" + getlocalId + " by serialNumber: " + serialNumber);
458            expect(err).assertEqual(null);
459            expect(getlocalId).assertEqual(localId);
460            console.info("====>ActsOsAccountQueryLocalIdSerial_0500 end====");
461            done();
462          })
463        })
464        return;
465      }
466      osAccountManager.createOsAccount("osAccountNameIdSerialA", osaccount.OsAccountType.NORMAL, (err, data) => {
467        console.info("====>create os account err: " + JSON.stringify(err));
468        console.info("====>create os account OsAccountInfo: " + JSON.stringify(data));
469        expect(err).assertEqual(null);
470        expect(data.localName).assertEqual("osAccountNameIdSerialA");
471        expect(data.domainInfo.accountName == "").assertEqual(true)
472        expect(data.type).assertEqual(1);
473        expect(data.constraints.length > 0).assertEqual(true);
474        expect(data.isVerified).assertEqual(false);
475        expect(data.isUnlocked).assertEqual(false);
476        expect(data.distributedInfo.name != null).assertEqual(true);
477        expect(data.domainInfo.domain == "").assertEqual(true);
478        expect(data.photo == "").assertEqual(true);
479        expect(data.lastLoginTime >= 0).assertEqual(true);
480        expect(data.serialNumber.toString().length == 16).assertEqual(true);
481        expect(data.isActived).assertEqual(false);
482        expect(data.isActivated).assertEqual(false);
483        expect(data.isCreateCompleted).assertEqual(true)
484        localId = data.localId;
485        osAccountManager.getSerialNumberForOsAccountLocalId(localId, (err, serialNumber) => {
486          console.info("====>queryOsAccountById err:" + JSON.stringify(err));
487          console.info("====>get serialNumber:" + serialNumber + " by localId: " + localId);
488          expect(err).assertEqual(null);
489          osAccountManager.getOsAccountLocalIdForSerialNumber(serialNumber, (err, getlocalId) => {
490            console.info("====>ger localId err:" + JSON.stringify(err));
491            console.info("====>get localId:" + getlocalId + " by serialNumber: " + serialNumber);
492            expect(err).assertEqual(null);
493            expect(getlocalId).assertEqual(localId);
494            osAccountManager.removeOsAccount(localId, (err) => {
495              console.info("====>remove localId: " + localId + " err:" + JSON.stringify(err));
496              expect(err).assertEqual(null);
497              console.info("====>ActsOsAccountQueryLocalIdSerial_0500 end====");
498              done();
499            })
500          })
501        })
502      })
503    });
504
505    /*
506    * @tc.number  : ActsOsAccountQueryLocalIdSerial_0600
507    * @tc.name    : getOsAccountLocalIdForSerialNumber promise
508    * @tc.desc    : Verify the query for the newly created user serialNumber and query the owning user through the
509    *               serialNumber
510    */
511    it('ActsOsAccountQueryLocalIdSerial_0600', 0, async function (done) {
512      console.info("====>ActsOsAccountQueryLocalIdSerial_0600 start====");
513      var osAccountManager = osaccount.getAccountManager();
514      console.info("====>get AccountManager finish====");
515      var localId = 100;
516      let isEnable = await osAccountManager.checkMultiOsAccountEnabled();
517      if (isEnable != true) {
518        console.info("====>ActsOsAccountQueryLocalIdSerial_0600 not support multiple osaccouts====");
519        var serialNumber = await osAccountManager.getSerialNumberForOsAccountLocalId(localId);
520        console.info("====>get serialNumber:" + serialNumber + " by localId: " + localId);
521        var getlocalId = await osAccountManager.getOsAccountLocalIdForSerialNumber(serialNumber);
522        console.info("====>get localId:" + getlocalId + " by serialNumber: " + serialNumber);
523        expect(getlocalId).assertEqual(localId);
524        console.info("====>ActsOsAccountQueryLocalIdSerial_0600 end====");
525        done();
526        return;
527      }
528      var OsAccountInfo = await osAccountManager.createOsAccount("accountIdSerialB", osaccount.OsAccountType.GUEST);
529      console.info("====>create os account OsAccountInfo: " + JSON.stringify(OsAccountInfo));
530      expect(OsAccountInfo.localName).assertEqual("accountIdSerialB");
531      localId = OsAccountInfo.localId;
532      var serialNumber = await osAccountManager.getSerialNumberForOsAccountLocalId(localId);
533      console.info("====>get serialNumber:" + serialNumber + " by localId: " + localId);
534      var getlocalId = await osAccountManager.getOsAccountLocalIdForSerialNumber(serialNumber);
535      console.info("====>get localId:" + getlocalId + " by serialNumber: " + serialNumber);
536      expect(getlocalId).assertEqual(localId);
537      await osAccountManager.removeOsAccount(localId);
538      console.info("====>ActsOsAccountQueryLocalIdSerial_0600 end====");
539      done();
540    });
541
542    /*
543    * @tc.number  : ActsOsAccountQueryCounts_0100
544    * @tc.name    : getOsAccountCount callback
545    * @tc.desc    : Verify to obtain the number os all os accounts created
546    */
547    it('ActsOsAccountQueryCounts_0100', 0, async function (done) {
548      console.info("====>ActsOsAccountQueryCounts_0100 start====");
549      var osAccountManager = osaccount.getAccountManager();
550      console.info("====>get AccountManager finish====");
551      var obtainCount = 0;
552      var localIdFir;
553      let isEnable = await osAccountManager.checkMultiOsAccountEnabled();
554      if (isEnable != true) {
555        console.info("====>ActsOsAccountQueryCounts_0100 not support multiple osaccouts====");
556        osAccountManager.getOsAccountCount((err, data) => {
557          console.info("====>obtains the number of all os accounts created err:" + JSON.stringify(err));
558          console.info("====>obtains the number of all os accounts created data:" + data);
559          expect(err).assertEqual(null);
560          expect(data).assertEqual(1);
561          console.info("====>ActsOsAccountQueryCounts_0100 end====");
562          done();
563        })
564        return;
565      }
566      osAccountManager.getOsAccountCount((err, data) => {
567        console.info("====>obtains the number of all os accounts created err:" + JSON.stringify(err));
568        console.info("====>obtains the number of all os accounts created data:" + data);
569        expect(err).assertEqual(null);
570        obtainCount = data;
571        osAccountManager.createOsAccount("osAccountNameIdSerialE", osaccount.OsAccountType.NORMAL, (err, data) => {
572          console.info("====>create first os account err: " + JSON.stringify(err));
573          console.info("====>create first os account OsAccountInfo: " + JSON.stringify(data));
574          localIdFir = data.localId;
575          expect(err).assertEqual(null);
576          expect(data.localName).assertEqual("osAccountNameIdSerialE");
577          osAccountManager.getOsAccountCount((err, count) => {
578            console.info("====>obtains the number of all os accounts created err:" + JSON.stringify(err));
579            console.info("====>obtains the number of all os accounts created count:" + count);
580            expect(err).assertEqual(null);
581            count = count - 1;
582            expect(count).assertEqual(obtainCount);
583            osAccountManager.removeOsAccount(localIdFir, (err) => {
584              console.info("====>remove localId: " + localIdFir + " err:" + JSON.stringify(err));
585              expect(err).assertEqual(null);
586              osAccountManager.getOsAccountCount((err, data) => {
587                console.info("====>obtains the number accounts created err:" + JSON.stringify(err));
588                console.info("====>obtains the number accounts created data:" + data);
589                expect(err).assertEqual(null);
590                expect(data).assertEqual(obtainCount);
591                console.info("====>ActsOsAccountQueryCounts_0100 end====");
592                done();
593              })
594            })
595          })
596        })
597      })
598    })
599
600    /*
601    * @tc.number  : ActsOsAccountQueryCounts_0200
602    * @tc.name    : getOsAccountCount promise
603    * @tc.desc    : Verify to obtain the number os all os accounts created
604    */
605    it('ActsOsAccountQueryCounts_0200', 0, async function (done) {
606      console.info("====>ActsOsAccountQueryCounts_0200 start====");
607      var osAccountManager = osaccount.getAccountManager();
608      console.info("====>get AccountManager finish====");
609      let isEnable = await osAccountManager.checkMultiOsAccountEnabled();
610      if (isEnable != true) {
611        console.info("====>ActsOsAccountQueryCounts_0200 not support multiple osaccouts====");
612        var obtainCount = await osAccountManager.getOsAccountCount();
613        console.info("====>obtains the number of all os accounts created:" + obtainCount);
614        expect(obtainCount).assertEqual(1);
615        console.info("====>ActsOsAccountQueryCounts_0200 end====");
616        done();
617        return;
618      }
619      var obtainCount = await osAccountManager.getOsAccountCount();
620      console.info("====>obtains the number of all os accounts created:" + obtainCount);
621      var osAccountFir = await osAccountManager.createOsAccount("osAccountIdSerialG", osaccount.OsAccountType.NORMAL);
622      console.info("====>create first os account OsAccountInfo: " + JSON.stringify(osAccountFir));
623      var localIdFir = osAccountFir.localId;
624      expect(osAccountFir.localName).assertEqual("osAccountIdSerialG");
625      var countFir = await osAccountManager.getOsAccountCount();
626      console.info("====>obtains the number of all os accounts created count:" + countFir);
627      countFir = countFir - 1;
628      expect(countFir).assertEqual(obtainCount);
629      await osAccountManager.removeOsAccount(localIdFir);
630      console.info("====>remove localId: " + localIdFir);
631      console.info("====>ActsOsAccountQueryCounts_0200 end====");
632      done();
633    })
634
635
636    /*
637    * @tc.number  : ActsOsAccountGetActivedOsAccountIds_0100
638    * @tc.name    : getActivatedOsAccountLocalIds callback
639    * @tc.desc    : query activated osAccount Ids
640    */
641    it('ActsOsAccountGetActivedOsAccountIds_0100', 0, async function (done) {
642      console.info("====>ActsOsAccountGetActivedOsAccountIds_0100 start====");
643      var osAccountManager = osaccount.getAccountManager();
644      osAccountManager.getActivatedOsAccountLocalIds((err, dataArray) => {
645        console.info("====>ActsOsAccountGQueryActicedOsAccountIds_0100 err :" + JSON.stringify(err));
646        expect(err).assertEqual(null)
647        console.info("====>ActsOsAccountGQueryActicedOsAccountIds_0100 dataArray:" + dataArray);
648        expect(dataArray.length).assertEqual(1)
649        done();
650      })
651    })
652
653    /*
654    * @tc.number  : ActsOsAccountGetActivedOsAccountIds_0200
655    * @tc.name    : getActivatedOsAccountLocalIds promise
656    * @tc.desc    : query activated osAccount Ids
657    */
658    it('ActsOsAccountGetActivedOsAccountIds_0200', 0, async function (done) {
659      console.info("====>ActsOsAccountGetActivedOsAccountIds_0200 start====");
660      var osAccountManager = osaccount.getAccountManager();
661      osAccountManager.getActivatedOsAccountLocalIds().then((dataArray) => {
662        console.info("====>ActsOsAccountGetActivedOsAccountIds_0200 data" + JSON.stringify(dataArray))
663        expect(dataArray.length).assertEqual(1)
664        done();
665      }).catch((err) => {
666        console.info("====>ActsOsAccountGetActivedOsAccountIds_0200 err " + JSON.stringify(err));
667        expect(err).assertFalse()
668        done();
669      });
670    })
671
672
673    /*
674    * @tc.number  : ActsOsAccountCheckConstraints_0300
675    * @tc.name    : Constraints callback
676    * @tc.desc    : get 0 local user all constraints
677    */
678    it('ActsOsAccountCheckConstraints_3100', 0, async function (done) {
679      console.info("====>ActsOsAccountCheckConstraints_3100 start====");
680      var AccountManager = osaccount.getAccountManager();
681      console.info("====>get AccountManager finish====");
682      AccountManager.getOsAccountConstraints(0, (err, constraints) => {
683        console.info("====>getOsAccountConstraints err:" + JSON.stringify(err));
684        console.info("====>getOsAccountConstraints:" + JSON.stringify(constraints));
685        expect(err).assertEqual(null);
686        expect(constraints.length).assertEqual(0);
687        console.info("====>ActsOsAccountCheckConstraints_3100 end====");
688        done();
689      })
690    })
691
692    /*
693    * @tc.number  : ActsOsAccountCheckConstraints_0400
694    * @tc.name    : Constraints promise
695    * @tc.desc    : get 0 local user all constraints
696    */
697    it('ActsOsAccountCheckConstraints_3200', 0, async function (done) {
698      console.info("====>ActsOsAccountCheckConstraints_3200 start====");
699      var AccountManager = osaccount.getAccountManager();
700      console.info("get AccountManager finish====");
701      AccountManager.getOsAccountConstraints(0).then((data) => {
702        console.info("====>ActsOsAccountCheckConstraints_3200 getOsAccountConstraints data:" + data);
703        done();
704      }).catch((err) => {
705        console.info("====>ActsOsAccountCheckConstraints_3200 getOsAccountConstraints err:" + JSON.stringify(err));
706        expect().assertFalse()
707        done();
708      })
709    })
710
711    /**
712     * @tc.number ActsOsAccountQueryDomainTest_0300
713     * @tc.name Test createOsAccountForDomain getOsAccountLocalIdForDomain callback
714     * @tc.desc Test createOsAccountForDomain getOsAccountLocalIdForDomain API functionality
715     */
716    it('ActsOsAccountQueryDomainTest_0300', 0, async function (done) {
717      console.info("====>ActsOsAccountQueryDomainTest_0100 start====");
718      var osAccountManager = osaccount.getAccountManager();
719      osAccountManager.getOsAccountLocalIdForDomain({ domain: "", accountName: "" }, (err) => {
720        console.info("====>ActsOsAccountQueryDomainTest_0300 err:" + JSON.stringify(err));
721        expect(err.code != 0).assertEqual(true)
722        console.info("====>ActsOsAccountQueryDomainTest_0300 end====");
723        done();
724      })
725    });
726
727    /**
728     * @tc.number ActsOsAccountQueryDomainTest_0400
729     * @tc.name Test createOsAccountForDomain getOsAccountLocalIdForDomain pormise
730     * @tc.desc Test createOsAccountForDomain getOsAccountLocalIdForDomain API functionality
731     */
732    it('ActsOsAccountQueryDomainTest_0400', 0, async function (done) {
733      console.info("====>ActsOsAccountQueryDomainTest_0400 start====");
734      var osAccountManager = osaccount.getAccountManager();
735      osAccountManager.getOsAccountLocalIdForDomain({ domain: "", accountName: "" }).then((accountID) => {
736        console.info("ActsOsAccountQueryDomainTest_0400 accountID:" + JSON.stringify(accountID))
737        done();
738      }).catch((err) => {
739        console.info("ActsOsAccountQueryDomainTest_0400 err:" + JSON.stringify(err))
740        expect(err.code != 0).assertEqual(true)
741        done();
742      })
743    });
744
745    /*
746    * @tc.number  : ActsOsAccountGetCurrent_2100
747    * @tc.name    : getCurrentOsAccount callback
748    * @tc.desc    : Get the os account information to which the application belongs
749    */
750    it('ActsOsAccountGetCurrent_2100', 0, async function (done) {
751      console.info("====>ActsOsAccountGetCurrent_2100 start====");
752      var AccountManager = osaccount.getAccountManager();
753      console.info("====>get os AccountManager finish====");
754      AccountManager.getCurrentOsAccount((err, data) => {
755        console.info("====>getCurrentOsAccount err:" + JSON.stringify(err));
756        console.info("====>getCurrentOsAccount data:" + JSON.stringify(data));
757        expect(err).assertEqual(null);
758        console.info("====>ActsOsAccountGetCurrent_2100 end====");
759        done();
760      })
761    })
762
763    /*
764    * @tc.number  : ActsOsAccountGetCurrent_1800
765    * @tc.name    : getCurrentOsAccount promise
766    * @tc.desc    : Get the os account information to which the application belongs
767    */
768    it('ActsOsAccountGetCurrent_2200', 0, async function (done) {
769      console.info("====>ActsOsAccountGetCurrent_2200 start====");
770      var AccountManager = osaccount.getAccountManager();
771      console.info("====>get os AccountManager finish====");
772      var data = await AccountManager.getCurrentOsAccount();
773      console.info("====>getCurrentOsAccount data:" + JSON.stringify(data));
774      expect(data.localId).assertEqual(100);
775      expect(data.type).assertEqual(0);
776      var serialNumberStr = data.serialNumber.toString();
777      var serialIntercept = serialNumberStr.substring(8);
778      console.info("====>truncate the last eight characters: " + serialIntercept);
779      expect(serialIntercept).assertEqual("00000001");
780      expect(data.isCreateCompleted).assertTrue();
781      console.info("====>ActsOsAccountGetCurrent_2200 end====");
782      done();
783    })
784
785
786    /*
787    * @tc.number  : ActsOsAccountCheckConstraints_3300
788    * @tc.name    : checkOsAccountConstraintEnabled callback
789    * @tc.desc    : Checks whether the given constraint is enabled for the specified OS account
790    * @tc.level   : Level3
791    * @tc.size    : MediumTest
792    * @tc.type    : Function
793    */
794    it('ActsOsAccountCheckConstraints_3300', 0, async function (done) {
795      console.info("====>ActsOsAccountCheckConstraints_3300 start====");
796      var AccountManager = osaccount.getAccountManager();
797      console.info("====>get os AccountManager finish====");
798      AccountManager.checkOsAccountConstraintEnabled(100, "constraint.bluetooth", (err, result) => {
799        console.info("====>checkOsAccountConstraintEnabled err:" + JSON.stringify(err));
800        console.info("====>checkOsAccountConstraintEnabled result:" + JSON.stringify(result));
801        expect(err).assertEqual(null);
802        expect(result).assertTrue();
803        console.info("====>ActsOsAccountCheckConstraints_3300 end====");
804        done();
805      })
806    })
807
808    /*
809    * @tc.number  : ActsOsAccountPermission_3400
810    * @tc.name    : checkOsAccountConstraintEnabled promise
811    * @tc.desc    : Checks whether the given constraint is enabled for the specified OS account
812    * @tc.level   : Level3
813    * @tc.size    : MediumTest
814    * @tc.type    : Function
815    */
816    it('ActsOsAccountCheckConstraints_3400', 0, async function (done) {
817      console.info("====>ActsOsAccountCheckConstraints_3400 start====");
818      var AccountManager = osaccount.getAccountManager();
819      console.info("====>get os AccountManager finish====");
820      try {
821        let data = await AccountManager.checkOsAccountConstraintEnabled(100, "constraint.bluetooth");
822        console.info("====>checkOsAccountConstraintEnabled data:" + JSON.stringify(data));
823        expect(data).assertEqual(true);
824        done();
825      } catch (err) {
826        console.info("====>checkOsAccountConstraintEnabled err:" + JSON.stringify(err));
827        expect(err).assertEqual(null);
828        console.info("====>ActsOsAccountCheckConstraints_3400 end====");
829        done();
830      }
831    })
832
833    /*
834    * @tc.number  : ActsOsAccountIsOsAccountConstraintEnabled_0100
835    * @tc.name    : IsOsAccountConstraintEnabled promise
836    * @tc.desc    : Checks whether the given constraint is enabled for the current OS account
837    * @tc.level   : Level3
838    * @tc.size    : MediumTest
839    * @tc.type    : Function
840    */
841    it('ActsOsAccountIsOsAccountConstraintEnabled_0100', 0, async function (done) {
842      console.info("====>ActsOsAccountIsOsAccountConstraintEnabled_0100 start====");
843      var AccountManager = osaccount.getAccountManager();
844      console.info("====>get os AccountManager finish====");
845      try {
846        let IsOsAccountConstraintEnabled = await AccountManager.isOsAccountConstraintEnabled("constraint.bluetooth");
847        console.info("====>isOsAccountConstraintEnabled data:" + JSON.stringify(IsOsAccountConstraintEnabled));
848        expect(IsOsAccountConstraintEnabled).assertEqual(true);
849        done();
850      } catch (err) {
851        console.info("====>isOsAccountConstraintEnabled err:" + JSON.stringify(err));
852        expect(err).assertEqual(null);
853        console.info("====>ActsOsAccountIsOsAccountConstraintEnabled_0100 end====");
854        done();
855      }
856    })
857
858    /*
859    * @tc.number  : ActsOsAccountGetOsAccountName_0100
860    * @tc.name    : GetOsAccountName promise
861    * @tc.desc    : Gets the name of the OS account to which the caller belongs
862    * @tc.level   : Level3
863    * @tc.size    : MediumTest
864    * @tc.type    : Function
865    */
866    it('ActsOsAccountGetOsAccountName_0100', 0, async function (done) {
867      console.info("====>ActsOsAccountGetOsAccountName_0100 start====");
868      var AccountManager = osaccount.getAccountManager();
869      console.info("====>get os AccountManager finish====");
870      try {
871        let osAccountName = await AccountManager.getOsAccountName();
872        console.info("====>ActsOsAccountGetOsAccountName_0100 osAccountName: " + osAccountName);
873        done();
874      } catch (err) {
875        console.info("====>ActsOsAccountGetOsAccountName_0100 err:" + JSON.stringify(err));
876        expect(err).assertEqual(null);
877        console.info("====>ActsOsAccountGetOsAccountName_0100 end====");
878        done();
879      }
880    })
881  })
882}