• 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*/
15import {describe, beforeAll, beforeEach, afterEach, afterAll, it, expect} from 'deccjsunit/index'
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
26describe('storageTest', function () {
27    beforeAll(function () {
28        console.info('beforeAll')
29        mPref = storage.getStorageSync(PATH);
30    })
31
32    afterAll(function () {
33        console.info('afterAll')
34        storage.deleteStorageSync(PATH);
35    })
36
37    /**
38     * @tc.name clear callback interface test
39     * @tc.number SUB_DDM_AppDataFWK_JSPreferences_CallBack_0010
40     * @tc.desc clear callback interface test
41     */
42    it('testClear0012', 0, async function (done) {
43        mPref.putSync(KEY_TEST_STRING_ELEMENT, "test");
44        mPref.flushSync();
45        await mPref.clear(function (err, ret) {
46            expect("defaultvalue").assertEqual(mPref.getSync(KEY_TEST_STRING_ELEMENT, "defaultvalue"));
47            done();
48        });
49    })
50
51    /**
52     * @tc.name has string callback interface test
53     * @tc.number SUB_DDM_AppDataFWK_JSPreferences_CallBack_0020
54     * @tc.desc has string callback interface test
55     */
56    it('testHasKey0032', 0, async function (done) {
57        mPref.putSync(KEY_TEST_STRING_ELEMENT, "test");
58        await mPref.has(KEY_TEST_STRING_ELEMENT, function (err, ret) {
59            expect(true).assertEqual(ret);
60            done();
61        })
62    })
63
64    /**
65     * @tc.name has int callback interface test
66     * @tc.number SUB_DDM_AppDataFWK_JSPreferences_CallBack_0130
67     * @tc.desc has int callback interface test
68     */
69    it('testHasKey0033', 0, async function (done) {
70        mPref.putSync(KEY_TEST_INT_ELEMENT, 1);
71        await mPref.has(KEY_TEST_INT_ELEMENT, function (err, ret) {
72            expect(true).assertEqual(ret);
73            done();
74        })
75    })
76
77    /**
78     * @tc.name has float callback interface test
79     * @tc.number SUB_DDM_AppDataFWK_JSPreferences_CallBack_0140
80     * @tc.desc has float callback interface test
81     */
82    it('testHasKey0034', 0, async function (done) {
83        mPref.putSync(KEY_TEST_FLOAT_ELEMENT, 1.1);
84        await mPref.has(KEY_TEST_FLOAT_ELEMENT, function (err, ret) {
85            expect(true).assertEqual(ret);
86            done();
87        })
88    })
89
90    /**
91     * @tc.name has long callback interface test
92     * @tc.number SUB_DDM_AppDataFWK_JSPreferences_CallBack_0150
93     * @tc.desc has long callback interface test
94     */
95    it('testHasKey0035', 0, async function (done) {
96        mPref.putSync(KEY_TEST_LONG_ELEMENT, 0);
97        await mPref.has(KEY_TEST_LONG_ELEMENT, function (err, ret) {
98            expect(true).assertEqual(ret);
99            done();
100        })
101    })
102
103    /**
104     * @tc.name has boolean callback interface test
105     * @tc.number SUB_DDM_AppDataFWK_JSPreferences_CallBack_0160
106     * @tc.desc has boolean callback interface test
107     */
108    it('testHasKey0036', 0, async function (done) {
109        mPref.putSync(KEY_TEST_BOOLEAN_ELEMENT, false);
110        await mPref.has(KEY_TEST_BOOLEAN_ELEMENT, function (err, ret) {
111            expect(true).assertEqual(ret);
112            done();
113        })
114    })
115
116    /**
117     * @tc.name get defaultValue callback interface test
118     * @tc.number SUB_DDM_AppDataFWK_JSPreferences_CallBack_0030
119     * @tc.desc get defaultValue callback interface test
120     */
121    it('testGetDefValue0062', 0, async function (done) {
122        mPref.clearSync();
123        await mPref.get(KEY_TEST_STRING_ELEMENT, "defaultValue", function (err, ret) {
124            expect('defaultValue').assertEqual(ret);
125            done();
126        })
127    })
128
129    /**
130     * @tc.name get float callback interface test
131     * @tc.number SUB_DDM_AppDataFWK_JSPreferences_CallBack_0040
132     * @tc.desc get float callback interface test
133     */
134    it('testGetFloat0072', 0, async function (done) {
135        mPref.clearSync();
136        mPref.putSync(KEY_TEST_FLOAT_ELEMENT, 3.0);
137        await mPref.get(KEY_TEST_FLOAT_ELEMENT, 0.0, function (err, ret) {
138            expect(3.0).assertEqual(ret);
139            done();
140        })
141    })
142
143    /**
144     * @tc.name get int callback interface test
145     * @tc.number SUB_DDM_AppDataFWK_JSPreferences_CallBack_0050
146     * @tc.desc get int callback interface test
147     */
148    it('testGetInt0082', 0, async function (done) {
149        mPref.clearSync();
150        mPref.putSync(KEY_TEST_INT_ELEMENT, 3);
151        await mPref.get(KEY_TEST_INT_ELEMENT, 0.0, function (err, ret) {
152            expect(3).assertEqual(ret);
153            done();
154        })
155    })
156
157    /**
158     * @tc.name get long callback interface test
159     * @tc.number SUB_DDM_AppDataFWK_JSPreferences_CallBack_0060
160     * @tc.desc get long callback interface test
161     */
162    it('testGetLong0092', 0, async function (done) {
163        mPref.clearSync();
164        mPref.putSync(KEY_TEST_LONG_ELEMENT, 3);
165        expect(3).assertEqual(mPref.getSync(KEY_TEST_LONG_ELEMENT, 0));
166        await mPref.get(KEY_TEST_LONG_ELEMENT, 0, function (err, ret) {
167            expect(3).assertEqual(ret);
168            done();
169        });
170    })
171
172    /**
173     * @tc.name get String callback interface test
174     * @tc.number SUB_DDM_AppDataFWK_JSPreferences_CallBack_0070
175     * @tc.desc get String callback interface test
176     */
177    it('testGetString102', 0, async function (done) {
178        mPref.clearSync();
179        mPref.putSync(KEY_TEST_STRING_ELEMENT, "test");
180        mPref.flushSync();
181        await mPref.get(KEY_TEST_STRING_ELEMENT, "defaultvalue", function (err, ret) {
182            expect('test').assertEqual(ret);
183            done();
184        });
185    })
186
187    /**
188     * @tc.name put boolean callback interface test
189     * @tc.number SUB_DDM_AppDataFWK_JSPreferences_CallBack_0080
190     * @tc.desc put boolean callback interface test
191     */
192    it('testPutBoolean0122', 0, async function (done) {
193        mPref.clearSync();
194        await mPref.put(KEY_TEST_BOOLEAN_ELEMENT, true, function (err, ret) {
195            expect(true).assertEqual(mPref.getSync(KEY_TEST_BOOLEAN_ELEMENT, false));
196            mPref.flushSync();
197            expect(true).assertEqual(mPref.getSync(KEY_TEST_BOOLEAN_ELEMENT, false));
198            done();
199        });
200    })
201
202    /**
203     * @tc.name put float callback interface test
204     * @tc.number SUB_DDM_AppDataFWK_JSPreferences_CallBack_0090
205     * @tc.desc put float callback interface test
206     */
207    it('testPutFloat0132', 0, async function (done) {
208        mPref.clearSync();
209        await mPref.put(KEY_TEST_FLOAT_ELEMENT, 4.0, function (err, ret) {
210            expect(4.0).assertEqual(mPref.getSync(KEY_TEST_FLOAT_ELEMENT, 0.0));
211            mPref.flushSync();
212            expect(4.0).assertEqual(mPref.getSync(KEY_TEST_FLOAT_ELEMENT, 0.0));
213            done();
214        });
215    })
216
217    /**
218     * @tc.name put int callback interface test
219     * @tc.number SUB_DDM_AppDataFWK_JSPreferences_CallBack_0100
220     * @tc.desc put int callback interface test
221     */
222    it('testPutInt0142', 0, async function (done) {
223        mPref.clearSync();
224        await mPref.put(KEY_TEST_INT_ELEMENT, 4, function (err, ret) {
225            expect(4).assertEqual(mPref.getSync(KEY_TEST_INT_ELEMENT, 0));
226            mPref.flushSync();
227            expect(4).assertEqual(mPref.getSync(KEY_TEST_INT_ELEMENT, 0));
228            done();
229        });
230    })
231
232    /**
233     * @tc.name put long callback interface test
234     * @tc.number SUB_DDM_AppDataFWK_JSPreferences_CallBack_0110
235     * @tc.desc put long callback interface test
236     */
237    it('testPutLong0152', 0, async function (done) {
238        mPref.clearSync();
239        mPref.putSync(KEY_TEST_LONG_ELEMENT, 4);
240        await mPref.put(KEY_TEST_LONG_ELEMENT, 4, function (err, ret) {
241            expect(4).assertEqual(mPref.getSync(KEY_TEST_LONG_ELEMENT, 0));
242            mPref.flushSync();
243            expect(4).assertEqual(mPref.getSync(KEY_TEST_LONG_ELEMENT, 0));
244            done();
245        });
246    })
247
248    /**
249     * @tc.name put String callback interface test
250     * @tc.number SUB_DDM_AppDataFWK_JSPreferences_CallBack_0120
251     * @tc.desc put String callback interface test
252     */
253    it('testPutString0162', 0, async function (done) {
254        mPref.clearSync();
255        await mPref.put(KEY_TEST_STRING_ELEMENT, '', function (err, ret) {
256            expect('').assertEqual(mPref.getSync(KEY_TEST_STRING_ELEMENT, "defaultvalue"));
257            mPref.flushSync();
258            expect('').assertEqual(mPref.getSync(KEY_TEST_STRING_ELEMENT, "defaultvalue"));
259            done();
260        });
261    })
262
263    /**
264     * @tc.name clear、put、get、flush String callback interface test
265     * @tc.number SUB_DDM_AppDataFWK_JSPreferences_CallBack_0120
266     * @tc.desc flush String callback interface test
267     */
268     it('testCallback0172', 0, function (done) {
269        console.log("*******************testCallback0172 begin.");
270        mPref.clear(function (err, val) {
271            if(err){
272                console.log("*******************clear error: " + err);
273                expect(false).assertTrue();
274            }
275            mPref.put(KEY_TEST_STRING_ELEMENT, '', function (err, ret) {
276                if(err){
277                    console.log("*******************put error: " + err);
278                    expect(false).assertTrue();
279                }
280                console.log("*******************put done.");
281                mPref.get(KEY_TEST_STRING_ELEMENT, "defaultvalue", function (err, pre) {
282                    if(err){
283                        console.log("*******************get error: " + err);
284                        expect(false).assertTrue();
285                    }
286                    expect('').assertEqual(pre);
287                    mPref.flush(function (err, val) {
288                        if(err){
289                            console.log("*******************flush error: " + err);
290                            expect(false).assertTrue();
291                        }
292                        mPref.get(KEY_TEST_STRING_ELEMENT, "defaultvalue", function (err, pre2) {
293                            if(err){
294                                console.log("*******************get error: " + err);
295                                expect(false).assertTrue();
296                            }
297                            expect('').assertEqual(pre2);
298                            done();
299                            console.log("*******************testCallback0172 end.");
300                        })
301                    });
302                })
303            });
304        });
305    })
306})