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})