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