• 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';
24
25var mPref;
26
27export default function storageSyncTest() {
28    describe('storageSyncTest', function () {
29        beforeAll(async function() {
30            console.info('beforeAll')
31        })
32
33        afterAll(async function () {
34            console.info('afterAll')
35        })
36
37        beforeEach(async function() {
38            console.info('beforeEach')
39            mPref = storage.getStorageSync(PATH);
40        })
41
42        afterEach(async function () {
43            console.info('afterEach')
44            storage.deleteStorageSync(PATH);
45        })
46        /**
47         * @tc.name testClear001
48         * @tc.number SUB_DistributedData_Preference_SDK_StorageJsApiCallbackTest_0100
49         * @tc.desc Clear test
50         * @tc.size MediumTest
51         * @tc.type Function
52         * @tc.level Level 2
53         */
54        it('testClear001', TestType.FUNCTION | Size.MEDIUMTEST | Level.LEVEL2, function () {
55            mPref.putSync(KEY_TEST_STRING_ELEMENT, "test");
56            mPref.putSync(KEY_TEST_INT_ELEMENT, 3);
57            mPref.flushSync();
58            mPref.clearSync();
59            expect("defaultvalue").assertEqual(mPref.getSync(KEY_TEST_STRING_ELEMENT, "defaultvalue"));
60            expect(0).assertEqual(mPref.getSync(KEY_TEST_INT_ELEMENT, 0));
61        })
62
63        /**
64         * @tc.name testConstructor002
65         * @tc.number SUB_DistributedData_Preference_SDK_StorageJsApiAsyncTest_0100
66         * @tc.desc Constructor test
67         * @tc.size MediumTest
68         * @tc.type Function
69         * @tc.level Level 2
70         */
71        it('testConstructor002', TestType.FUNCTION | Size.MEDIUMTEST | Level.LEVEL2, function () {
72            expect(typeof mPref).assertEqual("object");
73        })
74
75        /**
76         * @tc.name testHasKey003
77         * @tc.number SUB_DistributedData_Preference_SDK_StorageJsApiAsyncTest_2000
78         * @tc.desc put string sync interface test
79         * @tc.size MediumTest
80         * @tc.type Function
81         * @tc.level Level 2
82         */
83        it('testHasKey003', TestType.FUNCTION | Size.MEDIUMTEST | Level.LEVEL2, function () {
84            mPref.putSync(KEY_TEST_STRING_ELEMENT, "test");
85            expect(true).assertEqual(mPref.hasSync(KEY_TEST_STRING_ELEMENT));
86        })
87
88        /**
89         * @tc.name testHasKey004
90         * @tc.number SUB_DistributedData_Preference_SDK_StorageJsApiAsyncTest_1800
91         * @tc.desc put int sync interface test
92         * @tc.size MediumTest
93         * @tc.type Function
94         * @tc.level Level 2
95         */
96        it('testHasKey004', TestType.FUNCTION | Size.MEDIUMTEST | Level.LEVEL2, function () {
97            mPref.putSync(KEY_TEST_INT_ELEMENT, 1);
98            expect(true).assertEqual(mPref.hasSync(KEY_TEST_INT_ELEMENT));
99        })
100
101        /**
102         * @tc.name testHasKey005
103         * @tc.number SUB_DistributedData_Preference_SDK_StorageJsApiAsyncTest_1600
104         * @tc.desc put boolean sync interface test
105         * @tc.size MediumTest
106         * @tc.type Function
107         * @tc.level Level 2
108         */
109        it('testHasKey005', TestType.FUNCTION | Size.MEDIUMTEST | Level.LEVEL2, function () {
110            mPref.putSync(KEY_TEST_BOOLEAN_ELEMENT, false);
111            expect(true).assertEqual(mPref.hasSync(KEY_TEST_BOOLEAN_ELEMENT));
112        })
113
114        /**
115         * @tc.name testHasKey006
116         * @tc.number SUB_DistributedData_Preference_SDK_StorageJsApiAsyncTest_1900
117         * @tc.desc put long sync interface test
118         * @tc.size MediumTest
119         * @tc.type Function
120         * @tc.level Level 2
121         */
122        it('testHasKey006', TestType.FUNCTION | Size.MEDIUMTEST | Level.LEVEL2, function () {
123            mPref.putSync(KEY_TEST_LONG_ELEMENT, 0);
124            expect(true).assertEqual(mPref.hasSync(KEY_TEST_LONG_ELEMENT));
125        })
126
127        /**
128         * @tc.name testHasKey007
129         * @tc.number SUB_DistributedData_Preference_SDK_StorageJsApiAsyncTest_1700
130         * @tc.desc put float sync interface test
131         * @tc.size MediumTest
132         * @tc.type Function
133         * @tc.level Level 2
134         */
135        it('testHasKey007', TestType.FUNCTION | Size.MEDIUMTEST | Level.LEVEL2, function () {
136            mPref.putSync(KEY_TEST_FLOAT_ELEMENT, 1.1);
137            expect(true).assertEqual(mPref.hasSync(KEY_TEST_FLOAT_ELEMENT));
138        })
139
140        /**
141         * @tc.name testGetBoolean005
142         * @tc.number SUB_DistributedData_Preference_SDK_StorageJsApiAsyncTest_1500
143         * @tc.desc put boolean sync interface test
144         * @tc.size MediumTest
145         * @tc.type Function
146         * @tc.level Level 2
147         */
148        it('testGetBoolean005', TestType.FUNCTION | Size.MEDIUMTEST | Level.LEVEL2, function () {
149            mPref.putSync(KEY_TEST_LONG_ELEMENT, true);
150            expect(true).assertEqual(mPref.hasSync(KEY_TEST_LONG_ELEMENT));
151        })
152
153        /**
154         * @tc.name testGetDefValue006
155         * @tc.number SUB_DistributedData_Preference_SDK_StorageJsApiAsyncTest_0300
156         * @tc.desc get defaultValue sync interface test
157         * @tc.size MediumTest
158         * @tc.type Function
159         * @tc.level Level 2
160         */
161        it('testGetDefValue006', TestType.FUNCTION | Size.MEDIUMTEST | Level.LEVEL2, function () {
162            mPref.clearSync();
163            expect(-1).assertEqual(mPref.getSync(KEY_TEST_INT_ELEMENT, -1));
164            expect(1.0).assertEqual(mPref.getSync(KEY_TEST_FLOAT_ELEMENT, 1.0));
165            expect(10000).assertEqual(mPref.getSync(KEY_TEST_LONG_ELEMENT, 10000));
166            expect(true).assertEqual(mPref.getSync(KEY_TEST_BOOLEAN_ELEMENT, true));
167            expect('defaultValue').assertEqual(mPref.getSync(KEY_TEST_STRING_ELEMENT, "defaultValue"));
168        })
169
170        /**
171         * @tc.name testGetFloat007
172         * @tc.number SUB_DistributedData_Preference_SDK_StorageJsApiAsyncTest_0400
173         * @tc.desc put float sync interface test
174         * @tc.size MediumTest
175         * @tc.type Function
176         * @tc.level Level 2
177         */
178        it('testGetFloat007', TestType.FUNCTION | Size.MEDIUMTEST | Level.LEVEL2, function () {
179            mPref.clearSync();
180            mPref.putSync(KEY_TEST_FLOAT_ELEMENT, 3.0);
181            expect(3.0).assertEqual(mPref.getSync(KEY_TEST_FLOAT_ELEMENT, 0.0));
182            expect(0.0).assertEqual(mPref.getSync(KEY_TEST_STRING_ELEMENT, 0.0));
183        })
184
185        /**
186         * @tc.name testGetInt008
187         * @tc.number SUB_DistributedData_Preference_SDK_StorageJsApiAsyncTest_0600
188         * @tc.desc put int sync interface test
189         * @tc.size MediumTest
190         * @tc.type Function
191         * @tc.level Level 2
192         */
193        it('testGetInt008', TestType.FUNCTION | Size.MEDIUMTEST | Level.LEVEL2, function () {
194            mPref.clearSync();
195            mPref.putSync(KEY_TEST_INT_ELEMENT, 3);
196            expect(3).assertEqual(mPref.getSync(KEY_TEST_INT_ELEMENT, 0.0));
197        })
198
199        /**
200         * @tc.name testGetLong009
201         * @tc.number SUB_DistributedData_Preference_SDK_StorageJsApiAsyncTest_0800
202         * @tc.desc put long sync interface test
203         * @tc.size MediumTest
204         * @tc.type Function
205         * @tc.level Level 2
206         */
207        it('testGetLong009', TestType.FUNCTION | Size.MEDIUMTEST | Level.LEVEL2, function () {
208            mPref.clearSync();
209            mPref.putSync(KEY_TEST_LONG_ELEMENT, 3);
210            expect(3).assertEqual(mPref.getSync(KEY_TEST_LONG_ELEMENT, 0));
211            expect(0).assertEqual(mPref.getSync(KEY_TEST_STRING_ELEMENT, 0));
212        })
213
214        /**
215         * @tc.name testGetString10
216         * @tc.number SUB_DistributedData_Preference_SDK_StorageJsApiAsyncTest_1000
217         * @tc.desc put String & int sync interface test
218         * @tc.size MediumTest
219         * @tc.type Function
220         * @tc.level Level 2
221         */
222        it('testGetString10', TestType.FUNCTION | Size.MEDIUMTEST | Level.LEVEL2, function () {
223            mPref.clearSync();
224            mPref.putSync(KEY_TEST_STRING_ELEMENT, "test");
225            mPref.putSync(KEY_TEST_INT_ELEMENT, 3);
226            mPref.flushSync();
227            expect('test').assertEqual(mPref.getSync(KEY_TEST_STRING_ELEMENT, "defaultvalue"));
228            expect('defaultvalue').assertEqual(mPref.getSync(KEY_TEST_INT_ELEMENT, "defaultvalue"));
229        })
230
231        /**
232         * @tc.name testPutBoolean012
233         * @tc.number SUB_DistributedData_Preference_SDK_StorageJsApiAsyncTest_0200
234         * @tc.desc put boolean sync interface test
235         * @tc.size MediumTest
236         * @tc.type Function
237         * @tc.level Level 2
238         */
239        it('testPutBoolean012', TestType.FUNCTION | Size.MEDIUMTEST | Level.LEVEL2, function () {
240            mPref.clearSync();
241            mPref.putSync(KEY_TEST_BOOLEAN_ELEMENT, true);
242            expect(true).assertEqual(mPref.getSync(KEY_TEST_BOOLEAN_ELEMENT, false));
243            mPref.flushSync();
244            expect(true).assertEqual(mPref.getSync(KEY_TEST_BOOLEAN_ELEMENT, false));
245        })
246
247        /**
248         * @tc.name testPutFloat013
249         * @tc.number SUB_DistributedData_Preference_SDK_StorageJsApiAsyncTest_0500
250         * @tc.desc put float sync interface test
251         * @tc.size MediumTest
252         * @tc.type Function
253         * @tc.level Level 2
254         */
255        it('testPutFloat013', TestType.FUNCTION | Size.MEDIUMTEST | Level.LEVEL2, function () {
256            mPref.clearSync();
257            mPref.putSync(KEY_TEST_FLOAT_ELEMENT, 4.0);
258            expect(4.0).assertEqual(mPref.getSync(KEY_TEST_FLOAT_ELEMENT, 0.0));
259            mPref.flushSync();
260            expect(4.0).assertEqual(mPref.getSync(KEY_TEST_FLOAT_ELEMENT, 0.0));
261        })
262
263        /**
264         * @tc.name testPutInt014
265         * @tc.number SUB_DistributedData_Preference_SDK_StorageJsApiAsyncTest_0700
266         * @tc.desc put int sync interface test
267         * @tc.size MediumTest
268         * @tc.type Function
269         * @tc.level Level 2
270         */
271        it('testPutInt014', TestType.FUNCTION | Size.MEDIUMTEST | Level.LEVEL2, function () {
272            mPref.clearSync();
273            mPref.putSync(KEY_TEST_INT_ELEMENT, 4);
274            expect(4).assertEqual(mPref.getSync(KEY_TEST_INT_ELEMENT, 0));
275            mPref.flushSync();
276            expect(4).assertEqual(mPref.getSync(KEY_TEST_INT_ELEMENT, 0));
277        })
278
279        /**
280         * @tc.name testPutLong015
281         * @tc.number SUB_DistributedData_Preference_SDK_StorageJsApiAsyncTest_0900
282         * @tc.desc put long sync interface test
283         * @tc.size MediumTest
284         * @tc.type Function
285         * @tc.level Level 2
286         */
287        it('testPutLong015', TestType.FUNCTION | Size.MEDIUMTEST | Level.LEVEL2, function () {
288            mPref.clearSync();
289            mPref.putSync(KEY_TEST_LONG_ELEMENT, 4);
290            expect(4).assertEqual(mPref.getSync(KEY_TEST_LONG_ELEMENT, 0));
291            mPref.flushSync();
292            expect(4).assertEqual(mPref.getSync(KEY_TEST_LONG_ELEMENT, 0));
293        })
294
295        /**
296         * @tc.name testPutString016
297         * @tc.number SUB_DistributedData_Preference_SDK_StorageJsApiAsyncTest_1100
298         * @tc.desc put String sync interface test
299         * @tc.size MediumTest
300         * @tc.type Function
301         * @tc.level Level 2
302         */
303        it('testPutString016', TestType.FUNCTION | Size.MEDIUMTEST | Level.LEVEL2, function () {
304            mPref.clearSync();
305            mPref.putSync(KEY_TEST_STRING_ELEMENT, "abc");
306            mPref.putSync(KEY_TEST_STRING_ELEMENT, '');
307            expect('').assertEqual(mPref.getSync(KEY_TEST_STRING_ELEMENT, "defaultvalue"));
308            mPref.flushSync();
309            expect('').assertEqual(mPref.getSync(KEY_TEST_STRING_ELEMENT, "defaultvalue"));
310        })
311
312        /**
313         * @tc.name testRegisterObserver001
314         * @tc.number SUB_DistributedData_Preference_SDK_StorageJsApiAsyncTest_1200
315         * @tc.desc put interface test
316         * @tc.size MediumTest
317         * @tc.type Function
318         * @tc.level Level 2
319         */
320        it('testRegisterObserver001', TestType.FUNCTION | Size.MEDIUMTEST | Level.LEVEL2, function () {
321            mPref.clearSync();
322            var observer = function (key) {
323                expect('abcd').assertEqual(key);
324            };
325            mPref.on('change', observer);
326            mPref.putSync(KEY_TEST_STRING_ELEMENT, "abcd");
327        })
328
329        /**
330         * @tc.name testRegisterObserver002
331         * @tc.number SUB_DistributedData_Preference_SDK_StorageJsApiAsyncTest_1300
332         * @tc.desc repeat on interface test
333         * @tc.size MediumTest
334         * @tc.type Function
335         * @tc.level Level 2
336         */
337        it('testRegisterObserver002', TestType.FUNCTION | Size.MEDIUMTEST | Level.LEVEL2, function () {
338            mPref.clearSync();
339            var observer = function (key) {
340                console.info('testRegisterObserver001 key' + key);
341                expect('abc').assertEqual(key);
342            };
343            mPref.on('change', observer);
344            mPref.on('change', observer);
345            mPref.putSync(KEY_TEST_STRING_ELEMENT, "abc");
346        })
347
348        /**
349         * @tc.name testUnRegisterObserver001
350         * @tc.number SUB_DistributedData_Preference_SDK_StorageJsApiAsyncTest_1400
351         * @tc.desc off interface test
352         * @tc.size MediumTest
353         * @tc.type Function
354         * @tc.level Level 2
355         */
356        it('testUnRegisterObserver001', TestType.FUNCTION | Size.MEDIUMTEST | Level.LEVEL2, function () {
357            var observer = function (key) {
358                console.info('testUnRegisterObserver001 key' + key);
359                expect('').assertEqual(key);
360            };
361            mPref.on('change', observer);
362            mPref.off('change', observer);
363            mPref.putSync(KEY_TEST_STRING_ELEMENT, "abc");
364        })
365
366        /**
367         * @tc.name testGetDefValue001
368         * @tc.number SUB_DistributedData_Preference_SDK_StorageJsApiCallbackTest_0600
369         * @tc.desc get defaultValue callback interface test
370         * @tc.size MediumTest
371         * @tc.type Function
372         * @tc.level Level 2
373         */
374        it('testGetDefValue001', TestType.FUNCTION | Size.MEDIUMTEST | Level.LEVEL2, async function (done) {
375            await mPref.clear();
376            var ret = mPref.getSync(KEY_TEST_BOOLEAN_ELEMENT, true)
377            expect(ret).assertTrue();
378            done();
379        })
380    })}
381