• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1/*
2 * Copyright (C) 2021 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 */
15
16import { describe, beforeAll, beforeEach, afterEach, afterAll, it, expect} from '@ohos/hypium'
17
18import account from '@ohos.account.distributedAccount'
19const LOGININFO = {
20    name: 'ZhangSan',
21    id: '12345',
22    event: "Ohos.account.event.LOGIN"
23}
24const LOGOUTINFO = {
25    name: 'ZhangSan',
26    id: '12345',
27    event: "Ohos.account.event.LOGOUT"
28}
29export default function AccountTest() {
30    describe('AccountTest', function () {
31        beforeEach(function () {
32        })
33        afterEach(function () {
34        })
35
36        /**
37        * @tc.number     ActsDistributedAccountDeviceId_0100
38        * @tc.name       Test query the distribruted id by callback.
39        * @tc.desc       Test distributedAccount.queryOsAccountDistributedInfo API functionality by callback.
40        */
41        it('ActsDistributedAccountDeviceId_0100', 0, async function(done){
42            console.info('====>ActsDistributedAccountDeviceId_0100 start====')
43            try {
44                console.log("====>test query distribtued id start");
45                const accountAbility = account.getDistributedAccountAbility();
46                accountAbility.updateOsAccountDistributedInfo(LOGININFO, (err)=>{
47                    console.log("====>update distributedInfo err:" + JSON.stringify(err));
48                    accountAbility.queryOsAccountDistributedInfo((err, distributedInfo)=>{
49                        console.log("====>query distributedInfo err:" + JSON.stringify(err));
50                        console.log("====>query distributedInfo:" + JSON.stringify(distributedInfo));
51                        expect(distributedInfo.name).assertEqual('ZhangSan');
52                        expect(distributedInfo.id !== 'ohosAnonymousUid').assertTrue()
53                        let uid = distributedInfo.id
54                        accountAbility.queryOsAccountDistributedInfo((err, distributedInfo)=>{
55                            console.log("====>query distributedInfo err:" + JSON.stringify(err));
56                            console.log("====>query distributedInfo:" + JSON.stringify(distributedInfo));
57                            expect(distributedInfo.name).assertEqual('ZhangSan');
58                            expect(distributedInfo.id).assertEqual(uid)
59                            console.info('success')
60                            accountAbility.updateOsAccountDistributedInfo(LOGOUTINFO, (err)=>{
61                                console.info('====>ActsDistributedAccountDeviceId_0100 logout_result:'+ JSON.stringify(err))
62                                expect(err).assertEqual(undefined)
63                                console.log("====>test query distribtued id end");
64                                done();
65                            })
66                        })
67                    })
68                })
69            } catch (err){
70                console.info('====>ActsDistributedAccountDeviceId_0100 err:' + JSON.stringify(err))
71                expect().assertFail()
72                done()
73            }
74
75        })
76
77        /**
78        * @tc.number     SUB_Account_distributedAccount_JS_API_0100
79        * @tc.name       Test distributedAccount.getDistributedAccountAbility.
80        * @tc.desc      Test distributedAccount.getDistributedAccountAbility API functionality.
81        */
82        it('account_getDistributedAccountAbility_test', 0, async function (done) {
83            console.info('====>account_getDistributedAccountAbility_test start====')
84            try {
85                var ret = false;
86                const accountAbility = account.getDistributedAccountAbility()
87                console.info("====>account_getDistributedAccountAbility_test result:" + JSON.stringify(accountAbility))
88                if(accountAbility !== null){
89                    ret = true;
90                }
91                expect(ret).assertTrue()
92                done();
93            } catch (err){
94                console.info('====>ActsDistributedAccountDeviceId_0100 err:' + JSON.stringify(err))
95                expect().assertFail()
96                done()
97            }
98        })
99
100        /**
101        * @tc.number     SUB_Account_distributedAccount_JS_API_0200
102        * @tc.name       Test distributedAccount.queryOsAccountDistributedInfo.
103        * @tc.desc       Test distributedAccount.queryOsAccountDistributedInfo API functionality.
104        */
105        it('account_queryOsAccountDistributedInfo_test001', 0, async function (done) {
106            console.info('====>account_queryOsAccountDistributedInfo_test001 start====')
107            try {
108                let accountAbility = account.getDistributedAccountAbility()
109                accountAbility.queryOsAccountDistributedInfo().then(function (data) {
110                    console.info('====>account_queryOsAccountDistributedInfo_test001 data:' + JSON.stringify(data))
111                    expect(data.name).assertEqual('ohosAnonymousName')
112                    expect(data.id).assertEqual('ohosAnonymousUid')
113                    done();
114                });
115            } catch (err){
116                console.info('====>account_queryOsAccountDistributedInfo_test001 err:' + JSON.stringify(err))
117                expect().assertFail()
118                done()
119            }
120        })
121
122        /**
123        * @tc.number     SUB_Account_distributedAccount_JS_API_0300
124        * @tc.name       Test distributedAccount.queryOsAccountDistributedInfo by callback.
125        * @tc.desc       Test distributedAccount.queryOsAccountDistributedInfo API functionality by callback.
126        */
127        it('account_queryOsAccountDistributedInfo_test002', 0, async function (done) {
128            console.info('====>account_queryOsAccountDistributedInfo_test002 start')
129            try {
130                let accountAbility = account.getDistributedAccountAbility()
131                accountAbility.queryOsAccountDistributedInfo(function (err, data) {
132                    console.info('====>account_queryOsAccountDistributedInfo_test002 err:' + JSON.stringify(err))
133                    console.info('====>account_queryOsAccountDistributedInfo_test002 data:' + JSON.stringify(data))
134                    expect(err).assertEqual(undefined)
135                    expect(data.name).assertEqual('ohosAnonymousName')
136                    expect(data.id).assertEqual('ohosAnonymousUid')
137                    done();
138                });
139            } catch (err){
140                console.info('====>account_queryOsAccountDistributedInfo_test002 err:' + JSON.stringify(err))
141                expect().assertFail()
142                done()
143            }
144        })
145
146        /**
147        * @tc.number     SUB_Account_distributedAccount_JS_API_0400
148        * @tc.name       Test distributedAccount.updateOsAccountDistributedInfo.
149        * @tc.desc       Test distributedAccount.updateOsAccountDistributedInfo API functionality.
150        */
151        it('account_updateOsAccountDistributedInfo_test001', 0, async function (done) {
152            console.info('====>account_updateOsAccountDistributedInfo_test001 start====')
153            const accountAbility = account.getDistributedAccountAbility()
154            let data = null
155            let obj = {
156                id: '12345',
157                name: 'ZhangSan',
158                event: 'Ohos.account.event.LOGIN',
159                scalableData:data
160            };
161            try {
162                await accountAbility.updateOsAccountDistributedInfo(obj).then(function () {
163                    accountAbility.queryOsAccountDistributedInfo(async function (err, data) {
164                        console.info('====>account_updateOsAccountDistributedInfo_test001 data:' + JSON.stringify(data))
165                        expect(data.name).assertEqual('ZhangSan')
166                        expect(data.id !== 'ohosAnonymousUid').assertTrue()
167                        let obj = {
168                            id: '12345',
169                            name: 'ZhangSan',
170                            event: 'Ohos.account.event.LOGOUT'
171                        };
172                        await accountAbility.updateOsAccountDistributedInfo(obj).then(function (err) {
173                            expect(err).assertEqual(undefined)
174							done();
175                        });
176                    });
177                });
178            } catch (err){
179                console.info('====>account_updateOsAccountDistributedInfo_test001 err:' + JSON.stringify(err))
180                expect().assertFail()
181                done()
182            }
183        })
184
185        /**
186        * @tc.number     SUB_Account_distributedAccount_JS_API_0500
187        * @tc.name       Test distributedAccount.updateOsAccountDistributedInfo by callback.
188        * @tc.desc       Test distributedAccount.updateOsAccountDistributedInfo API functionality by callback.
189        */
190        it('account_updateOsAccountDistributedInfo_test002', 0,  async function (done)  {
191            console.info('====>account_updateOsAccountDistributedInfo_test002 start====')
192            var accountAbility = account.getDistributedAccountAbility()
193            let obj = {
194                id: '12345',
195                name: 'ZhangSan',
196                event: 'Ohos.account.event.LOGIN',
197                scalableData:{}
198            };
199            try {
200                accountAbility.updateOsAccountDistributedInfo(obj, function () {
201                    accountAbility.queryOsAccountDistributedInfo(async function (err, data) {
202                        console.info("====>account_updateOsAccountDistributedInfo_test002 data:" + JSON.stringify(data))
203                        expect(data.name).assertEqual('ZhangSan')
204                        expect(data.id !== 'ohosAnonymousUid').assertTrue()
205                        let obj = {
206                            id: '12345',
207                            name: 'ZhangSan',
208                            event: 'Ohos.account.event.LOGOUT'
209                        };
210                        await accountAbility.updateOsAccountDistributedInfo(obj).then(function (err) {
211                            expect(err).assertEqual(undefined)
212                            done();
213                        });
214                    });
215                });
216            } catch (err){
217                console.info('====>account_updateOsAccountDistributedInfo_test002 err:' + JSON.stringify(err))
218                expect().assertFail()
219                done()
220            }
221        })
222
223        /**
224        * @tc.number     SUB_Account_distributedAccount_JS_API_0600
225        * @tc.name       Test distributedAccount.updateOsAccountDistributedInfo by callback.
226        * @tc.desc       Test distributedAccount.updateOsAccountDistributedInfo API functionality by callback.
227        */
228        it('account_updateOsAccountDistributedInfo_test003', 0, async function (done) {
229            console.info('====>account_updateOsAccountDistributedInfo_test003 start====')
230            const accountAbility = account.getDistributedAccountAbility()
231            let data = null
232            let obj = {
233                id: '12345',
234                name: 'ZhangSan',
235                event: 'Ohos.account.event.TOKEN_INVALID',
236                scalableData:data
237            };
238            try {
239                accountAbility.updateOsAccountDistributedInfo(obj, async function (result) {
240                    console.info("====>account_updateOsAccountDistributedInfo_test003 update_err:" + JSON.stringify(result))
241                    await accountAbility.queryOsAccountDistributedInfo(obj).then(function (data) {
242                        console.info("====>account_updateOsAccountDistributedInfo_test003 data:" + JSON.stringify(data))
243                        expect(data.name).assertEqual("ohosAnonymousName")
244                        done();
245                    })
246                });
247            } catch (err){
248                console.info('====>account_updateOsAccountDistributedInfo_test003 err:' + JSON.stringify(err))
249                expect().assertFail()
250                done()
251            }
252        })
253
254        /**
255        * @tc.number     SUB_Account_distributedAccount_JS_API_0700
256        * @tc.name       Test distributedAccount.updateOsAccountDistributedInfo by callback.
257        * @tc.desc       Test distributedAccount.updateOsAccountDistributedInfo API functionality by callback.
258        */
259        it('account_updateOsAccountDistributedInfo_test004', 0, async function (done) {
260            console.info('====>account_updateOsAccountDistributedInfo_test004 start====')
261            const accountAbility = account.getDistributedAccountAbility()
262            let obj = {
263                id: '12345',
264                name: 'ZhangSan',
265                event: 'Ohos.account.event.LOGIN',
266                scalableData:{}
267            };
268            try {
269                accountAbility.updateOsAccountDistributedInfo(obj, function (err) {
270                    console.info("====>account_updateOsAccountDistributedInfo_test004 update_err:" + JSON.stringify(err))
271                    accountAbility.queryOsAccountDistributedInfo(async function (err, data) {
272                        console.info("====>account_updateOsAccountDistributedInfo_test004 query_err:" + JSON.stringify(err))
273                        console.info("====>account_updateOsAccountDistributedInfo_test004 query_data:" + JSON.stringify(data))
274                        expect(data.name).assertEqual('ZhangSan')
275                        expect(data.id !== 'ohosAnonymousUid').assertTrue()
276                        let obj = {
277                            id: '12345',
278                            name: 'ZhangSan',
279                            event: 'Ohos.account.event.LOGOFF'
280                        };
281                        await accountAbility.updateOsAccountDistributedInfo(obj).then(function (err) {
282                            expect(err).assertEqual(undefined)
283                            done();
284                        });
285                    });
286                });
287            } catch (err){
288                console.info('====>account_updateOsAccountDistributedInfo_test004 err:' + JSON.stringify(err))
289                expect().assertFail()
290                done()
291            }
292        })
293
294        /**
295         * @tc.number     SUB_Account_distributedAccount_JS_API_0800
296         * @tc.name       Test distributedAccount.updateOsAccountDistributedInfo.
297         * @tc.desc       Test distributedAccount.updateOsAccountDistributedInfo API functionality.
298         */
299        it('account_updateOsAccountDistributedInfo_test005', 0, async function (done) {
300            console.info('====>account_updateOsAccountDistributedInfo_test005 start====')
301            const accountAbility = account.getDistributedAccountAbility()
302            let obj = {
303                id: '12345',
304                name: 'ZhangSan',
305                event: 'Ohos.account.event.LOGIN',
306                scalableData:undefined,
307                nickname:undefined,
308                avatar:undefined,
309                status:undefined
310            };
311            try {
312                await accountAbility.updateOsAccountDistributedInfo(obj).then(function () {
313                    accountAbility.queryOsAccountDistributedInfo(async function (err, data) {
314                        console.info('====>account_updateOsAccountDistributedInfo_test005 data:' + JSON.stringify(data))
315                        expect(data.name).assertEqual('ZhangSan')
316                        expect(data.id !== 'ohosAnonymousUid').assertTrue()
317                        let obj = {
318                            id: '12345',
319                            name: 'ZhangSan',
320                            event: 'Ohos.account.event.LOGOUT',
321                            scalableData:undefined,
322                            nickname:undefined,
323                            avatar:undefined,
324                            status:undefined
325                        };
326                        await accountAbility.updateOsAccountDistributedInfo(obj).then(function (err) {
327                            expect(err).assertEqual(undefined)
328                            done()
329                        });
330                    });
331                });
332            } catch (err){
333                console.info('====>account_updateOsAccountDistributedInfo_test005 err:' + JSON.stringify(err))
334                expect().assertFail()
335                done()
336            }
337        })
338
339        /**
340         * @tc.number     SUB_Account_distributedAccount_JS_API_0900
341         * @tc.name       Test distributedAccount.updateOsAccountDistributedInfo by callback.
342         * @tc.desc       Test distributedAccount.updateOsAccountDistributedInfo API functionality by callback.
343         */
344        it('account_updateOsAccountDistributedInfo_test006', 0,  async function (done)  {
345            console.info('====>account_updateOsAccountDistributedInfo_test006 start====')
346            var accountAbility = account.getDistributedAccountAbility()
347            let obj = {
348                id: '12345',
349                name: 'ZhangSan',
350                event: 'Ohos.account.event.LOGIN',
351                scalableData:undefined,
352                nickname:undefined,
353                avatar:undefined,
354                status:undefined
355            };
356            try {
357                accountAbility.updateOsAccountDistributedInfo(obj, function () {
358                    accountAbility.queryOsAccountDistributedInfo(async function (err, data) {
359                        console.info("====>account_updateOsAccountDistributedInfo_test006 data:" + JSON.stringify(data))
360                        expect(data.name).assertEqual('ZhangSan')
361                        expect(data.id !== 'ohosAnonymousUid').assertTrue()
362                        let obj = {
363                            id: '12345',
364                            name: 'ZhangSan',
365                            event: 'Ohos.account.event.LOGOUT'
366                        };
367                        await accountAbility.updateOsAccountDistributedInfo(obj).then(function (data) {
368                            expect(data).assertEqual(undefined)
369                            done();
370                        });
371                    });
372                });
373            } catch (err){
374                console.info('====>account_updateOsAccountDistributedInfo_test006 err:' + JSON.stringify(err))
375                expect().assertFail()
376                done()
377            }
378        })
379
380        /**
381         * @tc.number     SUB_Account_distributedAccount_JS_API_1000
382         * @tc.name       Test distributedAccount.updateOsAccountDistributedInfo.
383         * @tc.desc       Test distributedAccount.updateOsAccountDistributedInfo API functionality.
384         */
385        it('account_updateOsAccountDistributedInfo_test007', 0, async function (done) {
386            console.info('====>account_updateOsAccountDistributedInfo_test007 start====')
387            const accountAbility = account.getDistributedAccountAbility()
388            let obj = {
389                id: '12345',
390                name: 'ZhangSan',
391                event: 'Ohos.account.event.LOGIN',
392                scalableData:null,
393                nickname:null,
394                avatar:null,
395                status:null
396            };
397            try {
398                await accountAbility.updateOsAccountDistributedInfo(obj).then(function () {
399                    accountAbility.queryOsAccountDistributedInfo(async function (err, data) {
400                        console.info('====>account_updateOsAccountDistributedInfo_test007 data:' + JSON.stringify(data))
401                        expect(data.name).assertEqual('ZhangSan')
402                        expect(data.id !== 'ohosAnonymousUid').assertTrue()
403                        let obj = {
404                            id: '12345',
405                            name: 'ZhangSan',
406                            event: 'Ohos.account.event.LOGOUT'
407                        };
408                        await accountAbility.updateOsAccountDistributedInfo(obj).then(function (err) {
409                            expect(err).assertEqual(undefined)
410                            done()
411                        });
412                    });
413                });
414            } catch (err){
415                console.info('====>account_updateOsAccountDistributedInfo_test007 err:' + JSON.stringify(err))
416                expect().assertFail()
417                done()
418            }
419        })
420
421        /**
422         * @tc.number     SUB_Account_distributedAccount_JS_API_1100
423         * @tc.name       Test distributedAccount.updateOsAccountDistributedInfo by callback.
424         * @tc.desc       Test distributedAccount.updateOsAccountDistributedInfo API functionality by callback.
425         */
426        it('account_updateOsAccountDistributedInfo_test008', 0,  async function (done)  {
427            console.info('====>account_updateOsAccountDistributedInfo_test008 start====')
428            var accountAbility = account.getDistributedAccountAbility()
429            let obj = {
430                id: '12345',
431                name: 'ZhangSan',
432                event: 'Ohos.account.event.LOGIN',
433                scalableData:null,
434                nickname:null,
435                avatar:null,
436                status:null
437            };
438            try {
439                accountAbility.updateOsAccountDistributedInfo(obj, function () {
440                    accountAbility.queryOsAccountDistributedInfo(async function (err, data) {
441                        console.info("====>account_updateOsAccountDistributedInfo_test008 data:" + JSON.stringify(data))
442                        expect(data.name).assertEqual('ZhangSan')
443                        expect(data.id !== 'ohosAnonymousUid').assertTrue()
444                        let obj = {
445                            id: '12345',
446                            name: 'ZhangSan',
447                            event: 'Ohos.account.event.LOGOUT'
448                        };
449                        await accountAbility.updateOsAccountDistributedInfo(obj).then(function (data) {
450                            expect(data).assertEqual(undefined)
451                            done();
452                        });
453                    });
454                });
455            } catch (err){
456                console.info('====>account_updateOsAccountDistributedInfo_test008 err:' + JSON.stringify(err))
457                expect().assertFail()
458                done()
459            }
460        })
461
462        /**
463         * @tc.number     SUB_Account_distributedAccount_JS_API_1200
464         * @tc.name       Test distributedAccount.updateOsAccountDistributedInfo.
465         * @tc.desc       Test distributedAccount.updateOsAccountDistributedInfo API functionality.
466         */
467        it('account_updateOsAccountDistributedInfo_test009', 0, async function (done) {
468            console.info('====>account_updateOsAccountDistributedInfo_test009 start====')
469            const accountAbility = account.getDistributedAccountAbility()
470            let obj = {
471                id: '12345',
472                name: 'ZhangSan',
473                event: 'Ohos.account.event.LOGIN'
474            };
475            try {
476                await accountAbility.updateOsAccountDistributedInfo(obj).then(function () {
477                    accountAbility.queryOsAccountDistributedInfo(async function (err, data) {
478                        console.info('====>account_updateOsAccountDistributedInfo_test009 data:' + JSON.stringify(data))
479                        expect(data.name).assertEqual('ZhangSan')
480                        expect(data.id !== 'ohosAnonymousUid').assertTrue()
481                        let obj = {
482                            id: '12345',
483                            name: 'ZhangSan',
484                            event: 'Ohos.account.event.LOGOUT'
485                        };
486                        await accountAbility.updateOsAccountDistributedInfo(obj).then(function (err) {
487                            expect(err).assertEqual(undefined)
488                            done()
489                        });
490                    });
491                });
492            } catch (err){
493                console.info('====>account_updateOsAccountDistributedInfo_test009 err:' + JSON.stringify(err))
494                expect().assertFail()
495                done()
496            }
497        })
498
499        /**
500         * @tc.number     SUB_Account_distributedAccount_JS_API_1300
501         * @tc.name       Test distributedAccount.updateOsAccountDistributedInfo by callback.
502         * @tc.desc       Test distributedAccount.updateOsAccountDistributedInfo API functionality by callback.
503         */
504        it('account_updateOsAccountDistributedInfo_test010', 0,  async function (done)  {
505            console.info('====>account_updateOsAccountDistributedInfo_test010 start====')
506            var accountAbility = account.getDistributedAccountAbility()
507            let obj = {
508                id: '12345',
509                name: 'ZhangSan',
510                event: 'Ohos.account.event.LOGIN'
511            };
512            try {
513                accountAbility.updateOsAccountDistributedInfo(obj, function () {
514                    accountAbility.queryOsAccountDistributedInfo(async function (err, data) {
515                        console.info("====>account_updateOsAccountDistributedInfo_test010 data:" + JSON.stringify(data))
516                        expect(data.name).assertEqual('ZhangSan')
517                        expect(data.id !== 'ohosAnonymousUid').assertTrue()
518                        let obj = {
519                            id: '12345',
520                            name: 'ZhangSan',
521                            event: 'Ohos.account.event.LOGOUT'
522                        };
523                        await accountAbility.updateOsAccountDistributedInfo(obj).then(function (data) {
524                            expect(data).assertEqual(undefined)
525                            done();
526                        });
527                    });
528                });
529            } catch (err){
530                console.info('====>account_updateOsAccountDistributedInfo_test010 err:' + JSON.stringify(err))
531                expect().assertFail()
532                done()
533            }
534        })
535    })
536}
537