• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1/*
2* Copyright (c) 2021-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, Level, Size, TestType } from "@ohos/hypium";
16import storage from '@ohos.data.storage'
17
18const PATH = '/data/storage/el2/database/test_storage';
19const KEY_TEST_INT_ELEMENT = 'key_test_int';
20const KEY_TEST_LONG_ELEMENT = 'key_test_long';
21const KEY_TEST_FLOAT_ELEMENT = 'key_test_float';
22const KEY_TEST_BOOLEAN_ELEMENT = 'key_test_boolean';
23const KEY_TEST_STRING_ELEMENT = 'key_test_string';
24var mPref;
25
26export default function storageCallBackTest() {
27    describe('storageCallBackTest', function () {
28        beforeAll(async function () {
29            console.info('beforeAll')
30        })
31
32        afterAll(async function () {
33            console.info('afterAll')
34        })
35        beforeEach(async function () {
36            console.info('beforeEach')
37            mPref = storage.getStorageSync(PATH);
38        })
39
40        afterEach(async function () {
41            console.info('afterEach')
42            storage.deleteStorageSync(PATH);
43        })
44
45        /**
46         * @tc.name testClear0012
47         * @tc.number SUB_DistributedData_Preference_SDK_StorageJsApiCallbackTest_0400
48         * @tc.desc clear callback interface test
49         * @tc.size MediumTest
50         * @tc.type Function
51         * @tc.level Level 2
52         */
53        it('testClear0012', TestType.FUNCTION | Size.MEDIUMTEST | Level.LEVEL2, async function (done) {
54            mPref.putSync(KEY_TEST_STRING_ELEMENT, "test");
55            mPref.flushSync();
56            await mPref.clear(function (err, ret) {
57                expect("defaultvalue").assertEqual(mPref.getSync(KEY_TEST_STRING_ELEMENT, "defaultvalue"));
58                done();
59            });
60        })
61
62        /**
63         * @tc.name testHasKey0032
64         * @tc.number SUB_DistributedData_Preference_SDK_StorageJsApiCallbackTest_1600
65         * @tc.desc has string callback interface test
66         * @tc.size MediumTest
67         * @tc.type Function
68         * @tc.level Level 2
69         */
70        it('testHasKey0032', TestType.FUNCTION | Size.MEDIUMTEST | Level.LEVEL2, async function (done) {
71            mPref.putSync(KEY_TEST_STRING_ELEMENT, "test");
72            await mPref.has(KEY_TEST_STRING_ELEMENT, function (err, ret) {
73                expect(true).assertEqual(ret);
74                done();
75            })
76        })
77
78        /**
79         * @tc.name testHasKey0033
80         * @tc.number SUB_DistributedData_Preference_SDK_StorageJsApiCallbackTest_1400
81         * @tc.desc has int callback interface test
82         * @tc.size MediumTest
83         * @tc.type Function
84         * @tc.level Level 2
85         */
86        it('testHasKey0033', TestType.FUNCTION | Size.MEDIUMTEST | Level.LEVEL2, async function (done) {
87            mPref.putSync(KEY_TEST_INT_ELEMENT, 1);
88            await mPref.has(KEY_TEST_INT_ELEMENT, function (err, ret) {
89                expect(true).assertEqual(ret);
90                done();
91            })
92        })
93
94        /**
95         * @tc.name testHasKey0034
96         * @tc.number SUB_DistributedData_Preference_SDK_StorageJsApiCallbackTest_1300
97         * @tc.desc has float callback interface test
98         * @tc.size MediumTest
99         * @tc.type Function
100         * @tc.level Level 2
101         */
102        it('testHasKey0034', TestType.FUNCTION | Size.MEDIUMTEST | Level.LEVEL2, async function (done) {
103            mPref.putSync(KEY_TEST_FLOAT_ELEMENT, 1.1);
104            await mPref.has(KEY_TEST_FLOAT_ELEMENT, function (err, ret) {
105                expect(true).assertEqual(ret);
106                done();
107            })
108        })
109
110        /**
111         * @tc.name testHasKey0035
112         * @tc.number SUB_DistributedData_Preference_SDK_StorageJsApiCallbackTest_1500
113         * @tc.desc has long callback interface test
114         * @tc.size MediumTest
115         * @tc.type Function
116         * @tc.level Level 2
117         */
118        it('testHasKey0035', TestType.FUNCTION | Size.MEDIUMTEST | Level.LEVEL2, async function (done) {
119            mPref.putSync(KEY_TEST_LONG_ELEMENT, 0);
120            await mPref.has(KEY_TEST_LONG_ELEMENT, function (err, ret) {
121                expect(true).assertEqual(ret);
122                done();
123            })
124        })
125
126        /**
127         * @tc.name testHasKey0036
128         * @tc.number SUB_DistributedData_Preference_SDK_StorageJsApiCallbackTest_1200
129         * @tc.desc has boolean callback interface test
130         * @tc.size MediumTest
131         * @tc.type Function
132         * @tc.level Level 2
133         */
134        it('testHasKey0036', TestType.FUNCTION | Size.MEDIUMTEST | Level.LEVEL2, async function (done) {
135            mPref.putSync(KEY_TEST_BOOLEAN_ELEMENT, false);
136            await mPref.has(KEY_TEST_BOOLEAN_ELEMENT, function (err, ret) {
137                expect(true).assertEqual(ret);
138                done();
139            })
140        })
141
142        /**
143         * @tc.name testGetDefValue0062
144         * @tc.number SUB_DistributedData_Preference_SDK_StorageJsApiCallbackTest_0700
145         * @tc.desc get defaultValue callback interface test
146         * @tc.size MediumTest
147         * @tc.type Function
148         * @tc.level Level 2
149         */
150        it('testGetDefValue0062', TestType.FUNCTION | Size.MEDIUMTEST | Level.LEVEL2, async function (done) {
151            mPref.clearSync();
152            await mPref.get(KEY_TEST_STRING_ELEMENT, "defaultValue", function (err, ret) {
153                expect('defaultValue').assertEqual(ret);
154                done();
155            })
156        })
157
158        /**
159         * @tc.name testGetFloat0072
160         * @tc.number SUB_DistributedData_Preference_SDK_StorageJsApiCallbackTest_0800
161         * @tc.desc get float callback interface test
162         * @tc.size MediumTest
163         * @tc.type Function
164         * @tc.level Level 2
165         */
166        it('testGetFloat0072', TestType.FUNCTION | Size.MEDIUMTEST | Level.LEVEL2, async function (done) {
167            mPref.clearSync();
168            mPref.putSync(KEY_TEST_FLOAT_ELEMENT, 3.0);
169            await mPref.get(KEY_TEST_FLOAT_ELEMENT, 0.0, function (err, ret) {
170                expect(3.0).assertEqual(ret);
171                done();
172            })
173        })
174
175        /**
176         * @tc.name testGetInt0082
177         * @tc.number SUB_DistributedData_Preference_SDK_StorageJsApiCallbackTest_0900
178         * @tc.desc get int callback interface test
179         * @tc.size MediumTest
180         * @tc.type Function
181         * @tc.level Level 2
182         */
183        it('testGetInt0082', TestType.FUNCTION | Size.MEDIUMTEST | Level.LEVEL2, async function (done) {
184            mPref.clearSync();
185            mPref.putSync(KEY_TEST_INT_ELEMENT, 3);
186            await mPref.get(KEY_TEST_INT_ELEMENT, 0.0, function (err, ret) {
187                expect(3).assertEqual(ret);
188                done();
189            })
190        })
191
192        /**
193         * @tc.name testGetLong0092
194         * @tc.number SUB_DistributedData_Preference_SDK_StorageJsApiCallbackTest_1000
195         * @tc.desc get long callback interface test
196         * @tc.size MediumTest
197         * @tc.type Function
198         * @tc.level Level 2
199         */
200        it('testGetLong0092', TestType.FUNCTION | Size.MEDIUMTEST | Level.LEVEL2, async function (done) {
201            mPref.clearSync();
202            mPref.putSync(KEY_TEST_LONG_ELEMENT, 3);
203            expect(3).assertEqual(mPref.getSync(KEY_TEST_LONG_ELEMENT, 0));
204            await mPref.get(KEY_TEST_LONG_ELEMENT, 0, function (err, ret) {
205                expect(3).assertEqual(ret);
206                done();
207            });
208        })
209
210        /**
211         * @tc.name testGetString102
212         * @tc.number SUB_DistributedData_Preference_SDK_StorageJsApiCallbackTest_1100
213         * @tc.desc get String callback interface test
214         * @tc.size MediumTest
215         * @tc.type Function
216         * @tc.level Level 2
217         */
218        it('testGetString102', TestType.FUNCTION | Size.MEDIUMTEST | Level.LEVEL2, async function (done) {
219            mPref.clearSync();
220            mPref.putSync(KEY_TEST_STRING_ELEMENT, "test");
221            mPref.flushSync();
222            await mPref.get(KEY_TEST_STRING_ELEMENT, "defaultvalue", function (err, ret) {
223                expect('test').assertEqual(ret);
224                done();
225            });
226        })
227
228        /**
229         * @tc.name testPutBoolean0122
230         * @tc.number SUB_DistributedData_Preference_SDK_StorageJsApiCallbackTest_1800
231         * @tc.desc put boolean callback interface test
232         * @tc.size MediumTest
233         * @tc.type Function
234         * @tc.level Level 2
235         */
236        it('testPutBoolean0122', TestType.FUNCTION | Size.MEDIUMTEST | Level.LEVEL2, async function (done) {
237            mPref.clearSync();
238            await mPref.put(KEY_TEST_BOOLEAN_ELEMENT, true, function (err, ret) {
239                expect(true).assertEqual(mPref.getSync(KEY_TEST_BOOLEAN_ELEMENT, false));
240                mPref.flushSync();
241                expect(true).assertEqual(mPref.getSync(KEY_TEST_BOOLEAN_ELEMENT, false));
242                done();
243            });
244        })
245
246        /**
247         * @tc.name testPutFloat0132
248         * @tc.number SUB_DistributedData_Preference_SDK_StorageJsApiCallbackTest_1900
249         * @tc.desc put float callback interface test
250         * @tc.size MediumTest
251         * @tc.type Function
252         * @tc.level Level 2
253         */
254        it('testPutFloat0132', TestType.FUNCTION | Size.MEDIUMTEST | Level.LEVEL2, async function (done) {
255            mPref.clearSync();
256            await mPref.put(KEY_TEST_FLOAT_ELEMENT, 4.0, function (err, ret) {
257                expect(4.0).assertEqual(mPref.getSync(KEY_TEST_FLOAT_ELEMENT, 0.0));
258                mPref.flushSync();
259                expect(4.0).assertEqual(mPref.getSync(KEY_TEST_FLOAT_ELEMENT, 0.0));
260                done();
261            });
262        })
263
264        /**
265         * @tc.name testPutInt0142
266         * @tc.number SUB_DistributedData_Preference_SDK_StorageJsApiCallbackTest_2000
267         * @tc.desc put int callback interface test
268         * @tc.size MediumTest
269         * @tc.type Function
270         * @tc.level Level 2
271         */
272        it('testPutInt0142', TestType.FUNCTION | Size.MEDIUMTEST | Level.LEVEL2, async function (done) {
273            mPref.clearSync();
274            await mPref.put(KEY_TEST_INT_ELEMENT, 4, function (err, ret) {
275                expect(4).assertEqual(mPref.getSync(KEY_TEST_INT_ELEMENT, 0));
276                mPref.flushSync();
277                expect(4).assertEqual(mPref.getSync(KEY_TEST_INT_ELEMENT, 0));
278                done();
279            });
280        })
281
282        /**
283         * @tc.name testPutLong0152
284         * @tc.number SUB_DistributedData_Preference_SDK_StorageJsApiCallbackTest_2100
285         * @tc.desc put long callback interface test
286         * @tc.size MediumTest
287         * @tc.type Function
288         * @tc.level Level 2
289         */
290        it('testPutLong0152', TestType.FUNCTION | Size.MEDIUMTEST | Level.LEVEL2, async function (done) {
291            mPref.clearSync();
292            mPref.putSync(KEY_TEST_LONG_ELEMENT, 4);
293            await mPref.put(KEY_TEST_LONG_ELEMENT, 4, function (err, ret) {
294                expect(4).assertEqual(mPref.getSync(KEY_TEST_LONG_ELEMENT, 0));
295                mPref.flushSync();
296                expect(4).assertEqual(mPref.getSync(KEY_TEST_LONG_ELEMENT, 0));
297                done();
298            });
299        })
300
301        /**
302         * @tc.name testPutString0162
303         * @tc.number SUB_DistributedData_Preference_SDK_StorageJsApiCallbackTest_2200
304         * @tc.desc put String callback interface test
305         * @tc.size MediumTest
306         * @tc.type Function
307         * @tc.level Level 2
308         */
309        it('testPutString0162', TestType.FUNCTION | Size.MEDIUMTEST | Level.LEVEL2, async function (done) {
310            mPref.clearSync();
311            await mPref.put(KEY_TEST_STRING_ELEMENT, '', function (err, ret) {
312                expect('').assertEqual(mPref.getSync(KEY_TEST_STRING_ELEMENT, "defaultvalue"));
313                mPref.flushSync();
314                expect('').assertEqual(mPref.getSync(KEY_TEST_STRING_ELEMENT, "defaultvalue"));
315                done();
316            });
317        })
318
319        /**
320         * @tc.name testFluesh00172
321         * @tc.number SUB_DistributedData_Preference_SDK_StorageJsApiCallbackTest_0200
322         * @tc.desc flush callback interface test
323         * @tc.size MediumTest
324         * @tc.type Function
325         * @tc.level Level 2
326         */
327        it('testFluesh00172', TestType.FUNCTION | Size.MEDIUMTEST | Level.LEVEL2, async function (done) {
328            mPref.putSync(KEY_TEST_STRING_ELEMENT, "test");
329            await mPref.flush(function (err, ret) {
330                expect("test").assertEqual(mPref.getSync(KEY_TEST_STRING_ELEMENT, "default"));
331                done();
332            });
333        })
334
335
336        /**
337         * @tc.name testCallback0172
338         * @tc.number SUB_DistributedData_Preference_SDK_StorageJsApiCallbackTest_0300
339         * @tc.desc flush String callback interface test
340         * @tc.size MediumTest
341         * @tc.type Function
342         * @tc.level Level 2
343         */
344        it('testCallback0172', TestType.FUNCTION | Size.MEDIUMTEST | Level.LEVEL2, function (done) {
345            console.info("*******************testCallback0172 begin.");
346            mPref.clear(function (err, val) {
347                if(err){
348                    console.info("*******************clear error: " + err);
349                    expect(false).assertTrue();
350                }
351                mPref.put(KEY_TEST_STRING_ELEMENT, '', function (err, ret) {
352                    if(err){
353                        console.info("*******************put error: " + err);
354                        expect(false).assertTrue();
355                    }
356                    console.info("*******************put done.");
357                    mPref.get(KEY_TEST_STRING_ELEMENT, "defaultvalue", function (err, pre) {
358                        if(err){
359                            console.info("*******************get error: " + err);
360                            expect(false).assertTrue();
361                        }
362                        expect('').assertEqual(pre);
363                        mPref.flush(function (err, val) {
364                            if(err){
365                                console.info("*******************flush error: " + err);
366                                expect(false).assertTrue();
367                            }
368                            mPref.get(KEY_TEST_STRING_ELEMENT, "defaultvalue", function (err, pre2) {
369                                if(err){
370                                    console.info("*******************get error: " + err);
371                                    expect(false).assertTrue();
372                                }
373                                expect('').assertEqual(pre2);
374                                done();
375                                console.info("*******************testCallback0172 end.");
376                            })
377                        });
378                    })
379                });
380            });
381        })
382
383        /**
384         * @tc.name testDelete0182
385         * @tc.number SUB_DistributedData_Preference_SDK_StorageJsApiCallbackTest_0500
386         * @tc.desc delete callback interface test
387         * @tc.size MediumTest
388         * @tc.type Function
389         * @tc.level Level 2
390         */
391
392        it('testDelete0182', TestType.FUNCTION | Size.MEDIUMTEST | Level.LEVEL2, async function (done) {
393            mPref.putSync(KEY_TEST_STRING_ELEMENT, "abc");
394            expect("abc").assertEqual(mPref.getSync(KEY_TEST_STRING_ELEMENT, "default"));
395            mPref.delete(KEY_TEST_STRING_ELEMENT,(err,ret)=>{
396                expect("default").assertEqual(mPref.getSync(KEY_TEST_STRING_ELEMENT, "default"))
397            });
398            done();
399        })
400
401        /**
402         * @tc.name testGetDefValue0192
403         * @tc.number SUB_DistributedData_Preference_SDK_StorageJsApiCallbackTest_1700
404         * @tc.desc get defaultValue callback interface test
405         * @tc.size MediumTest
406         * @tc.type Function
407         * @tc.level Level 2
408         */
409        it('testGetDefValue0192', TestType.FUNCTION | Size.MEDIUMTEST | Level.LEVEL2, async function (done) {
410            await mPref.clear();
411            await mPref.get(KEY_TEST_BOOLEAN_ELEMENT, true, function (err, ret) {
412                expect(true).assertEqual(ret);
413                done();
414            })
415        })
416    })
417}
418