diff --git a/distributeddatamgr/kvStoretest/kvStorejstest/hap/src/main/js/test/DeviceKvStoreCallbackJsunit.test.js b/distributeddatamgr/kvStoretest/kvStorejstest/hap/src/main/js/test/DeviceKvStoreCallbackJsunit.test.js index 66d4db197f479d2a7a1068926dcc113e68cf799a..fca5a86e32cb27a4744aa0d152146a16ec95485f 100644 --- a/distributeddatamgr/kvStoretest/kvStorejstest/hap/src/main/js/test/DeviceKvStoreCallbackJsunit.test.js +++ b/distributeddatamgr/kvStoretest/kvStorejstest/hap/src/main/js/test/DeviceKvStoreCallbackJsunit.test.js @@ -1795,20 +1795,22 @@ describe('deviceKvStoreCallbackTest', function () { * @tc.name [JS-API8]DeviceKvStore.RemoveDeviceData() * @tc.desc Test Js Api DeviceKvStore.RemoveDeviceData testcase 103 */ - it('testDeviceKvStoreRemoveDeviceData103', 0, async function (done) { + it('testDeviceKvStoreRemoveDeviceData103', 0, async function (done) { console.info('testDeviceKvStoreRemoveDeviceData103'); try { await kvStore.removeDeviceData('', function (err,data) { if (err == undefined) { console.info('testDeviceKvStoreRemoveDeviceData103 removeDeviceData success'); - expect(null).assertFail(); + expect(err == undefined).assertTrue(); } else { - console.info('testDeviceKvStoreRemoveDeviceData103 removeDeviceData fail'); + console.info('testDeviceKvStoreRemoveDeviceData103 removeDeviceData fail ' + err); + expect(null).assertFail(); } done(); }); }catch(e) { console.info('testDeviceKvStoreRemoveDeviceData103 e ' + e); + expect(null).assertFail(); done(); } }) diff --git a/distributeddatamgr/kvStoretest/kvStorejstest/hap/src/main/js/test/DeviceKvStorePromiseJsunit.test.js b/distributeddatamgr/kvStoretest/kvStorejstest/hap/src/main/js/test/DeviceKvStorePromiseJsunit.test.js index dccb08d871cd5561a7f2151f09dbc8e8a4af596c..239aa54f7f449d8b3d9c25efdb77913f8adc3e40 100644 --- a/distributeddatamgr/kvStoretest/kvStorejstest/hap/src/main/js/test/DeviceKvStorePromiseJsunit.test.js +++ b/distributeddatamgr/kvStoretest/kvStorejstest/hap/src/main/js/test/DeviceKvStorePromiseJsunit.test.js @@ -1990,11 +1990,11 @@ describe('deviceKvStorePromiseTest', function () { it('testDeviceKvStoreRemoveDeviceData003', 0, async function (done) { console.info('testDeviceKvStoreRemoveDeviceData003'); try { - await kvStore.removeDeviceData('').then((err) => { + await kvStore.removeDeviceData('').then(() => { console.info('testDeviceKvStoreRemoveDeviceData003 removeDeviceData success'); - expect(null).assertFail(); }).catch((err) => { console.info('testDeviceKvStoreRemoveDeviceData003 removeDeviceData fail ' + err); + expect(null).assertFail(); }); }catch(e) { console.info('testDeviceKvStoreRemoveDeviceData003 e ' + e); diff --git a/distributeddatamgr/kvStoretest/kvStorejstest/hap/src/main/js/test/SingleKvStoreCallbackJsunit.test.js b/distributeddatamgr/kvStoretest/kvStorejstest/hap/src/main/js/test/SingleKvStoreCallbackJsunit.test.js index 792701fc1f32562714dc18aaa0578fe5c9082363..b4fe5e1c6012253395a47e6d661bebfd65340c20 100644 --- a/distributeddatamgr/kvStoretest/kvStorejstest/hap/src/main/js/test/SingleKvStoreCallbackJsunit.test.js +++ b/distributeddatamgr/kvStoretest/kvStorejstest/hap/src/main/js/test/SingleKvStoreCallbackJsunit.test.js @@ -1754,20 +1754,22 @@ describe('singleKvStoreCallbackTest', function () { * @tc.name [JS-API8]SingleKvStore.RemoveDeviceData() * @tc.desc Test Js Api SingleKvStore.RemoveDeviceData() testcase 103 */ - it('testSingleKvStoreRemoveDeviceData103', 0, async function (done) { + it('testSingleKvStoreRemoveDeviceData103', 0, async function (done) { console.info('testSingleKvStoreRemoveDeviceData103'); try { await kvStore.removeDeviceData('', function (err,data) { if (err == undefined) { console.info('testSingleKvStoreRemoveDeviceData103 removeDeviceData success'); - expect(null).assertFail(); + expect(err == undefined).assertTrue(); } else { - console.info('testSingleKvStoreRemoveDeviceData103 removeDeviceData fail'); + console.info('testSingleKvStoreRemoveDeviceData103 removeDeviceData fail: ' + err); + expect(null).assertFail(); } done(); }); }catch(e) { console.info('testSingleKvStoreRemoveDeviceData103 e ' + e); + expect(null).assertFail(); done(); } }) diff --git a/distributeddatamgr/kvStoretest/kvStorejstest/hap/src/main/js/test/SingleKvStorePromiseJsunit.test.js b/distributeddatamgr/kvStoretest/kvStorejstest/hap/src/main/js/test/SingleKvStorePromiseJsunit.test.js index 15bcefc7a0b18d1025f84605235e53e981938718..9e4f302e98aea814775be4b3994d978aa1e9a5a4 100644 --- a/distributeddatamgr/kvStoretest/kvStorejstest/hap/src/main/js/test/SingleKvStorePromiseJsunit.test.js +++ b/distributeddatamgr/kvStoretest/kvStorejstest/hap/src/main/js/test/SingleKvStorePromiseJsunit.test.js @@ -1959,11 +1959,11 @@ describe('singleKvStorePromiseTest', function () { it('testSingleKvStoreRemoveDeviceData003', 0, async function (done) { console.info('testSingleKvStoreRemoveDeviceData003'); try { - await kvStore.removeDeviceData('').then((err) => { + await kvStore.removeDeviceData('').then(() => { console.info('testSingleKvStoreRemoveDeviceData003 removeDeviceData success'); - expect(null).assertFail(); }).catch((err) => { console.info('testSingleKvStoreRemoveDeviceData003 removeDeviceData fail ' + err); + expect(null).assertFail(); }); }catch(e) { console.info('testSingleKvStoreRemoveDeviceData003 e ' + e); diff --git a/distributeddatamgr/relationalStorejstest/hap/src/main/js/test/List.test.js b/distributeddatamgr/relationalStorejstest/hap/src/main/js/test/List.test.js index e9fe4f1bbca2b52df40d5df4b82e10952908a8f1..ffdbfd37545f643e5bfb969c464256dfc706a256 100644 --- a/distributeddatamgr/relationalStorejstest/hap/src/main/js/test/List.test.js +++ b/distributeddatamgr/relationalStorejstest/hap/src/main/js/test/List.test.js @@ -26,6 +26,7 @@ import rdbstoreStoreExcuteSqlTest from './RdbstoreStoreExcuteSqlJsunit.test.js' import rdbstoreTransactionTest from './RdbstoreTransactionJsunit.test.js' import rdbStoreUpdateTest from './RdbstoreUpdateJsunit.test.js' import rdbstoreQueryTest from './RdbstoreQuery.test.js' +import rdbStoreEncryptionTest from './RdbstoreEncryptionJsunit.test.js' export default function testsuite() { rdbStoreBackupRestoreCallbackTest() rdbStoreBackupRestoreWithFAContextTest() @@ -41,4 +42,5 @@ rdbstoreStoreExcuteSqlTest() rdbstoreTransactionTest() rdbStoreUpdateTest() rdbstoreQueryTest() +rdbStoreEncryptionTest() } diff --git a/distributeddatamgr/relationalStorejstest/hap/src/main/js/test/RdbstoreEncryptionJsunit.test.js b/distributeddatamgr/relationalStorejstest/hap/src/main/js/test/RdbstoreEncryptionJsunit.test.js new file mode 100644 index 0000000000000000000000000000000000000000..77434e4d9cc60c595094399477bda1b279cc6705 --- /dev/null +++ b/distributeddatamgr/relationalStorejstest/hap/src/main/js/test/RdbstoreEncryptionJsunit.test.js @@ -0,0 +1,200 @@ +/* + * Copyright (C) 2022 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import {describe, beforeAll, beforeEach, afterEach, afterAll, it, expect} from '@ohos/hypium' +import data_rdb from '@ohos.data.rdb' +import ability_featureAbility from '@ohos.ability.featureAbility' + + +const TAG = "[RDB_JSKITS_TEST]" +const CREATE_TABLE_TEST = "CREATE TABLE IF NOT EXISTS test (" + "id INTEGER PRIMARY KEY AUTOINCREMENT, " + + "name TEXT NOT NULL, " + "age INTEGER, " + "salary REAL, " + "blobType BLOB)" + +var rdbStore +var context +const STORE_CONFIG_ENCRYPT = { + name: "Encrypt.db", + encrypt: true, +} +const STORE_CONFIG_UNENCRYPT = { + name: "Unencrypt.db", + encrypt: false, +} +const STORE_CONFIG_WRONG = { + name: "Encrypt.db", + encrypt: false, +} + +export default function rdbStoreEncryptionTest() { +async function CreatRdbStore(context, STORE_CONFIG) { + let rdbStore = await data_rdb.getRdbStore(context, STORE_CONFIG, 1) + await rdbStore.executeSql(CREATE_TABLE_TEST, null) + let u8 = new Uint8Array([1, 2, 3]) + { + const valueBucket = { + "name": "zhangsan", + "age": 18, + "salary": 100.5, + "blobType": u8, + } + await rdbStore.insert("test", valueBucket) + } + { + const valueBucket = { + "name": "lisi", + "age": 28, + "salary": 100.5, + "blobType": u8, + } + await rdbStore.insert("test", valueBucket) + } + { + const valueBucket = { + "name": "wangwu", + "age": 38, + "salary": 90.0, + "blobType": u8, + } + await rdbStore.insert("test", valueBucket) + } + return rdbStore +} + +describe('rdbEncryptTest', function () { + beforeAll(async function () { + console.info(TAG + 'beforeAll') + + }) + + beforeEach(async function () { + console.info(TAG + 'beforeEach') + + }) + + afterEach(async function () { + console.info(TAG + 'afterEach') + await data_rdb.deleteRdbStore(context, STORE_CONFIG_ENCRYPT.name) + await data_rdb.deleteRdbStore(context, STORE_CONFIG_UNENCRYPT.name) + await data_rdb.deleteRdbStore(context, STORE_CONFIG_WRONG.name) + rdbStore = null + }) + + afterAll(async function () { + console.info(TAG + 'afterAll') + }) + + console.log(TAG + "*************Unit Test Begin*************") + + /** + * @tc.name RDB encrypted test + * @tc.number SUB_DDM_RDB_JS_RdbEncryptTest_0010 + * @tc.desc RDB create encrypt db test + */ + it('RdbEncryptTest_0010', 0, async function (done) { + await console.log(TAG + "************* RdbEncryptTest_0010 start *************") + context = ability_featureAbility.getContext() + let storePromise = data_rdb.getRdbStore(context, STORE_CONFIG_ENCRYPT, 1); + storePromise.then(async (store) => { + try { + await console.log(TAG + "getRdbStore done: " + store); + } catch (err) { + expect(null).assertFail(); + } + }).catch((err) => { + expect(null).assertFail(); + }) + await storePromise + storePromise = null + + done() + await console.log(TAG + "************* RdbEncryptTest_0010 end *************") + }) + + /** + * @tc.name RDB unencrypted test + * @tc.number SUB_DDM_RDB_JS_RdbEncryptTest_0020 + * @tc.desc RDB create unencrypted db test + */ + it('RdbEncryptTest_0020', 0, async function (done) { + await console.log(TAG + "************* RdbEncryptTest_0020 start *************") + context = ability_featureAbility.getContext() + let storePromise = data_rdb.getRdbStore(context, STORE_CONFIG_UNENCRYPT, 1); + storePromise.then(async (store) => { + try { + await console.log(TAG + "getRdbStore done: " + store); + } catch (err) { + expect(null).assertFail(); + } + }).catch((err) => { + expect(null).assertFail(); + }) + await storePromise + storePromise = null + + done() + await console.log(TAG + "************* RdbEncryptTest_0020 end *************") + }) + + + /** + * @tc.name RDB Encrypt test + * @tc.number SUB_DDM_RDB_JS_RdbEncryptTest_0030 + * @tc.desc RDB Encrypt function test + */ + it('RdbEncryptTest_0030', 0, async function (done) { + await console.log(TAG + "************* RdbEncryptTest_0030 start *************") + context = ability_featureAbility.getContext() + rdbStore = await CreatRdbStore(context, STORE_CONFIG_ENCRYPT) + let predicates = new data_rdb.RdbPredicates("test") + predicates.equalTo("name", "zhangsan") + let resultSet = await rdbStore.query(predicates) + try { + console.log(TAG + "After restore resultSet query done") + expect(true).assertEqual(resultSet.goToFirstRow()) + const id = resultSet.getLong(resultSet.getColumnIndex("id")) + const name = resultSet.getString(resultSet.getColumnIndex("name")) + const blobType = resultSet.getBlob(resultSet.getColumnIndex("blobType")) + expect(1).assertEqual(id) + expect("zhangsan").assertEqual(name) + expect(1).assertEqual(blobType[0]) + } catch (err) { + expect(false).assertTrue() + } + resultSet = null + rdbStore = null + done() + await console.log(TAG + "************* RdbEncryptTest_0030 end *************") + }) + + /** + * @tc.name RDB Encrypt test + * @tc.number SUB_DDM_RDB_JS_RdbEncryptTest_0040 + * @tc.desc RDB Encrypt function test + */ + it('RdbEncryptTest_0040', 0, async function (done) { + await console.log(TAG + "************* RdbEncryptTest_0040 start *************") + context = ability_featureAbility.getContext() + rdbStore = await CreatRdbStore(context, STORE_CONFIG_ENCRYPT) + rdbStore = null + rdbStore = await CreatRdbStore(context, STORE_CONFIG_WRONG) + expect(rdbStore).assertNull + + done() + await console.log(TAG + "************* RdbEncryptTest_0040 end *************") + }) + console.log(TAG + "*************Unit Test End*************") + } +) + +} \ No newline at end of file