• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1/*
2 * Copyright (c) 2022 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 { describe, beforeAll, beforeEach, afterEach, afterAll, it, expect } from 'deccjsunit/index'
16import factory from '@ohos.data.distributedData';
17import abilityFeatureAbility from '@ohos.ability.featureAbility';
18
19var context = abilityFeatureAbility.getContext();
20var contextApplication = context.getApplicationContext()
21
22const TEST_BUNDLE_NAME = 'com.example.myapplication';
23const TEST_STORE_ID = 'storeId';
24var kvManager = null;
25var kvStore = null;
26const STORE_KEY = 'key_test_string';
27const STORE_VALUE = 'value-test-string';
28var kvStoreNew = null;
29
30describe('KvManagerPromiseTest', function () {
31    const config = {
32        bundleName: TEST_BUNDLE_NAME,
33        userInfo: {
34            userId: '0',
35            userType: factory.UserType.SAME_USER_ID
36        }
37    }
38
39    const options = {
40        createIfMissing: true,
41        encrypt: false,
42        backup: false,
43        autoSync: true,
44        kvStoreType: factory.KVStoreType.SINGLE_VERSION,
45        schema: '',
46        securityLevel: factory.SecurityLevel.S2,
47    }
48
49    beforeAll(async function (done) {
50        console.info('beforeAll');
51        await factory.createKVManager(config).then((manager) => {
52            kvManager = manager;
53            console.info('beforeAll createKVManager success');
54            kvManager.getKVStore(TEST_STORE_ID, options).then((store) => {
55                console.info("beforeAll getKVStore success");
56                kvStoreNew = store;
57            }).catch((err) => {
58                console.info("beforeAll getKVStore err: "  + JSON.stringify(err));
59            });
60        }).catch((err) => {
61            console.error('beforeAll createKVManager err ' + `, error code is ${err.code}, message is ${err.message}`);
62        });
63        console.info('beforeAll end');
64        done();
65    })
66
67    afterAll(async function (done) {
68        console.info('afterAll');
69        done();
70    })
71
72    beforeEach(async function (done) {
73        console.info('beforeEach');
74        done();
75    })
76
77    afterEach(async function (done) {
78        console.info('afterEach');
79        await kvManager.closeKVStore(TEST_BUNDLE_NAME, TEST_STORE_ID, kvStore).then(async () => {
80            console.info('afterEach closeKVStore success');
81            await kvManager.deleteKVStore(TEST_BUNDLE_NAME, TEST_STORE_ID).then(() => {
82                console.info('afterEach deleteKVStore success');
83            }).catch((err) => {
84                console.error('afterEach deleteKVStore err ' + `, error code is ${err.code}, message is ${err.message}`);
85            });
86        }).catch((err) => {
87            console.error('afterEach closeKVStore err ' + `, error code is ${err.code}, message is ${err.message}`);
88        });
89        kvStore = null;
90        done();
91    })
92
93    /**
94     * @tc.name KVManagerGetKVStorePromiseTest001
95     * @tc.desc Test Js Api KVManager.GetKVStore() testcase 001
96     * @tc.type: FUNC
97     * @tc.require: issueNumber
98     */
99    it('KVManagerGetKVStorePromiseTest001', 0, async function (done) {
100        console.info('KVManagerGetKVStorePromiseTest001');
101        try {
102            await kvManager.getKVStore(TEST_STORE_ID).then((store) => {
103                console.info('KVManagerGetKVStorePromiseTest001 getKVStore success');
104                expect(null).assertFail();
105            }).catch((err) => {
106                console.error('KVManagerGetKVStorePromiseTest001 getKVStore err ' + `, error code is ${err.code}, message is ${err.message}`);
107            });
108        } catch (e) {
109            console.error('KVManagerGetKVStorePromiseTest001 getKVStore e ' + `, error code is ${e.code}, message is ${e.message}`);
110        }
111        done();
112    })
113
114    /**
115     * @tc.name KVManagerGetKVStorePromiseTest002
116     * @tc.desc Test Js Api KVManager.GetKVStore() testcase 002
117     * @tc.type: FUNC
118     * @tc.require: issueNumber
119     */
120    it('KVManagerGetKVStorePromiseTest002', 0, async function (done) {
121        console.info('KVManagerGetKVStorePromiseTest002');
122        try {
123            await kvManager.getKVStore(options).then((store) => {
124                console.info('KVManagerGetKVStorePromiseTest002 getKVStore success');
125                expect(null).assertFail();
126            }).catch((err) => {
127                console.error('KVManagerGetKVStorePromiseTest002 getKVStore err ' + `, error code is ${err.code}, message is ${err.message}`);
128            });
129        } catch (e) {
130            console.error('KVManagerGetKVStorePromiseTest002 getKVStore e ' + `, error code is ${e.code}, message is ${e.message}`);
131        }
132        done();
133    })
134
135    /**
136     * @tc.name KVManagerGetKVStorePromiseTest003
137     * @tc.desc Test Js Api KVManager.GetKVStore() testcase 003
138     * @tc.type: FUNC
139     * @tc.require: issueNumber
140     */
141    it('KVManagerGetKVStorePromiseTest003', 0, async function (done) {
142        console.info('KVManagerGetKVStorePromiseTest003');
143        const optionsInfo = {
144            createIfMissing: true,
145            encrypt: false,
146            backup: false,
147            autoSync: true,
148            kvStoreType: factory.KVStoreType.SINGLE_VERSION,
149            schema: '',
150            securityLevel: factory.SecurityLevel.NO_LEVEL,
151        }
152        await kvManager.getKVStore(TEST_STORE_ID, optionsInfo).then((store) => {
153            console.info('KVManagerGetKVStorePromiseTest003 getKVStore success');
154            kvStore = store;
155            expect(store != null).assertTrue();
156        }).catch((err) => {
157            console.error('KVManagerGetKVStorePromiseTest003 getKVStore err ' + `, error code is ${err.code}, message is ${err.message}`);
158            expect(null).assertFail();
159        });
160        done();
161    })
162
163    /**
164     * @tc.name KVManagerGetKVStorePromiseTest004
165     * @tc.desc Test Js Api KVManager.GetKVStore() testcase 004
166     * @tc.type: FUNC
167     * @tc.require: issueNumber
168     */
169    it('KVManagerGetKVStorePromiseTest004', 0, async function (done) {
170        console.info('KVManagerGetKVStorePromiseTest004');
171        const optionsInfo = {
172            createIfMissing: false,
173            encrypt: false,
174            backup: false,
175            autoSync: true,
176            kvStoreType: factory.KVStoreType.SINGLE_VERSION,
177            schema: '',
178            securityLevel: factory.SecurityLevel.S1,
179        }
180        await kvManager.getKVStore(TEST_STORE_ID, optionsInfo).then((store) => {
181            console.info('KVManagerGetKVStorePromiseTest004 getKVStore success');
182            expect(null).assertFail();
183        }).catch((err) => {
184            console.error('KVManagerGetKVStorePromiseTest004 getKVStore err ' + `, error code is ${err.code}, message is ${err.message}`);
185        });
186        done();
187    })
188
189    /**
190     * @tc.name KVManagerGetKVStorePromiseTest005
191     * @tc.desc Test Js Api KVManager.GetKVStore() testcase 005
192     * @tc.type: FUNC
193     * @tc.require: issueNumber
194     */
195    it('KVManagerGetKVStorePromiseTest005', 0, async function (done) {
196        console.info('KVManagerGetKVStorePromiseTest005');
197        const optionsInfo = {
198            createIfMissing: true,
199            encrypt: true,
200            backup: false,
201            autoSync: true,
202            kvStoreType: factory.KVStoreType.SINGLE_VERSION,
203            schema: '',
204            securityLevel: factory.SecurityLevel.S2,
205        }
206        await kvManager.getKVStore(TEST_STORE_ID, optionsInfo).then((store) => {
207            console.info('KVManagerGetKVStorePromiseTest005 getKVStore success');
208            kvStore = store;
209            expect(store != null).assertTrue();
210        }).catch((err) => {
211            console.error('KVManagerGetKVStorePromiseTest005 getKVStore err ' + `, error code is ${err.code}, message is ${err.message}`);
212            expect(null).assertFail();
213        });
214        done();
215    })
216
217    /**
218     * @tc.name KVManagerGetKVStorePromiseTest006
219     * @tc.desc Test Js Api KVManager.GetKVStore() testcase 006
220     * @tc.type: FUNC
221     * @tc.require: issueNumber
222     */
223    it('KVManagerGetKVStorePromiseTest006', 0, async function (done) {
224        console.info('KVManagerGetKVStorePromiseTest006');
225        const optionsInfo = {
226            createIfMissing: true,
227            encrypt: false,
228            backup: false,
229            autoSync: true,
230            kvStoreType: factory.KVStoreType.SINGLE_VERSION,
231            schema: '',
232            securityLevel: factory.SecurityLevel.S3,
233        }
234        await kvManager.getKVStore(TEST_STORE_ID, optionsInfo).then((store) => {
235            console.info('KVManagerGetKVStorePromiseTest006 getKVStore success');
236            kvStore = store;
237            expect(store != null).assertTrue();
238        }).catch((err) => {
239            console.error('KVManagerGetKVStorePromiseTest006 getKVStore err ' + `, error code is ${err.code}, message is ${err.message}`);
240            expect(null).assertFail();
241        });
242        done();
243    })
244
245    /**
246     * @tc.name KVManagerGetKVStorePromiseTest007
247     * @tc.desc Test Js Api KVManager.GetKVStore() testcase 007
248     * @tc.type: FUNC
249     * @tc.require: issueNumber
250     */
251    it('KVManagerGetKVStorePromiseTest007', 0, async function (done) {
252        console.info('KVManagerGetKVStorePromiseTest006');
253        const optionsInfo = {
254            createIfMissing: true,
255            encrypt: false,
256            backup: true,
257            autoSync: true,
258            kvStoreType: factory.KVStoreType.SINGLE_VERSION,
259            schema: '',
260            securityLevel: factory.SecurityLevel.S4,
261        }
262        await kvManager.getKVStore(TEST_STORE_ID, optionsInfo).then((store) => {
263            console.info('KVManagerGetKVStorePromiseTest007 getKVStore success');
264            kvStore = store;
265            expect(store != null).assertTrue();
266        }).catch((err) => {
267            console.error('KVManagerGetKVStorePromiseTest007 getKVStore err ' + `, error code is ${err.code}, message is ${err.message}`);
268            expect(null).assertFail();
269        });
270        done();
271    })
272
273    /**
274     * @tc.name KVManagerGetKVStorePromiseTest008
275     * @tc.desc Test Js Api KVManager.GetKVStore() testcase 008
276     * @tc.type: FUNC
277     * @tc.require: issueNumber
278     */
279    it('KVManagerGetKVStorePromiseTest008', 0, async function (done) {
280        console.info('KVManagerGetKVStorePromiseTest008');
281        const optionsInfo = {
282            createIfMissing: true,
283            encrypt: false,
284            backup: false,
285            autoSync: true,
286            kvStoreType: factory.KVStoreType.DEVICE_COLLABORATION,
287            schema: '',
288            securityLevel: factory.SecurityLevel.NO_LEVEL,
289        }
290        await kvManager.getKVStore(TEST_STORE_ID, optionsInfo).then((store) => {
291            console.info('KVManagerGetKVStorePromiseTest008 getKVStore success');
292            kvStore = store;
293            expect(store != null).assertTrue();
294        }).catch((err) => {
295            console.error('KVManagerGetKVStorePromiseTest008 getKVStore err ' + `, error code is ${err.code}, message is ${err.message}`);
296            expect(null).assertFail();
297        });
298        done();
299    })
300
301    /**
302     * @tc.name KVManagerGetKVStorePromiseTest009
303     * @tc.desc Test Js Api KVManager.GetKVStore() testcase 009
304     * @tc.type: FUNC
305     * @tc.require: issueNumber
306     */
307    it('KVManagerGetKVStorePromiseTest009', 0, async function (done) {
308        console.info('KVManagerGetKVStorePromiseTest009');
309        const optionsInfo = {
310            createIfMissing: true,
311            encrypt: false,
312            backup: false,
313            autoSync: true,
314            kvStoreType: factory.KVStoreType.DEVICE_COLLABORATION,
315            schema: '',
316            securityLevel: factory.SecurityLevel.S0,
317        }
318        await kvManager.getKVStore(TEST_STORE_ID, optionsInfo).then((store) => {
319            console.info('KVManagerGetKVStorePromiseTest009 getKVStore success');
320            kvStore = store;
321            expect(store != null).assertTrue();
322        }).catch((err) => {
323            console.error('KVManagerGetKVStorePromiseTest009 getKVStore err ' + `, error code is ${err.code}, message is ${err.message}`);
324            expect(null).assertFail();
325        });
326        done();
327    })
328
329    /**
330     * @tc.name KVManagerGetKVStorePromiseTest010
331     * @tc.desc Test Js Api KVManager.GetKVStore() testcase 010
332     * @tc.type: FUNC
333     * @tc.require: issueNumber
334     */
335    it('KVManagerGetKVStorePromiseTest010', 0, async function (done) {
336        console.info('KVManagerGetKVStorePromiseTest010');
337        const optionsInfo = {
338            createIfMissing: true,
339            encrypt: false,
340            backup: false,
341            autoSync: false,
342            kvStoreType: factory.KVStoreType.DEVICE_COLLABORATION,
343            schema: '',
344            securityLevel: factory.SecurityLevel.S1,
345        }
346        await kvManager.getKVStore(TEST_STORE_ID, optionsInfo).then((store) => {
347            console.info('KVManagerGetKVStorePromiseTest010 getKVStore success');
348            kvStore = store;
349            expect(store != null).assertTrue();
350        }).catch((err) => {
351            console.error('KVManagerGetKVStorePromiseTest010 getKVStore err ' + `, error code is ${err.code}, message is ${err.message}`);
352            expect(null).assertFail();
353        });
354        done();
355    })
356
357    /**
358     * @tc.name KVManagerGetKVStorePromiseTest011
359     * @tc.desc Test Js Api KVManager.GetKVStore() testcase 011
360     * @tc.type: FUNC
361     * @tc.require: issueNumber
362     */
363    it('KVManagerGetKVStorePromiseTest011', 0, async function (done) {
364        console.info('KVManagerGetKVStorePromiseTest011');
365        const optionsInfo = {
366            createIfMissing: true,
367            encrypt: false,
368            backup: false,
369            autoSync: true,
370            kvStoreType: factory.KVStoreType.DEVICE_COLLABORATION,
371            schema: '',
372            securityLevel: factory.SecurityLevel.S2,
373        }
374        await kvManager.getKVStore(TEST_STORE_ID, optionsInfo).then((store) => {
375            console.info('KVManagerGetKVStorePromiseTest011 getKVStore success');
376            kvStore = store;
377            expect(store != null).assertTrue();
378        }).catch((err) => {
379            console.error('KVManagerGetKVStorePromiseTest011 getKVStore err ' + `, error code is ${err.code}, message is ${err.message}`);
380            expect(null).assertFail();
381        });
382        done();
383    })
384
385    /**
386     * @tc.name KVManagerGetKVStorePromiseTest012
387     * @tc.desc Test Js Api KVManager.GetKVStore() testcase 012
388     * @tc.type: FUNC
389     * @tc.require: issueNumber
390     */
391    it('KVManagerGetKVStorePromiseTest012', 0, async function (done) {
392        console.info('KVManagerGetKVStorePromiseTest012');
393        const optionsInfo = {
394            createIfMissing: true,
395            encrypt: false,
396            backup: false,
397            autoSync: true,
398            kvStoreType: factory.KVStoreType.DEVICE_COLLABORATION,
399            schema: '',
400            securityLevel: factory.SecurityLevel.S3,
401        }
402        await kvManager.getKVStore(TEST_STORE_ID, optionsInfo).then((store) => {
403            console.info('KVManagerGetKVStorePromiseTest012 getKVStore success');
404            kvStore = store;
405            expect(store != null).assertTrue();
406        }).catch((err) => {
407            console.error('KVManagerGetKVStorePromiseTest012 getKVStore err ' + `, error code is ${err.code}, message is ${err.message}`);
408            expect(null).assertFail();
409        });
410        done();
411    })
412
413    /**
414     * @tc.name KVManagerGetKVStorePromiseTest013
415     * @tc.desc Test Js Api KVManager.GetKVStore() testcase 013
416     * @tc.type: FUNC
417     * @tc.require: issueNumber
418     */
419    it('KVManagerGetKVStorePromiseTest013', 0, async function (done) {
420        console.info('KVManagerGetKVStorePromiseTest013');
421        const optionsInfo = {
422            createIfMissing: true,
423            encrypt: false,
424            backup: false,
425            autoSync: true,
426            kvStoreType: factory.KVStoreType.DEVICE_COLLABORATION,
427            schema: '',
428            securityLevel: factory.SecurityLevel.S4,
429        }
430        try {
431            await kvManager.getKVStore(TEST_STORE_ID, optionsInfo).then((store) => {
432                console.info('KVManagerGetKVStorePromiseTest013 getKVStore success');
433            }).catch((err) => {
434                console.error('KVManagerGetKVStorePromiseTest013 getKVStore err ' + `, error code is ${err.code}, message is ${err.message}`);
435                expect(null).assertFail();
436            });
437        } catch (e) {
438            console.error('KVManagerGetKVStorePromiseTest013 getKVStore e ' + `, error code is ${e.code}, message is ${e.message}`);
439        }
440        done();
441    })
442
443    /**
444     * @tc.name KVManagerGetKVStorePromiseTest014
445     * @tc.desc Test Js Api KVManager.GetKVStore() testcase 014
446     * @tc.type: FUNC
447     * @tc.require: issueNumber
448     */
449    it('KVManagerGetKVStorePromiseTest014', 0, async function (done) {
450        console.info('KVManagerGetKVStorePromiseTest014');
451        const optionsInfo = {
452            createIfMissing: true,
453            encrypt: false,
454            backup: false,
455            autoSync: true,
456            kvStoreType: factory.KVStoreType.MULTI_VERSION,
457            schema: '',
458            securityLevel: factory.SecurityLevel.NO_LEVEL,
459        }
460        await kvManager.getKVStore(TEST_STORE_ID, optionsInfo).then((store) => {
461            console.info('KVManagerGetKVStorePromiseTest014 getKVStore success');
462            expect(null).assertFail();
463        }).catch((err) => {
464            console.error('KVManagerGetKVStorePromiseTest014 getKVStore err ' + `, error code is ${err.code}, message is ${err.message}`);
465            expect(true).assertTrue();
466        });
467        done();
468    })
469
470    /**
471     * @tc.name KVManagerGetKVStorePromiseTest015
472     * @tc.desc Test Js Api KVManager.GetKVStore() testcase 015
473     * @tc.type: FUNC
474     * @tc.require: issueNumber
475     */
476    it('KVManagerGetKVStorePromiseTest015', 0, async function (done) {
477        console.info('KVManagerGetKVStorePromiseTest015');
478        const optionsInfo = {
479            createIfMissing: true,
480            encrypt: false,
481            backup: false,
482            autoSync: true,
483            kvStoreType: factory.KVStoreType.MULTI_VERSION,
484            schema: '',
485            securityLevel: factory.SecurityLevel.S0,
486        }
487        await kvManager.getKVStore(TEST_STORE_ID, optionsInfo).then((store) => {
488            console.info('KVManagerGetKVStorePromiseTest015 getKVStore success');
489            expect(null).assertFail();
490        }).catch((err) => {
491            console.error('KVManagerGetKVStorePromiseTest015 getKVStore err ' + `, error code is ${err.code}, message is ${err.message}`);
492            expect(true).assertTrue();
493        });
494        done();
495    })
496
497    /**
498     * @tc.name KVManagerGetKVStorePromiseTest016
499     * @tc.desc Test Js Api KVManager.GetKVStore() testcase 016
500     * @tc.type: FUNC
501     * @tc.require: issueNumber
502     */
503    it('KVManagerGetKVStorePromiseTest016', 0, async function (done) {
504        console.info('KVManagerGetKVStorePromiseTest016');
505        const optionsInfo = {
506            createIfMissing: true,
507            encrypt: false,
508            backup: false,
509            autoSync: true,
510            kvStoreType: factory.KVStoreType.MULTI_VERSION,
511            schema: '',
512            securityLevel: factory.SecurityLevel.S1,
513        }
514        await kvManager.getKVStore(TEST_STORE_ID, optionsInfo).then((store) => {
515            console.info('KVManagerGetKVStorePromiseTest016 getKVStore success');
516            expect(null).assertFail();
517        }).catch((err) => {
518            console.error('KVManagerGetKVStorePromiseTest016 getKVStore err ' + `, error code is ${err.code}, message is ${err.message}`);
519            expect(true).assertTrue();
520        });
521        done();
522    })
523
524    /**
525     * @tc.name KVManagerGetKVStorePromiseTest017
526     * @tc.desc Test Js Api KVManager.GetKVStore() testcase 017
527     * @tc.type: FUNC
528     * @tc.require: issueNumber
529     */
530    it('KVManagerGetKVStorePromiseTest017', 0, async function (done) {
531        console.info('KVManagerGetKVStorePromiseTest017');
532        const optionsInfo = {
533            createIfMissing: true,
534            encrypt: false,
535            backup: false,
536            autoSync: true,
537            kvStoreType: factory.KVStoreType.MULTI_VERSION,
538            schema: '',
539            securityLevel: factory.SecurityLevel.S2,
540        }
541        await kvManager.getKVStore(TEST_STORE_ID, optionsInfo).then((store) => {
542            console.info('KVManagerGetKVStorePromiseTest017 getKVStore success');
543            expect(null).assertFail();
544        }).catch((err) => {
545            console.error('KVManagerGetKVStorePromiseTest017 getKVStore err ' + `, error code is ${err.code}, message is ${err.message}`);
546            expect(true).assertTrue();
547        });
548        done();
549    })
550
551    /**
552     * @tc.name KVManagerGetKVStorePromiseTest018
553     * @tc.desc Test Js Api KVManager.GetKVStore() testcase 018
554     * @tc.type: FUNC
555     * @tc.require: issueNumber
556     */
557    it('KVManagerGetKVStorePromiseTest018', 0, async function (done) {
558        console.info('KVManagerGetKVStorePromiseTest018');
559        const optionsInfo = {
560            createIfMissing: true,
561            encrypt: false,
562            backup: false,
563            autoSync: true,
564            kvStoreType: factory.KVStoreType.MULTI_VERSION,
565            schema: '',
566            securityLevel: factory.SecurityLevel.S3,
567        }
568        await kvManager.getKVStore(TEST_STORE_ID, optionsInfo).then((store) => {
569            console.info('KVManagerGetKVStorePromiseTest018 getKVStore success');
570            expect(null).assertFail();
571        }).catch((err) => {
572            console.error('KVManagerGetKVStorePromiseTest018 getKVStore err ' + `, error code is ${err.code}, message is ${err.message}`);
573            expect(true).assertTrue();
574        });
575        done();
576    })
577
578    /**
579     * @tc.name KVManagerGetKVStorePromiseTest019
580     * @tc.desc Test Js Api KVManager.GetKVStore() testcase 019
581     * @tc.type: FUNC
582     * @tc.require: issueNumber
583     */
584    it('KVManagerGetKVStorePromiseTest019', 0, async function (done) {
585        console.info('KVManagerGetKVStorePromiseTest019');
586        const optionsInfo = {
587            createIfMissing: true,
588            encrypt: false,
589            backup: false,
590            autoSync: true,
591            kvStoreType: factory.KVStoreType.MULTI_VERSION,
592            schema: '',
593            securityLevel: factory.SecurityLevel.S4,
594        }
595        await kvManager.getKVStore(TEST_STORE_ID, optionsInfo).then((store) => {
596            console.info('KVManagerGetKVStorePromiseTest019 getKVStore success');
597            expect(null).assertFail();
598        }).catch((err) => {
599            console.error('KVManagerGetKVStorePromiseTest019 getKVStore err ' + `, error code is ${err.code}, message is ${err.message}`);
600            expect(true).assertTrue();
601        });
602        done();
603    })
604
605    /**
606     * @tc.name KVManagerCloseKVStorePromiseTest001
607     * @tc.desc Test Js Api KVManager.CloseKVStore() testcase 001
608     * @tc.type: FUNC
609     * @tc.require: issueNumber
610     */
611    it('KVManagerCloseKVStorePromiseTest001', 0, async function (done) {
612        console.info('KVManagerCloseKVStorePromiseTest004');
613        await kvManager.getKVStore(TEST_STORE_ID, options, async function (err, store) {
614            console.info('KVManagerCloseKVStorePromiseTest001 getKVStore success');
615            kvStore = store;
616            await kvManager.closeKVStore(TEST_BUNDLE_NAME, TEST_STORE_ID, kvStore);
617        });
618        console.info('KVManagerCloseKVStorePromiseTest001 closeKVStore redo.');
619        await kvManager.closeKVStore(TEST_BUNDLE_NAME, TEST_STORE_ID, kvStore).then(() => {
620            console.info('KVManagerCloseKVStorePromiseTest001 closeKVStore twice');
621            expect(null).assertFail();
622        }).catch((err) => {
623            console.error('KVManagerCloseKVStorePromiseTest001 closeKVStore twice err ' + `, error code is ${err.code}, message is ${err.message}`);
624        });
625        done();
626    })
627
628    /**
629     * @tc.name KVManagerDeleteKVStorePromiseTest001
630     * @tc.desc Test Js Api KVManager.DeleteKVStore() testcase 001
631     * @tc.type: FUNC
632     * @tc.require: issueNumber
633     */
634    it('KVManagerDeleteKVStorePromiseTest001', 0, async function (done) {
635        console.info('KVManagerDeleteKVStorePromiseTest001');
636        await kvManager.deleteKVStore(TEST_BUNDLE_NAME, TEST_STORE_ID).then(() => {
637            console.info('KVManagerDeleteKVStorePromiseTest001 deleteKVStore success');
638        }).catch((err) => {
639            expect(null).assertFail();
640            console.error('KVManagerDeleteKVStorePromiseTest001 deleteKVStore err ' + `, error code is ${err.code}, message is ${err.message}`);
641        });
642        done();
643    })
644
645    /**
646     * @tc.name KVManagerGetAllKVStoreIdPromiseTest001
647     * @tc.desc Test Js Api KVManager.GetAllKVStoreId() testcase 001
648     * @tc.type: FUNC
649     * @tc.require: issueNumber
650     */
651    it('KVManagerGetAllKVStoreIdPromiseTest001', 0, async function (done) {
652        console.info('KVManagerGetAllKVStoreIdPromiseTest001');
653        await kvManager.getAllKVStoreId(TEST_BUNDLE_NAME).then((data) => {
654            console.info('KVManagerGetAllKVStoreIdPromiseTest001 getAllKVStoreId success');
655            console.info('KVManagerGetAllKVStoreIdPromiseTest001 size = ' + data.length);
656            expect(0).assertEqual(data.length);
657        }).catch((err) => {
658            console.error('KVManagerGetAllKVStoreIdPromiseTest001 getAllKVStoreId err ' + `, error code is ${err.code}, message is ${err.message}`);
659            expect(null).assertFail();
660        });
661        done();
662    })
663
664    /**
665     * @tc.name KVManagerGetAllKVStoreIdPromiseTest002
666     * @tc.desc Test Js Api KVManager.GetAllKVStoreId() testcase 002
667     * @tc.type: FUNC
668     * @tc.require: issueNumber
669     */
670    it('KVManagerGetAllKVStoreIdPromiseTest002', 0, async function (done) {
671        console.info('KVManagerGetAllKVStoreIdPromiseTest002');
672        await kvManager.getKVStore(TEST_STORE_ID, options).then(async (store) => {
673            console.info('KVManagerGetAllKVStoreIdPromiseTest002 getKVStore success');
674            kvStore = store;
675            await kvManager.getAllKVStoreId(TEST_BUNDLE_NAME).then((data) => {
676                console.info('KVManagerGetAllKVStoreIdPromiseTest002 getAllKVStoreId success');
677                console.info('KVManagerGetAllKVStoreIdPromiseTest002 size = ' + data.length);
678                expect(1).assertEqual(data.length);
679                console.info('KVManagerGetAllKVStoreIdPromiseTest002 data[0] = ' + data[0]);
680                expect(TEST_STORE_ID).assertEqual(data[0]);
681            }).catch((err) => {
682                console.error('KVManagerGetAllKVStoreIdPromiseTest002 getAllKVStoreId err ' + `, error code is ${err.code}, message is ${err.message}`);
683                expect(null).assertFail();
684            });
685        }).catch((err) => {
686            console.error('KVManagerGetAllKVStoreIdPromiseTest002 getKVStore err ' + `, error code is ${err.code}, message is ${err.message}`);
687            expect(null).assertFail();
688        });
689        done();
690    })
691
692    /**
693     * @tc.name KVManagerOnPromiseTest001
694     * @tc.desc Test Js Api KVManager.On() testcase 001
695     * @tc.type: FUNC
696     * @tc.require: issueNumber
697     */
698    it('KVManagerOnPromiseTest001', 0, function (done) {
699        console.info('KVManagerOnPromiseTest001');
700        var deathCallback = function () {
701            console.info('death callback call');
702        }
703        kvManager.on('distributedDataServiceDie', deathCallback);
704        kvManager.off('distributedDataServiceDie', deathCallback);
705        done();
706    })
707
708    /**
709     * @tc.name KVManagerOnPromiseTest002
710     * @tc.desc Test Js Api KVManager.On() testcase 002
711     * @tc.type: FUNC
712     * @tc.require: issueNumber
713     */
714    it('KVManagerOnPromiseTest002', 0, function (done) {
715        console.info('KVManagerOnPromiseTest002');
716        var deathCallback1 = function () {
717            console.info('death callback call');
718        }
719        var deathCallback2 = function () {
720            console.info('death callback call');
721        }
722        kvManager.on('distributedDataServiceDie', deathCallback1);
723        kvManager.on('distributedDataServiceDie', deathCallback2);
724        kvManager.off('distributedDataServiceDie', deathCallback1);
725        kvManager.off('distributedDataServiceDie', deathCallback2);
726        done();
727    })
728
729    /**
730     * @tc.name KVManagerOnPromiseTest003
731     * @tc.desc Test Js Api KVManager.On() testcase 003
732     * @tc.type: FUNC
733     * @tc.require: issueNumber
734     */
735    it('KVManagerOnPromiseTest003', 0, function (done) {
736        console.info('KVManagerOnPromiseTest003');
737        var deathCallback = function () {
738            console.info('death callback call');
739        }
740        kvManager.on('distributedDataServiceDie', deathCallback);
741        kvManager.on('distributedDataServiceDie', deathCallback);
742        kvManager.off('distributedDataServiceDie', deathCallback);
743        done();
744    })
745
746    /**
747     * @tc.name KVManagerOffPromiseTest001
748     * @tc.desc Test Js Api KVManager.Off() testcase 001
749     * @tc.type: FUNC
750     * @tc.require: issueNumber
751     */
752    it('KVManagerOffPromiseTest001', 0, function (done) {
753        console.info('KVManagerOffPromiseTest001');
754        var deathCallback = function () {
755            console.info('death callback call');
756        }
757        kvManager.off('distributedDataServiceDie', deathCallback);
758        done();
759    })
760
761    /**
762     * @tc.name KVManagerOffPromiseTest002
763     * @tc.desc Test Js Api KVManager.Off() testcase 002
764     * @tc.type: FUNC
765     * @tc.require: issueNumber
766     */
767    it('KVManagerOffPromiseTest002', 0, function (done) {
768        console.info('KVManagerOffPromiseTest002');
769        var deathCallback = function () {
770            console.info('death callback call');
771        }
772        kvManager.on('distributedDataServiceDie', deathCallback);
773        kvManager.off('distributedDataServiceDie', deathCallback);
774        done();
775    })
776
777    /**
778     * @tc.name KVManagerOffPromiseTest003
779     * @tc.desc Test Js Api KVManager.Off() testcase 003
780     * @tc.type: FUNC
781     * @tc.require: issueNumber
782     */
783    it('KVManagerOffPromiseTest003', 0, function (done) {
784        console.info('KVManagerOffPromiseTest003');
785        var deathCallback1 = function () {
786            console.info('death callback call');
787        }
788        var deathCallback2 = function () {
789            console.info('death callback call');
790        }
791        kvManager.on('distributedDataServiceDie', deathCallback1);
792        kvManager.on('distributedDataServiceDie', deathCallback2);
793        kvManager.off('distributedDataServiceDie', deathCallback1);
794        done();
795    })
796
797    /**
798     * @tc.name KVManagerOffPromiseTest004
799     * @tc.desc Test Js Api KVManager.Off() testcase 004
800     * @tc.type: FUNC
801     * @tc.require: issueNumber
802     */
803    it('KVManagerOffPromiseTest004', 0, function (done) {
804        console.info('KVManagerOffPromiseTest004');
805        var deathCallback = function () {
806            console.info('death callback call');
807        }
808        kvManager.on('distributedDataServiceDie', deathCallback);
809        kvManager.off('distributedDataServiceDie', deathCallback);
810        kvManager.off('distributedDataServiceDie', deathCallback);
811        done();
812    })
813
814    /**
815     * @tc.name KVManagerOffPromiseTest005
816     * @tc.desc Test Js Api KVManager.Off() testcase 005
817     * @tc.type: FUNC
818     * @tc.require: issueNumber
819     */
820    it('KVManagerOffPromiseTest005', 0, function (done) {
821        console.info('KVManagerOffPromiseTest001');
822        var deathCallback = function () {
823            console.info('death callback call');
824        }
825        kvManager.on('distributedDataServiceDie', deathCallback);
826        kvManager.off('distributedDataServiceDie');
827        done();
828    })
829
830    /**
831     * @tc.name: KVStorePutPromiseTest001
832     * @tc.desc: Test Js Api KVManager.Put() testcase 001
833     * @tc.type: FUNC
834     * @tc.require: issueNumber
835     */
836    it('KVStorePutPromiseTest001', 0, async function (done) {
837        console.info('KVStorePutPromiseTest001');
838        try {
839            await kvStoreNew.put(TEST_BUNDLE_NAME, TEST_STORE_ID).then((data) => {
840                if (err != undefined){
841                    console.info('KVStorePutPromiseTest001 put promise fail');
842                } else {
843                    console.info('KVStorePutPromiseTest001 put promise success');
844                    expect(null).assertFail();
845                }
846                done();
847            });
848        } catch (e) {
849            console.error('KVStorePutPromiseTest001 e ' + `, error code is ${e.code}, message is ${e.message}`);
850            done();
851        }
852    })
853
854    /**
855     * @tc.name: KVStoreDeletePromiseTest001
856     * @tc.desc: Test Js Api KVManager.Delete testcase 001
857     * @tc.type: FUNC
858     * @tc.require: issueNumber
859     */
860    it('KVStoreDeletePromiseTest001', 0, async function (done) {
861        console.info('KVStoreDeletePromiseTest001');
862        try {
863            kvStoreNew.put(STORE_KEY, STORE_VALUE).then((data) => {
864                console.info('KVStoreDeletePromiseTest001 getKVStore success');
865                kvStoreNew.delete(STORE_KEY).then((data) => {
866                    console.info("testKVStoreDelete001  promise delete success");
867                    expect(null).assertFail();
868                }).catch((err) => {
869                    console.error('KVStoreDeletePromiseTest001 promise delete fail err' + `, error code is ${err.code}, message is ${err.message}`);
870                });
871            }).catch((err) => {
872                console.error('KVStoreDeletePromiseTest001 promise delete fail err' + `, error code is ${err.code}, message is ${err.message}`);
873            });
874        }catch (e) {
875            console.error('KVStoreDeletePromiseTest001 promise delete fail err' + `, error code is ${err.code}, message is ${err.message}`);
876        }
877        done();
878    })
879
880    /**
881     * @tc.name: CreateKVManagerPromiseTest001
882     * @tc.desc: Test Js Api createKVManager testcase 001
883     * @tc.type: FUNC
884     * @tc.require: issueNumber
885     */
886     it('CreateKVManagerPromiseTest001', 0, async function (done) {
887        console.info('CreateKVManagerPromiseTest001');
888        const config = {
889            bundleName: TEST_BUNDLE_NAME,
890            userInfo: {
891                userId: '0',
892                userType: factory.UserType.SAME_USER_ID
893            },
894            context:context
895        }
896        try {
897            await factory.createKVManager(config).then(async (manager) => {
898                kvManager = manager;
899                expect(manager !=null).assertTrue();
900                console.info('CreateKVManagerPromiseTest001 createKVManager success');
901                await kvManager.getKVStore(TEST_STORE_ID, options).then(async (store) => {
902                    console.info("testcreateKVManager001 getKVStore success");
903                    kvStore = store;
904                    await store.put(STORE_KEY, STORE_VALUE).then(async (data) => {
905                        console.info('CreateKVManagerPromiseTest001 put data success');
906                        await store.get(STORE_KEY).then((data) => {
907                            console.info("testcreateKVManager001  get data success");
908                            expect(data).assertEqual(STORE_VALUE);
909                        }).catch((err) => {
910                            console.error('CreateKVManagerPromiseTest001 get data err' + `, error code is ${err.code}, message is ${err.message}`);
911                        });
912                    }).catch((err) => {
913                        console.error('CreateKVManagerPromiseTest001 put data err' + `, error code is ${err.code}, message is ${err.message}`);
914                    });
915                }).catch((err) => {
916                    console.info("testcreateKVManager001 getKVStore err: "  + JSON.stringify(err));
917                    expect(null).assertFail();
918                });
919            }).catch((err) => {
920                console.error('CreateKVManagerPromiseTest001 createKVManager err ' + `, error code is ${err.code}, message is ${err.message}`);
921                expect(null).assertFail()
922            });
923        }catch (e) {
924            console.error('CreateKVManagerPromiseTest001 promise delete fail err' + `, error code is ${err.code}, message is ${err.message}`);
925            expect(null).assertFail();
926        }
927        done();
928    })
929
930    /**
931     * @tc.name: CreateKVManagerPromiseTest002
932     * @tc.desc: Test Js Api createKVManager testcase 002
933     * @tc.type: FUNC
934     * @tc.require: issueNumber
935     */
936     it('CreateKVManagerPromiseTest002', 0, async function (done) {
937        console.info('CreateKVManagerPromiseTest002');
938        const config = {
939            bundleName: TEST_BUNDLE_NAME,
940            userInfo: {
941                userId: '0',
942                userType: factory.UserType.SAME_USER_ID
943            },
944            context:contextApplication
945        }
946        try {
947            await factory.createKVManager(config).then(async (manager) => {
948                kvManager = manager;
949                console.info('CreateKVManagerPromiseTest002 createKVManager success');
950                await kvManager.getKVStore(TEST_STORE_ID, options).then(async (store) => {
951                    console.info("testcreateKVManager002 getKVStore success");
952                    kvStore = store;
953                    await store.put(STORE_KEY, STORE_VALUE).then(async (data) => {
954                        console.info('CreateKVManagerPromiseTest002 put data success');
955                        await store.get(STORE_KEY).then((data) => {
956                            console.info("testcreateKVManager002  get data success");
957                            expect(data).assertEqual(STORE_VALUE);
958                        }).catch((err) => {
959                            console.error('CreateKVManagerPromiseTest002 get data err' + `, error code is ${err.code}, message is ${err.message}`);
960                        });
961                    }).catch((err) => {
962                        console.error('CreateKVManagerPromiseTest002 put data err' + `, error code is ${err.code}, message is ${err.message}`);
963                    });
964                }).catch((err) => {
965                    console.info("testcreateKVManager002 getKVStore err: "  + JSON.stringify(err));
966                    expect(null).assertFail();
967                });
968            }).catch((err) => {
969                console.error('CreateKVManagerPromiseTest002 createKVManager err ' + `, error code is ${err.code}, message is ${err.message}`);
970                expect(null).assertFail()
971            });
972        }catch (e) {
973            console.error('CreateKVManagerPromiseTest002 promise delete fail err' + `, error code is ${err.code}, message is ${err.message}`);
974            expect(null).assertFail();
975        }
976        done();
977    })
978
979})
980