From 98ce1f098acbdc940834913c1c37d887a4795baa Mon Sep 17 00:00:00 2001 From: YOUR_NAME <2864429926@qq.com> Date: Fri, 24 Sep 2021 08:55:01 +0000 Subject: [PATCH] Signed-off-by: YOUR_NAME MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 修改: entry/src/main/js/test/List.test.js 新文件: entry/src/main/js/test/PredicatesAttachJsunit.test.js 新文件: entry/src/main/js/test/PredicatesJoinJsunit.test.js 新文件: entry/src/main/js/test/RdbStoreBackUpJsunit.test.js 新文件: entry/src/main/js/test/RdbStoreCountJsunit.test.js 新文件: entry/src/main/js/test/RdbStoreDeleteJsunit.test.js 新文件: entry/src/main/js/test/RdbStoreInsertJsunit.test.js 新文件: entry/src/main/js/test/RdbStoreQueryJsunit.test.js 新文件: entry/src/main/js/test/RdbStoreReplaceJsunit.test.js 修改: entry/src/main/js/test/rdbstore_insert_unit.test.js 删除: entry/src/main/js/test/rdbstore_replace_unit.test.js 删除: entry/src/main/js/test/rdbstore_update_unit.test.js --- entry/src/main/js/test/List.test.js | 27 +- .../js/test/PredicatesAttachJsunit.test.js | 160 ++++++++++ .../main/js/test/PredicatesJoinJsunit.test.js | 198 ++++++++++++ .../main/js/test/RdbStoreBackUpJsunit.test.js | 274 ++++++++++++++++ .../main/js/test/RdbStoreCountJsunit.test.js | 279 ++++++++++++++++ .../main/js/test/RdbStoreDeleteJsunit.test.js | 248 +++++++++++++++ .../main/js/test/RdbStoreInsertJsunit.test.js | 158 ++++++++++ .../main/js/test/RdbStoreQueryJsunit.test.js | 297 ++++++++++++++++++ .../js/test/RdbStoreReplaceJsunit.test.js | 202 ++++++++++++ .../main/js/test/rdbstore_insert_unit.test.js | 0 .../js/test/rdbstore_replace_unit.test.js | 0 .../main/js/test/rdbstore_update_unit.test.js | 0 12 files changed, 1840 insertions(+), 3 deletions(-) mode change 100644 => 100755 entry/src/main/js/test/List.test.js create mode 100755 entry/src/main/js/test/PredicatesAttachJsunit.test.js create mode 100755 entry/src/main/js/test/PredicatesJoinJsunit.test.js create mode 100755 entry/src/main/js/test/RdbStoreBackUpJsunit.test.js create mode 100755 entry/src/main/js/test/RdbStoreCountJsunit.test.js create mode 100755 entry/src/main/js/test/RdbStoreDeleteJsunit.test.js create mode 100755 entry/src/main/js/test/RdbStoreInsertJsunit.test.js create mode 100755 entry/src/main/js/test/RdbStoreQueryJsunit.test.js create mode 100755 entry/src/main/js/test/RdbStoreReplaceJsunit.test.js mode change 100644 => 100755 entry/src/main/js/test/rdbstore_insert_unit.test.js delete mode 100644 entry/src/main/js/test/rdbstore_replace_unit.test.js delete mode 100644 entry/src/main/js/test/rdbstore_update_unit.test.js diff --git a/entry/src/main/js/test/List.test.js b/entry/src/main/js/test/List.test.js old mode 100644 new mode 100755 index ec5f11a..4f375ba --- a/entry/src/main/js/test/List.test.js +++ b/entry/src/main/js/test/List.test.js @@ -1,3 +1,24 @@ -require('./rdbstore_insert_unit.test.js') -require('./rdbstore_update_unit.test.js') -require('./rdbstore_replace_unit.test.js') \ No newline at end of file +/* +* Copyright (c) 2021 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. +*/ +require('./StorageHelperJsunit.test.js') +require('./StorageSyncJsunit.test.js') +require('./StoragePromiseJsunit.test.js') +require('./StorageCallBackJsunit.test.js') +require('./RdbStoreCountJsunit.test.js') +require('./RdbStoreDeleteJsunit.test.js') +require('./RdbStoreInsertJsunit.test.js') +require('./RdbStoreQueryJsunit.test.js') +require('./RdbStoreReplaceJsunit.test.js') +require('./RdbStoreBackUpJsunit.test.js') \ No newline at end of file diff --git a/entry/src/main/js/test/PredicatesAttachJsunit.test.js b/entry/src/main/js/test/PredicatesAttachJsunit.test.js new file mode 100755 index 0000000..3c0f163 --- /dev/null +++ b/entry/src/main/js/test/PredicatesAttachJsunit.test.js @@ -0,0 +1,160 @@ +/* + * Copyright (C) 2021 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 'deccjsunit/index' +import ohosDataRdb from '@ohos.data.rdb'; + +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)"; +const STORE_CONFIG = { + name: "attachTest.db" +} +var rdbStore = undefined; +describe('RdbStoreAddAttachTest', function () { + beforeAll(async function () { + console.info(TAG + 'beforeAll' + STORE_CONFIG.storageMode) + rdbStore = await ohosDataRdb.getRdbStore(STORE_CONFIG, 1); + await rdbStore.executeSql(CREATE_TABLE_TEST, null); + }) + beforeEach(function () { + console.info(TAG + 'beforeEach') + }) + afterEach(function () { + console.info(TAG + 'afterEach') + }) + afterAll(async function () { + console.info(TAG + 'afterAll') + rdbStore = null + await ohosDataRdb.deleteRdbStore("attachTest.db"); + }) + + /* + * @tc.name RdbStore Attach interface test + * @tc.number SUB_DDM_AppDataFWK_JSRdbStore_0010 + * @tc.desc RdbStore Attach interface test + */ + + it('testRdbStoreAddAttach001', 0, async function (done){ + var u8 = new Uint8Array([1, 2, 3]) + console.log(TAG + "**********testRdbStoreAddAttach001 start*********"); + try { + var u8 = new Uint8Array([1, 2, 3]); + await rdbStore.addAttach("test", "attach.db", u8); + await console.log("attach1 done"); + let predicates = new ohosDataRdb.RdbPredicates("test"); + const valueBucket = { + 'name': 'zhangsan', + 'age': 18, + 'salary': 100.5, + 'blobType': u8, + } + let insertPromise = await rdbStore.insert("test", valueBucket); + await console.log("insert1 done" + insertPromise); + await expect(1).assertEqual(insertPromise); + let count = await rdbStore.count(predicates); + await expect(1).assertEqual(insertPromise); + await console.log("addattach1 close"); + } catch (e) { + await console.log("addattach1 error " + e); + } + done(); + console.log(TAG + "****************testRdbStoreAddAttach001 end****************"); + }) + + /* + * @tc.name RdbStore Attach interface test + * @tc.number SUB_DDM_AppDataFWK_JSRdbStore_0020 + * @tc.desc RdbStore Attach interface test + */ + + it('testRdbStoreAddAttach002', 0, async function (done){ + console.log(TAG + "**********testRdbStoreAddAttach002 start*********"); + try { + var u8 = new Uint8Array([]); + await rdbStore.addAttach("test", "attach.db", u8); + await console.log("addattach2 done"); + let predicates = new ohosDataRdb.RdbPredicates("test"); + const valueBucket = { + 'name': 'zhangsan', + 'age': 18, + 'salary': 100.5, + 'blobType': u8, + } + let insertPromise = await rdbStore.insert("test", valueBucket); + await console.log("insert2 done " + insertPromise); + await expect(2).assertEqual(insertPromise); + let count = await rdbStore.count(predicates); + await expect(2).assertEqual(insertPromise); + await console.log("addattach2 close "); + } catch (e) { + await console.log("addattach2 error " + e); + } + done(); + console.log(TAG + "****************testRdbStoreAddAttach002 end****************"); + }) + + /* + * @tc.name RdbStore Attach interface test + * @tc.number SUB_DDM_AppDataFWK_JSRdbStore_0030 + * @tc.desc RdbStore Attach interface test + */ + + it('testRdbStoreAddAttach003', 0, async function (done){ + console.log(TAG + "**********testRdbStoreAddAttach003 start*********"); + try { + var u8 = new Uint8Array([1, 2, 3]); + await rdbStore.addAttach("test", "attach.db", null); + await console.log("addattach3 done "); + let predicates = new ohosDataRdb.RdbPredicates("test"); + const valueBucket = { + 'name': 'zhangsan', + 'age': 18, + 'salary': 100.5, + 'blobType': u8, + } + let insertPromise = await rdbStore.insert("test", valueBucket); + await console.log("insert3 done " + insertPromise); + await expect(3).assertEqual(insertPromise); + let count = await rdbStore.count(predicates); + await expect(3).assertEqual(insertPromise); + await console.log("addattach3 close "); + } catch (e) { + await console.log("addattach3 error " + e); + } + done(); + console.log(TAG + "****************testRdbStoreAddAttach003 end****************"); + }) + + /* + * @tc.name RdbStore Attach interface test + * @tc.number SUB_DDM_AppDataFWK_JSRdbStore_0040 + * @tc.desc RdbStore Attach interface test + */ + + it('testRdbStoreAddAttach004', 0, async function (done){ + console.log(TAG + "**********testRdbStoreAddAttach004 start*********"); + try { + await rdbStore.addAttach("test", null); + await console.log("addattach4 done"); + await expect(null).assertFail(); + } catch (e) { + await console.log("addattach4 error " + e); + } + done(); + console.log(TAG + "****************testRdbStoreAddAttach004 end****************"); + }) + console.log(TAG + "*************Unit Test End*************"); +}) + + diff --git a/entry/src/main/js/test/PredicatesJoinJsunit.test.js b/entry/src/main/js/test/PredicatesJoinJsunit.test.js new file mode 100755 index 0000000..af1c04d --- /dev/null +++ b/entry/src/main/js/test/PredicatesJoinJsunit.test.js @@ -0,0 +1,198 @@ +/* + * Copyright (C) 2021 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 'deccjsunit/index' +import ohosDataRdb from '@ohos.data.rdb'; + +const TAG = "[RDB_JSKITS_TEST]" +const CREATE_User_TABLE_TEST = "CREATE TABLE IF NOT EXISTS user (" + "id INTEGER PRIMARY KEY AUTOINCREMENT, " + "name TEXT NOT NULL, " + "age INTEGER, " + "salary REAL)"; +const CREATE_Book_TABLE_TEST = "CREATE TABLE IF NOT EXISTS book (" + "id INTEGER PRIMARY KEY AUTOINCREMENT, " + "name TEXT NOT NULL, " + "userId INTEGER)"; +const STORE_CONFIG = { + name: "joinTest.db" +} +var rdbStore = undefined; +describe('rdbStoreJoinTest', function () { + beforeAll(async function () { + console.info(TAG + 'beforeAll' + STORE_CONFIG.storageMode) + rdbStore = await ohosDataRdb.getRdbStore(STORE_CONFIG, 1); + await rdbStore.executeSql(CREATE_User_TABLE_TEST, null); + await rdbStore.executeSql(CREATE_Book_TABLE_TEST, null); + const valueBucket = { + "name": "zhangsan", + "age": 29, + "salary": 100.5, + } + const valueBucket1 = { + "name": "lisi", + "age": 30, + "salary": 200.5, + } + const valueBucket2 = { + "name": "wangwu", + "age": 30, + "salary": 300.5, + } + const valueBucket3 = { + "name": "sunliu", + "age": 30, + "salary": 400.5, + } + const valueBucket4 = { + "name": "maqi", + "age": 30, + "salary": 500.5, + } + let User = [valueBucket, valueBucket1, valueBucket2, valueBucket3, valueBucket4]; + for (var i = 0; i < User.length; i++) { + let object1 = []; + object1.add(User[i].id); + object1.add(User[i].name); + object1.add(User[i].age); + object1.add(User[i].salary); + await rdbStore.executeSql(CREATE_User_TABLE_TEST, object1); + } + const valueBucket5 = { + "name": "sanguo", + "userId": 1, + } + const valueBucket6 = { + "name": "xiyouji", + "userId": 2, + } + const valueBucket7 = { + "name": "shuihuchuan", + "userId": 3, + } + let books = [valueBucket5, valueBucket6, valueBucket7]; + for (var i = 0;i < books.length; i++) { + let object = []; + object.add(books[i].id); + object.add(books[i].name); + object.add(books[i].userId); + await rdbStore.executeSql(CREATE_Book_TABLE_TEST, object); + } + }) + beforeEach(function () { + console.info(TAG + 'beforeEach') + }) + afterEach(function () { + console.info(TAG + 'afterEach') + }) + afterAll(async function () { + console.info(TAG + 'afterAll') + rdbStore = null + await ohosDataRdb.deleteRdbStore("joinTest.db"); + }) + console.log(TAG + "*************Unit Test Begin*************"); + + /* + * @tc.name RdbStore Join interface test + * @tc.number SUB_DDM_AppDataFWK_JSRdbStore_0010 + * @tc.desc RdbStore Join interface test + */ + + it('JoinTest0001', 0, async function (done) { + console.log(TAG + "************* JoinTest0001 start *************"); + let predicates = new ohosDataRdb.RdbPredicates("user"); + predicates.innerJoin("book").on("user.id = book.userId").equalTo("name", "sanguo"); + await console.log("predicates join1 done"); + let resultSet = await rdbStore.query(predicates, ["id", "name", "age", "salary"]); + await console.log("aaaa1") + await expect(false).assertEqual(resultSet.goToFirstRow()); + await expect(false).assertEqual(resultSet.goToNextRow()) + done(); + console.log(TAG + "************* JoinTest0001 end *************"); + }) + + /* + * @tc.name RdbStore Join interface test + * @tc.number SUB_DDM_AppDataFWK_JSRdbStore_0020 + * @tc.desc RdbStore Join interface test + */ + + it('JoinTest0002', 0, async function (done) { + console.log(TAG + "************* JoinTest0002 start *************"); + let predicates = new ohosDataRdb.RdbPredicates("user"); + predicates.crossJoin("book").on("user.userId = book.id"); + await console.log("predicates join2 done"); + let resultSet = await rdbStore.query(predicates, ["id", "name", "age", "salary"]); + await console.log("aaaa3" + resultSet.goToNextRow()); + let count = 0; + if (!resultSet.goToFirstRow()) { + count = 0; + } else { + while (resultSet.goToNextRow()) { + count++ + } + } + await console.log("aaaa4 " + count); + await expect(0).assertEqual(count); + done(); + console.log(TAG + "************* JoinTest0002 end *************"); + }) + + /* + * @tc.name RdbStore Join interface test + * @tc.number SUB_DDM_AppDataFWK_JSRdbStore_0030 + * @tc.desc RdbStore Join interface test + */ + + it('JoinTest0003', 0, async function (done) { + console.log(TAG + "************* JoinTest0003 start *************"); + let predicates = new ohosDataRdb.RdbPredicates("user"); + predicates.leftOuterJoin("book").on("user.userId = book.id"); + await console.log("predicates join3 done"); + let resultSet = await rdbStore.query(predicates, ["id", "name", "age", "salary"]); + await console.log("leftOuterJoin3 resultSet"); + let count = 0; + if (!resultSet.goToFirstRow()) { + count = 0; + } else { + while (resultSet.goToNextRow()) { + count++ + } + } + await expect(0).assertEqual(count); + await console.log("leftOuterJoin33 done" + count); + done(); + console.log(TAG + "************* JoinTest0003 end *************"); + }) + + /* + * @tc.name RdbStore Join interface test + * @tc.number SUB_DDM_AppDataFWK_JSRdbStore_0040 + * @tc.desc RdbStore Join interface test + */ + + it('JoinTest0004', 0, async function (done) { + console.log(TAG + "************* JoinTest0004 start *************"); + let predicates = new ohosDataRdb.RdbPredicates("user"); + predicates.innerJoin("book").using("userId").equalTo("name", "sanguo"); + await console.log("predicates join4 done"); + let resultSet = await rdbStore.query(predicates, ["id", "name", "age", "salary"]); + const id = await resultSet.getLong(await resultSet.getColumnIndex("id")); + const name = await resultSet.getString(await resultSet.getColumnIndex("name")); + const age = await resultSet.getLong(await resultSet.getColumnIndex("age")); + const salary = await resultSet.getDouble(await resultSet.getColumnIndex("salary")); + await console.log(TAG + "id=" + id + ", name=" + name + ", age=" + age + ", salary=" + salary); + await expect(false).assertEqual(resultSet.goToNextRow()) + await console.log(TAG + "resultSet goToNextRow done"); + await console.log("innerJoin4 done" + predicates.joinCount); + await expect(1).assertEqual(predicates.joinCount) + done(); + console.log(TAG + "************* JoinTest0004 end *************"); + }) + console.log(TAG + "*************Unit Test End*************"); +}) \ No newline at end of file diff --git a/entry/src/main/js/test/RdbStoreBackUpJsunit.test.js b/entry/src/main/js/test/RdbStoreBackUpJsunit.test.js new file mode 100755 index 0000000..2f0f984 --- /dev/null +++ b/entry/src/main/js/test/RdbStoreBackUpJsunit.test.js @@ -0,0 +1,274 @@ +/* + * Copyright (C) 2021 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 'deccjsunit/index' +import ohosDataRdb from '@ohos.data.rdb'; + +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)'; +const STORE_CONFIG = { + name: 'BackupTest.db' +} +var rdbStore = undefined; +describe('RdbStoreBackupTest', function () { + beforeAll(async function () { + console.info(TAG + 'beforeAll' + STORE_CONFIG.storageMode); + rdbStore = await ohosDataRdb.getRdbStore(STORE_CONFIG, 1); + await rdbStore.executeSql(CREATE_TABLE_TEST, null); + }) + beforeEach(function () { + console.info(TAG + 'beforeEach') + }) + afterEach(function () { + console.info(TAG + 'afterEach') + }) + afterAll(async function () { + console.info(TAG + 'afterAll') + rdbStore = null + await ohosDataRdb.deleteRdbStore('BackupTest.db'); + }) + + /* + * @tc.name RdbStore BackUp interface test + * @tc.number SUB_DDM_AppDataFWK_JSRdbStore_0010 + * @tc.desc RdbStore BackUp interface test + */ + + it('testRdbStoreBackup001', 0, async function (done){ + console.log(TAG + '**********testRdbStoreBackup001 start*********'); + { + let u8 = new Uint8Array([1, 2, 3]); + let ValuesBucket = { + 'name': 'zhangsan', + 'age': 18, + 'salary': 100.5, + 'blobType': u8, + } + let insertPromise = await rdbStore.insert('test', ValuesBucket); + await console.log('insert done1 ' + insertPromise) + await expect(1).assertEqual(insertPromise); + } + { + let u8 = new Uint8Array([1, 2, 3]); + let ValuesBucket = { + 'name': 'lisi', + 'age': 18, + 'salary': 100.5, + 'blobType': u8, + } + let insertPromise = await rdbStore.insert('test', ValuesBucket); + await console.log('insert done2 ' + insertPromise) + await expect(2).assertEqual(insertPromise); + } + { + let u8 = new Uint8Array([1, 2, 3]); + let ValuesBucket = { + 'name': 'lisi', + 'age': 20, + 'salary': 100.5, + 'blobType': u8, + } + let insertPromise = await rdbStore.insert('test', ValuesBucket); + await console.log('insert done3 ' + insertPromise) + await expect(3).assertEqual(insertPromise); + } + try { + var u8 = new Uint8Array([1, 2, 3]); + let store = await rdbStore.backup('BackupTest.db', u8); + await expect(true).assertEqual(store) + } catch (e) { + await console.log('backUp001 error ' + e); + } + done(); + console.log(TAG + '****************testRdbStoreBackup001 end****************'); + }) + + /* + * @tc.name RdbStore BackUp interface test + * @tc.number SUB_DDM_AppDataFWK_JSRdbStore_0020 + * @tc.desc RdbStore BackUp interface test + */ + + it('testRdbStoreBackup002', 0, async function (done){ + console.log(TAG + '**********testRdbStoreBackup002 start*********'); + { + let u8 = new Uint8Array([1, 2, 3]); + let ValuesBucket = { + 'name': 'zhangsan', + 'age': 18, + 'salary': 100.5, + 'blobType': u8, + } + let insertPromise = await rdbStore.insert('test', ValuesBucket); + await console.log('insert done4' + insertPromise) + await expect(4).assertEqual(insertPromise); + } + { + let u8 = new Uint8Array([1, 2, 3]); + let ValuesBucket = { + 'name': 'lisi', + 'age': 18, + 'salary': 100.5, + 'blobType': u8, + }; + + let insertPromise = await rdbStore.insert('test', ValuesBucket); + await console.log('insert done5' + insertPromise) + await expect(5).assertEqual(insertPromise); + } + { + let u8 = new Uint8Array([1, 2, 3]); + let ValuesBucket = { + 'name': 'lisi', + 'age': 20, + 'salary': 100.5, + 'blobType': u8, + }; + let insertPromise = await rdbStore.insert('test', ValuesBucket); + await console.log('insert done6' + insertPromise) + await expect(6).assertEqual(insertPromise); + } + try { + let u8 = new Uint8Array([1, 2, 3]); + await rdbStore.executeSql('DELETE FROM test WHERE age = ?', ['18']); + let store = await rdbStore.backup('RdbStoreBackupTest', u8); + await console.log('backUp002 done ' + store) + await expect(true).assertEqual(store); + } catch (e) { + await console.log('backUp002 error ' + e); + } + done(); + console.log(TAG + '****************testRdbStoreBackup002 end****************'); + }) + + /* + * @tc.name RdbStore BackUp interface test + * @tc.number SUB_DDM_AppDataFWK_JSRdbStore_0030 + * @tc.desc RdbStore BackUp interface test + */ + + it('testRdbStoreBackup003', 0, async function (done){ + console.log(TAG + '**********testRdbStoreBackup003 start*********'); + { + let u8 = new Uint8Array([1, 2, 3]); + let ValuesBucket = { + 'name': 'zhangsan', + 'age': 18, + 'salary': 100.5, + 'blobType': u8, + } + let insertPromise = await rdbStore.insert('test', ValuesBucket); + await console.log('insert done7' + insertPromise) + await expect(7).assertEqual(insertPromise); + } + { + let u8 = new Uint8Array([1, 2, 3]); + let ValuesBucket = { + 'name': 'lisi', + 'age': 18, + 'salary': 100.5, + 'blobType': u8, + } + let insertPromise = await rdbStore.insert('test', ValuesBucket); + await console.log('insert done8' + insertPromise) + await expect(8).assertEqual(insertPromise); + } + { + let u8 = new Uint8Array([1, 2, 3]); + let ValuesBucket = { + 'name': 'lisi', + 'age': 20, + 'salary': 100.5, + 'blobType': u8, + } + let insertPromise = await rdbStore.insert('test', ValuesBucket); + await console.log('insert done9' + insertPromise) + await expect(9).assertEqual(insertPromise); + } + try { + let store = await rdbStore.backup(''); + await console.log('backUp003 done ' + store); + } catch (e) { + await console.log('backUp003 error ' + e); + await expect(null).assertFail(); + } + try { + let store = await rdbStore.backup('/data/test'); + await console.log('backUp003 done ' + store); + } catch (e) { + await console.log('backUp003 error ' + e); + } + done(); + console.log(TAG + '****************testRdbStoreBackup003 end****************'); + }) + + /* + * @tc.name RdbStore BackUp interface test + * @tc.number SUB_DDM_AppDataFWK_JSRdbStore_0040 + * @tc.desc RdbStore BackUp interface test + */ + + it('testRdbStoreBackup004', 0, async function (done){ + console.log(TAG + '**********testRdbStoreBackup004 start*********'); + { + let u8 = new Uint8Array([1, 2, 3]); + let ValuesBucket = { + 'name': 'zhangsan', + 'age': 18, + 'salary': 100.5, + 'blobType': u8, + } + let insertPromise = await rdbStore.insert('test', ValuesBucket); + await console.log('insert done10 ' + insertPromise) + await expect(10).assertEqual(insertPromise); + } + { + let u8 = new Uint8Array([1, 2, 3]); + let ValuesBucket = { + 'name': 'lisi', + 'age': 18, + 'salary': 100.5, + 'blobType': u8, + } + let insertPromise = await rdbStore.insert('test', ValuesBucket); + await console.log('insert done11 ' + insertPromise) + await expect(11).assertEqual(insertPromise); + } + { + let u8 = new Uint8Array([1, 2, 3]); + let ValuesBucket = { + 'name': 'lisi', + 'age': 20, + 'salary': 100.5, + 'blobType': u8, + } + let insertPromise = await rdbStore.insert('test', ValuesBucket); + await console.log('insert done12 ' + insertPromise) + await expect(12).assertEqual(insertPromise); + } + await rdbStore.beginTransaction(); + try { + let store = await rdbStore.backup('backUp004.db'); + await console.log('backUp004 done ' + store); + await expect(null).assertFail(); + } catch (e) { + await console.log('backUp004 error ' + e); + } + await rdbStore.endTransaction(); + done(); + console.log(TAG + '****************testRdbStoreBackup004 end****************'); + }) + console.log(TAG + '*************Unit Test End*************'); +}) \ No newline at end of file diff --git a/entry/src/main/js/test/RdbStoreCountJsunit.test.js b/entry/src/main/js/test/RdbStoreCountJsunit.test.js new file mode 100755 index 0000000..ad82ca1 --- /dev/null +++ b/entry/src/main/js/test/RdbStoreCountJsunit.test.js @@ -0,0 +1,279 @@ +/* + * Copyright (C) 2021 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 'deccjsunit/index' +import ohosDataRdb from '@ohos.data.rdb'; + +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)'; +const STORE_CONFIG = { + name: 'countTest.db' +} +var rdbStore = undefined; +describe('rdbStoreInsertTest', function () { + beforeAll(async function () { + console.info(TAG + 'beforeAll' + STORE_CONFIG.storageMode) + rdbStore = await ohosDataRdb.getRdbStore(STORE_CONFIG, 1); + await rdbStore.executeSql(CREATE_TABLE_TEST, null); + }) + beforeEach(function () { + console.info(TAG + 'beforeEach') + }) + afterEach(function () { + console.info(TAG + 'afterEach') + }) + afterAll(async function () { + console.info(TAG + 'afterAll') + rdbStore = null + await ohosDataRdb.deleteRdbStore('countTest.db'); + }) + console.log(TAG + '*************Unit Test Begin*************'); + + /* + * @tc.name RdbStore Count interface test + * @tc.number SUB_DDM_AppDataFWK_JSRdbStore_0010 + * @tc.desc RdbStore Count interface test + */ + + it('countTest001', 0, async function (done){ + var u8 = new Uint8Array([3, 4, 5]); + console.log(TAG + '************* countTest001 start *************'); + { + const valueBucket = { + 'name': 'zhangsan', + 'age': 18, + 'salary': 100.5, + 'blobType': u8, + } + let insertPromise = await rdbStore.insert('test', valueBucket); + await console.log(TAG + 'insert first done: ' + insertPromise); + await expect(1).assertEqual(insertPromise); + } + { + const valueBucket = { + 'name': 'lisi', + 'age': 18, + 'salary': 100.5, + 'blobType': u8, + } + let insertPromise = await rdbStore.insert('test', valueBucket) + await console.log(TAG + 'insert second done: ' + insertPromise); + await expect(2).assertEqual(insertPromise); + } + { + const valueBucket = { + 'name': 'lisi', + 'age': 20, + 'salary': 100.5, + 'blobType': u8, + } + let insertPromise = await rdbStore.insert('test', valueBucket) + await console.log(TAG + 'insert third done: ' + insertPromise); + await expect(3).assertEqual(insertPromise); + } + { + let predicates = new ohosDataRdb.RdbPredicates('test'); + predicates.equalTo('name', 'lisi') + let resultSet = await rdbStore.query(predicates, ['id', 'name', 'age', 'salary', 'blobType']); + try { + await expect(true).assertEqual(resultSet.goToFirstRow()) + let number = await rdbStore.count(predicates); + await console.log(TAG + 'rdbStore count011 done: ' + number); + await expect(2).assertEqual(number); + } catch (e) { + await console.log(TAG + 'rdbStore count011 error: ' + e); + } + } + { + let predicates = new ohosDataRdb.RdbPredicates('test'); + predicates.equalTo('age', 20) + let resultSet = await rdbStore.query(predicates, ['id', 'name', 'age', 'salary', 'blobType']); + try { + await expect(true).assertEqual(resultSet.goToFirstRow()) + let number = await rdbStore.count(predicates); + await console.log(TAG + 'resultSet count13 done: ' + number); + await expect(1).assertEqual(number); + } catch (e) { + await console.log(TAG + 'resultSet count13 error: ' + e); + } + } + { + let predicates = new ohosDataRdb.RdbPredicates('test'); + predicates.equalTo('salary', '100.5') + let resultSet = await rdbStore.query(predicates, ['id', 'name', 'age', 'salary', 'blobType']); + try { + await expect(true).assertEqual(resultSet.goToFirstRow()) + let number = await rdbStore.count(predicates); + await console.log(TAG + 'resultSet count12 done: ' + number); + await expect(3).assertEqual(number); + } catch (e) { + await console.log(TAG + 'resultSet count12 error: ' + e); + } + } + { + let predicates = new ohosDataRdb.RdbPredicates('test'); + let resultSet = await rdbStore.query(predicates, ['id', 'name', 'age', 'salary', 'blobType']); + try { + await expect(true).assertEqual(resultSet.goToFirstRow()) + let number = await rdbStore.count(predicates); + await console.log(TAG + 'resultSet count13 done: ' + number); + await expect(3).assertEqual(number); + } catch (e) { + await console.log(TAG + 'resultSet count13 error: ' + e); + } + } + done(); + console.log(TAG + '************* countTest001 end *************'); + }) + + /* + * @tc.name RdbStore Count interface test + * @tc.number SUB_DDM_AppDataFWK_JSRdbStore_0020 + * @tc.desc RdbStore Count interface test + */ + + it('countTest002', 0, async function (done) { + var u8 = new Uint8Array([3, 4, 5]) + console.log(TAG + '************* countTest002 start *************'); + let predicates = new ohosDataRdb.RdbPredicates('test'); + let resultSet = await rdbStore.query(predicates, ['id', 'name', 'age', 'salary', 'blobType']); + try { + await expect(true).assertEqual(resultSet.goToFirstRow()) + let number = await rdbStore.count('bazhahei'); + await console.log(TAG + 'resultSet count2 done: ' + number); + await expect(null).assertFail(); + } catch (e) { + await console.log(TAG + 'resultSet count2 error: ' + e); + } + done(); + console.log(TAG + '************* countTest002 end *************'); + }) + + /* + * @tc.name RdbStore Count interface test + * @tc.number SUB_DDM_AppDataFWK_JSRdbStore_0030 + * @tc.desc RdbStore Count interface test + */ + + it('countTest003', 0, async function (done) { + var u8 = new Uint8Array([3, 4, 5]) + console.log(TAG + '************* countTest003 start *************'); + { + const valueBucket = { + 'name': 'zhangsan', + 'age': 18, + 'salary': 100.5, + 'blobType': u8, + } + let insertPromise = await rdbStore.insert('test', valueBucket); + await expect(4).assertEqual(insertPromise); + await console.log(TAG + 'insert first done: ' + insertPromise); + } + { + const valueBucket = { + 'name': 'lisi', + 'age': 18, + 'salary': 100.5, + 'blobType': u8, + } + let insertPromise = await rdbStore.insert('test', valueBucket) + await expect(5).assertEqual(insertPromise); + await console.log(TAG + 'insert second done: ' + insertPromise); + } + { + const valueBucket = { + 'name': 'lisi', + 'age': 20, + 'salary': 100.5, + 'blobType': u8, + } + let insertPromise = await rdbStore.insert('test', valueBucket) + await expect(6).assertEqual(insertPromise); + await console.log(TAG + 'insert third done: ' + insertPromise); + } + let predicates = new ohosDataRdb.RdbPredicates('test'); + predicates.equalTo('name', 'lisi').equalTo('age', 18) + let resultSet = await rdbStore.query(predicates, ['id', 'name', 'age', 'salary', 'blobType']); + try { + await expect(true).assertEqual(resultSet.goToFirstRow()) + let number = await rdbStore.count(predicates); + await console.log(TAG + 'resultSet count3 done: ' + number); + await expect(2).assertEqual(number); + } catch (e) { + await console.log('resultSet count3 error: ' + e); + } + done(); + console.log(TAG + '************* countTest003 end *************'); + }) + + /* + * @tc.name RdbStore Count interface test + * @tc.number SUB_DDM_AppDataFWK_JSRdbStore_0040 + * @tc.desc RdbStore Count interface test + */ + + it('countTest004', 0, async function (done) { + var u8 = new Uint8Array([3, 4, 5]) + console.log(TAG + '************* countTest004 start *************'); + { + const valueBucket = { + 'name': 'zhangsan', + 'age': 18, + 'salary': 100.5, + 'blobType': u8, + } + let insertPromise = await rdbStore.insert('test', valueBucket); + await expect(7).assertEqual(insertPromise); + await console.log(TAG + 'insert first done: ' + insertPromise); + } + { + const valueBucket = { + 'name': 'lisi', + 'age': 18, + 'salary': 100.5, + 'blobType': u8, + } + let insertPromise = await rdbStore.insert('test', valueBucket) + await expect(8).assertEqual(insertPromise); + await console.log(TAG + 'insert second done: ' + insertPromise); + } + { + const valueBucket = { + 'name': 'lisi', + 'age': 20, + 'salary': 100.5, + 'blobType': u8, + } + let insertPromise = await rdbStore.insert('test', valueBucket) + await expect(9).assertEqual(insertPromise); + await console.log(TAG + 'insert third done: ' + insertPromise); + } + let predicates = new ohosDataRdb.RdbPredicates('test'); + predicates.equalTo('age', '18') + let resultSet = await rdbStore.query(predicates, ['id', 'name', 'age', 'salary', 'blobType']); + try { + await expect(true).assertEqual(resultSet.goToFirstRow()) + let number = await rdbStore.count(predicates); + await console.log(TAG + 'resultSet count4 done: ' + number); + await expect(6).assertEqual(number); + } catch (e) { + await console.log(TAG + 'resultSet count4 error: ' + e); + } + done(); + console.log(TAG + '************* countTest004 end *************'); + }) + console.log(TAG + '*************Unit Test End*************'); +}) \ No newline at end of file diff --git a/entry/src/main/js/test/RdbStoreDeleteJsunit.test.js b/entry/src/main/js/test/RdbStoreDeleteJsunit.test.js new file mode 100755 index 0000000..bca719c --- /dev/null +++ b/entry/src/main/js/test/RdbStoreDeleteJsunit.test.js @@ -0,0 +1,248 @@ +/* + * Copyright (C) 2021 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 'deccjsunit/index' +import ohosDataRdb from '@ohos.data.rdb'; + +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)'; +const STORE_CONFIG = { + name: 'delete.db' +} +var rdbStore = undefined; +describe('rdbStoreDeleteTest', function () { + beforeAll(async function () { + console.info(TAG + 'beforeAll' + STORE_CONFIG.storageMode) + rdbStore = await ohosDataRdb.getRdbStore(STORE_CONFIG, 1); + await rdbStore.executeSql(CREATE_TABLE_TEST, null); + }) + beforeEach(function () { + console.info(TAG + 'beforeEach') + }) + afterEach(function () { + console.info(TAG + 'afterEach') + }) + afterAll(async function () { + console.info(TAG + 'afterAll') + rdbStore = null + await ohosDataRdb.deleteRdbStore('delete.db'); + }) + console.log(TAG + '*************Unit Test Begin*************'); + + /* + * @tc.name RdbStore Delete interface test + * @tc.number SUB_DDM_AppDataFWK_JSRdbStore_0010 + * @tc.desc RdbStore Delete interface test + */ + + it('testRdbStoreDelete0001', 0, async function (done) { + console.log(TAG + '************* testRdbStoreDelete0001 start *************'); + var u8 = new Uint8Array([3, 4, 5]) + { + const valueBucket = { + 'name': 'zhangsan', + 'age': 18, + 'salary': 100.5, + 'blobType': u8, + } + let insertPromise = await rdbStore.insert('test', valueBucket) + await expect(1).assertEqual(insertPromise); + await console.log(TAG + 'insert first done: ' + insertPromise); + } + { + const valueBucket = { + 'name': 'lisi', + 'age': 18, + 'salary': 100.5, + 'blobType': u8, + } + let insertPromise = await rdbStore.insert('test', valueBucket) + await expect(2).assertEqual(insertPromise); + await console.log(TAG + 'insert second done: ' + insertPromise); + } + { + const valueBucket = { + 'name': 'lisi', + 'age': 20, + 'salary': 100.5, + 'blobType': u8, + } + let insertPromise = await rdbStore.insert('test', valueBucket) + await expect(3).assertEqual(insertPromise); + await console.log(TAG + 'insert third done: ' + insertPromise); + } + let predicates = new ohosDataRdb.RdbPredicates('test'); + let resultSet = await rdbStore.query(predicates, ['id', 'name', 'age', 'salary', 'blobType']); + try { + let count = await rdbStore.delete(predicates); + await expect(3).assertEqual(count); + let result = await rdbStore.querySql('SELECT * FROM test', null); + await expect(false).assertEqual(resultSet.goToFirstRow()); + await console.log('delete1 done ' + count); + } catch (e) { + await console.log('delete1 error ' + e); + } + done() + console.log(TAG + '************* testRdbStoreDelete0001 end *************'); + }) + + /* + * @tc.name RdbStore Delete interface test + * @tc.number SUB_DDM_AppDataFWK_JSRdbStore_0020 + * @tc.desc RdbStore Delete interface test + */ + + it('testRdbStoreDelete0002', 0, async function (done) { + console.log(TAG + '************* testRdbStoreDelete0002 start *************'); + var u8 = new Uint8Array([3, 4, 5]) + { + const valueBucket = { + 'name': 'zhangsan', + 'age': 18, + 'salary': 100.5, + 'blobType': u8, + } + let insertPromise = await rdbStore.insert('test', valueBucket) + await expect(4).assertEqual(insertPromise); + await console.log(TAG + 'insert first done: ' + insertPromise); + } + { + const valueBucket = { + 'name': 'lisi', + 'age': 18, + 'salary': 100.5, + 'blobType': u8, + } + let insertPromise = await rdbStore.insert('test', valueBucket) + await expect(5).assertEqual(insertPromise); + await console.log(TAG + 'insert second done: ' + insertPromise); + } + let predicates = new ohosDataRdb.RdbPredicates('test'); + let resultSet = await rdbStore.query(predicates, ['id', 'name', 'age', 'salary', 'blobType']); + predicates.equalTo('id', '1') + try { + let count = await rdbStore.delete(predicates); + await expect(0).assertEqual(count); + await console.log('delete2 done ' + count); + let result = await rdbStore.querySql('SELECT * FROM test', ['id', '1']); + await expect(true).assertEqual(resultSet.goToFirstRow()); + } catch (e) { + await console.log('delete2 error ' + e); + } + done(); + console.log(TAG + '************* testRdbStoreDelete0002 end *************'); + }) + + /* + * @tc.name RdbStore Delete interface test + * @tc.number SUB_DDM_AppDataFWK_JSRdbStore_0030 + * @tc.desc RdbStore Delete interface test + */ + + it('testRdbStoreDelete0003', 0, async function (done) { + console.log(TAG + '************* testRdbStoreDelete0003 start *************'); + var u8 = new Uint8Array([3, 4, 5]) + { + const valueBucket = { + 'name': 'zhangsan', + 'age': 18, + 'salary': 100.5, + 'blobType': u8, + } + let insertPromise = await rdbStore.insert('test', valueBucket) + await expect(6).assertEqual(insertPromise); + await console.log(TAG + 'insert first done: ' + insertPromise); + } + { + const valueBucket = { + 'name': 'lisi', + 'age': 18, + 'salary': 100.5, + 'blobType': u8, + } + let insertPromise = await rdbStore.insert('test', valueBucket) + await expect(7).assertEqual(insertPromise); + await console.log(TAG + 'insert second done: ' + insertPromise); + } + let predicates = new ohosDataRdb.RdbPredicates('test1'); + predicates.equalTo('id', '1'); + try { + let count = await rdbStore.delete(predicates); + await console.log('delete3 done ' + count); + await expect(null).assertFail(); + } catch (e) { + await console.log('delete3 error ' + e); + } + done(); + console.log(TAG + '************* testRdbStoreDelete0003 end *************'); + }) + + /* + * @tc.name RdbStore Delete interface test + * @tc.number SUB_DDM_AppDataFWK_JSRdbStore_0040 + * @tc.desc RdbStore Delete interface test + */ + + it('testRdbStoreDelete0004', 0, async function (done) { + console.log(TAG + '************* testRdbStoreDelete0004 start *************'); + var u8 = new Uint8Array([3, 4, 5]) + { + const valueBucket = { + 'name': 'zhangsan', + 'age': 18, + 'salary': 100.5, + 'blobType': u8, + } + let insertPromise = await rdbStore.insert('test', valueBucket) + await expect(10).assertEqual(insertPromise); + await console.log(TAG + 'insert first done: ' + insertPromise); + } + { + const valueBucket = { + 'name': 'lisi', + 'age': 18, + 'salary': 100.5, + 'blobType': u8, + } + let insertPromise = await rdbStore.insert('test', valueBucket) + await expect(11).assertEqual(insertPromise); + await console.log(TAG + 'insert second done: ' + insertPromise); + } + { + const valueBucket = { + 'name': 'lisi', + 'age': 20, + 'salary': 100.5, + 'blobType': u8, + } + let insertPromise = await rdbStore.insert('test', valueBucket) + await expect(12).assertEqual(insertPromise); + await console.log(TAG + 'insert third done: ' + insertPromise); + } + let predicates = new ohosDataRdb.RdbPredicates('test1'); + predicates.equalTo('aaaid', '1'); + try { + let count = await rdbStore.delete(predicates); + await console.log('delete4 done ' + count); + await expect(null).assertFail(); + } catch (e) { + await console.log('delete4 error ' + e); + } + done(); + console.log(TAG + '************* testRdbStoreDelete0004 end *************'); + }) + console.log(TAG + '*************Unit Test End*************'); +}) \ No newline at end of file diff --git a/entry/src/main/js/test/RdbStoreInsertJsunit.test.js b/entry/src/main/js/test/RdbStoreInsertJsunit.test.js new file mode 100755 index 0000000..919e267 --- /dev/null +++ b/entry/src/main/js/test/RdbStoreInsertJsunit.test.js @@ -0,0 +1,158 @@ +/* + * Copyright (C) 2021 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 'deccjsunit/index' +import ohosDataRdb from '@ohos.data.rdb'; + +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)'; +const STORE_CONFIG = { + name: 'insert.db', +} +var rdbStore = undefined; +describe('rdbStoreInsertTest', function () { + beforeAll(async function () { + console.info(TAG + 'beforeAll' + STORE_CONFIG.storageMode) + rdbStore = await ohosDataRdb.getRdbStore(STORE_CONFIG, 1); + await rdbStore.executeSql(CREATE_TABLE_TEST, null); + }) + beforeEach(function () { + console.info(TAG + 'beforeEach') + }) + afterEach(function () { + console.info(TAG + 'afterEach') + }) + afterAll(async function () { + console.info(TAG + 'afterAll') + rdbStore = null + await ohosDataRdb.deleteRdbStore('insert.db'); + }) + + /* + * @tc.name RdbStore Insert interface test + * @tc.number SUB_DDM_AppDataFWK_JSRdbStore_0010 + * @tc.desc RdbStore Insert interface test + */ + + it('testRdbStoreInsert0001', 0, async function (done) { + console.log(TAG + '************* testRdbStoreInsert0001 start *************'); + var u8 = new Uint8Array([3, 4, 5]) + { + const valueBucket = { + 'name': 'zhangsan', + 'age': 18, + 'salary': 100.5, + 'blobType': u8, + } + let insertPromise = await rdbStore.insert('test', valueBucket) + await expect(1).assertEqual(insertPromise); + await console.log(TAG + 'insert first done: ' + insertPromise); + } + let resultSet = await rdbStore.querySql('SELECT * FROM test WHERE name=?', ['zhangsan']); + let predicates = new ohosDataRdb.RdbPredicates('test'); + try { + await console.log(TAG + 'resultSet query done'); + await expect(true).assertEqual(resultSet.goToFirstRow()) + const id = await resultSet.getLong(await resultSet.getColumnIndex('id')) + const name = await resultSet.getString(await resultSet.getColumnIndex('name')) + const age = await resultSet.getLong(await resultSet.getColumnIndex('age')) + const salary = await resultSet.getDouble(await resultSet.getColumnIndex('salary')) + const blobType = await resultSet.getBlob(await resultSet.getColumnIndex('blobType')) + console.log(TAG + '{id=' + id + ', name=' + name + ', age=' + age + ', salary=' + + salary + ', blobType=' + blobType); + expect(1).assertEqual(id); + expect('zhangsan').assertEqual(name); + expect(18).assertEqual(age); + expect(100.5).assertEqual(salary); + expect(4).assertEqual(blobType[1]); + expect(false).assertEqual(resultSet.goToNextRow()) + console.log(TAG + 'resultSet goToNextRow done'); + expect(5).assertEqual(resultSet.columnCount) + console.log('resultSet columnCount done'); + let columnnames = resultSet.columnNames + console.log('columnnames' + columnnames); + } catch (e) { + await console.log('insert1 error ' + e); + } + done() + console.log(TAG + '************* testRdbStoreDelete0001 end *************'); + }) + + /* + * @tc.name RdbStore Insert interface test + * @tc.number SUB_DDM_AppDataFWK_JSRdbStore_0020 + * @tc.desc RdbStore Insert interface test + */ + + it('testRdbStoreInsert0002', 0, async function (done) { + console.log(TAG + '************* testRdbStoreInsert0002 start *************'); + try { + let insertPromise = await rdbStore.insert('test', null) + await console.log(TAG + 'insert first done: ' + insertPromise); + await expect(null).assertFail(); + } catch (e) { + await console.log('insert2 error ' + e); + } + done() + console.log(TAG + '************* testRdbStoreInsert0002 end *************'); + }) + + /* + * @tc.name RdbStore Insert interface test + * @tc.number SUB_DDM_AppDataFWK_JSRdbStore_0030 + * @tc.desc RdbStore Insert interface test + */ + + it('testRdbStoreInsert0003', 0, async function (done) { + console.log(TAG + '************* testRdbStoreInsert0003 start *************'); + try { + const valueBucket = { + 'name': 'zhangsan', + 'age': 18, + 'salary': 100.5, + } + let insertPromise = await rdbStore.insert(null, valueBucket) + await expect(null).assertFail(); + } catch (e) { + await console.log('delete1 error ' + e); + } + done() + console.log(TAG + '************* testRdbStoreDelete0003 end *************'); + }) + + /* + * @tc.name RdbStore Insert interface test + * @tc.number SUB_DDM_AppDataFWK_JSRdbStore_0040 + * @tc.desc RdbStore Insert interface test + */ + + it('testRdbStoreInsert0004', 0, async function (done) { + console.log(TAG + '************* testRdbStoreInsert0004 start *************'); + try { + const valueBucket = { + 'name': 'zhangsan', + 'age': 18, + 'salary': 100.5, + } + let insertPromise = await rdbStore.insert('tests', valueBucket) + await expect(null).assertFail(); + } catch (e) { + await console.log('delete1 error ' + e); + } + done() + console.log(TAG + '************* testRdbStoreDelete0004 end *************'); + }) +}) \ No newline at end of file diff --git a/entry/src/main/js/test/RdbStoreQueryJsunit.test.js b/entry/src/main/js/test/RdbStoreQueryJsunit.test.js new file mode 100755 index 0000000..d641e71 --- /dev/null +++ b/entry/src/main/js/test/RdbStoreQueryJsunit.test.js @@ -0,0 +1,297 @@ +/* + * Copyright (C) 2021 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 'deccjsunit/index' +import ohosDataRdb from '@ohos.data.rdb'; + +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)'; +const STORE_CONFIG = { + name: 'QueryTest.db' +} +var rdbStore = undefined; +describe('RdbStoreQueryTest', function () { + beforeAll(async function () { + console.info(TAG + 'beforeAll' + STORE_CONFIG.storageMode) + rdbStore = await ohosDataRdb.getRdbStore(STORE_CONFIG, 1); + await rdbStore.executeSql(CREATE_TABLE_TEST, null); + }) + beforeEach(function () { + console.info(TAG + 'beforeEach') + }) + afterEach(function () { + console.info(TAG + 'afterEach') + }) + afterAll(async function () { + console.info(TAG + 'afterAll') + rdbStore = null + await ohosDataRdb.deleteRdbStore('QueryTest.db'); + }) + + /* + * @tc.name RdbStore Query interface test + * @tc.number SUB_DDM_AppDataFWK_JSRdbStore_0010 + * @tc.desc RdbStore Query interface test + */ + + it('testRdbStoreQuery001', 0, async function (done){ + console.log(TAG + '**********testRdbStoreQuery001 start*********'); + { + var u8 = new Uint8Array([1, 2, 3]); + let ValuesBucket = { + 'name': 'zhangsan', + 'age': 18, + 'salary': 100.5, + 'blobType': u8, + } + let insertPromise = await rdbStore.insert('test', ValuesBucket); + await expect(1).assertEqual(insertPromise); + } + { + var u8 = new Uint8Array([1, 2, 3]); + let ValuesBucket = { + 'name': 'lisi', + 'age': 18, + 'salary': 100.5, + 'blobType': u8, + } + let insertPromise = await rdbStore.insert('test', ValuesBucket); + await expect(2).assertEqual(insertPromise); + } + { + var u8 = new Uint8Array([1, 2, 3]); + let ValuesBucket = { + 'name': 'lisi', + 'age': 20, + 'salary': 100.5, + 'blobType': u8, + } + let insertPromise = await rdbStore.insert('test', ValuesBucket); + console.log('insert done ' + insertPromise); + await expect(3).assertEqual(insertPromise); + } + let predicates = new ohosDataRdb.RdbPredicates('test') + predicates.equalTo('name', 'zhangsan') + try { + let resultSet = await rdbStore.query(predicates, ['id', 'name', 'age', 'salary', 'blobType']) + await console.log(TAG + 'resultSet query1 done'); + await expect(true).assertEqual(resultSet.goToFirstRow()) + const id = await resultSet.getLong(await resultSet.getColumnIndex('id')) + const name = await resultSet.getString(await resultSet.getColumnIndex('name')) + const age = await resultSet.getLong(await resultSet.getColumnIndex('age')) + const salary = await resultSet.getDouble(await resultSet.getColumnIndex('salary')) + const blobType = await resultSet.getBlob(await resultSet.getColumnIndex('blobType')) + await console.log(TAG + '{id=' + id + ', name=' + name + ', age=' + age + ', salary=' + + salary + ', blobType=' + blobType); + await expect(1).assertEqual(id); + await expect('zhangsan').assertEqual(name); + await expect(18).assertEqual(age); + await expect(100.5).assertEqual(salary); + await expect(2).assertEqual(blobType[1]); + await expect(false).assertEqual(resultSet.goToNextRow()); + await console.log(TAG + 'resultSet goToNextRow done'); + await console.log('resultSet columnCount001 done'); + const columnCount = resultSet.columnCount; + await console.log('resultSet columnCount001' + columnCount); + await expect(5).assertEqual(resultSet.columnCount); + let pathstr = rdbStore.path; + await console.log('pathstr= ' + pathstr); + let isMemory = rdbStore.isMemoryRdb; + await expect(false).assertEqual(isMemory); + resultSet = null + } catch (e) { + await console.log('query error1 ' + e); + } + done(); + console.log(TAG + '****************testRdbStoreQuery001 end****************'); + }) + + /* + * @tc.name RdbStore Query interface test + * @tc.number SUB_DDM_AppDataFWK_JSRdbStore_0020 + * @tc.desc RdbStore Query interface test + */ + + it('testRdbStoreQuery002', 0, async function (done){ + console.log(TAG + '**********testRdbStoreQuery002 start*********'); + { + var u8 = new Uint8Array([1, 2, 3]); + let ValuesBucket = { + 'name': 'zhangsan', + 'age': 18, + 'salary': 100.5, + 'blobType': u8, + } + let insertPromise = await rdbStore.insert('test', ValuesBucket); + await expect(4).assertEqual(insertPromise); + } + { + var u8 = new Uint8Array([1, 2, 3]); + let ValuesBucket = { + 'name': 'lisi', + 'age': 18, + 'salary': 100.5, + 'blobType': u8, + } + let insertPromise = await rdbStore.insert('test', ValuesBucket); + await expect(5).assertEqual(insertPromise); + } + { + var u8 = new Uint8Array([1, 2, 3]); + let ValuesBucket = { + 'name': 'lisi', + 'age': 20, + 'salary': 100.5, + 'blobType': u8, + } + let insertPromise = await rdbStore.insert('test', ValuesBucket); + console.log('insert done ' + insertPromise); + await expect(6).assertEqual(insertPromise); + } + let predicates = new ohosDataRdb.RdbPredicates('test'); + predicates.equalTo('name', 'lisi'); + try { + let pathstr = rdbStore.path; + await console.log('pathstr= ' + pathstr); + let isMemory = rdbStore.isMemoryRdb; + await expect(false).assertEqual(isMemory); + let resultSet = await rdbStore.query(predicates) + await console.log(TAG + 'result query2 done'); + await expect(true).assertEqual(resultSet.goToFirstRow()) + await expect(true).assertEqual(resultSet.goToNextRow()); + await console.log(TAG + 'result2 goToNextRow done'); + await console.log('result columnCount002 done'); + const columnCount = resultSet.columnCount; + await console.log('resultSet columnCount002' + columnCount); + await expect(5).assertEqual(resultSet.columnCount) + resultSet = null + } catch (e) { + await console.log('query2 error ' + e); + } + done(); + console.log(TAG + '****************testRdbStoreQuery002 end****************'); + }) + + /* + * @tc.name RdbStore Query interface test + * @tc.number SUB_DDM_AppDataFWK_JSRdbStore_0030 + * @tc.desc RdbStore Query interface test + */ + + it('testRdbStoreQuery003', 0, async function (done){ + console.log(TAG + '**********testRdbStoreQuery003 start*********'); + { + var u8 = new Uint8Array([1, 2, 3]); + let ValuesBucket = { + 'name': 'zhangsan', + 'age': 18, + 'salary': 100.5, + 'blobType': u8, + } + let insertPromise = await rdbStore.insert('test', ValuesBucket); + await expect(7).assertEqual(insertPromise); + } + { + var u8 = new Uint8Array([1, 2, 3]); + let ValuesBucket = { + 'name': 'lisi', + 'age': 18, + 'salary': 100.5, + 'blobType': u8, + } + let insertPromise = await rdbStore.insert('test', ValuesBucket); + await expect(8).assertEqual(insertPromise); + } + { + var u8 = new Uint8Array([1, 2, 3]); + let ValuesBucket = { + 'name': 'lisi', + 'age': 20, + 'salary': 100.5, + 'blobType': u8, + } + let insertPromise = await rdbStore.insert('test', ValuesBucket); + console.log('insert done ' + insertPromise); + await expect(9).assertEqual(insertPromise); + } + let predicates = new ohosDataRdb.RdbPredicates('test'); + predicates.equalTo('name', 'lisi'); + let resultSet = await rdbStore.query(predicates, ['id', 'names']) + await console.log(TAG + 'resultSet query3 done' + resultSet); + await expect(resultSet).assertInstanceOf('Object'); + let pathstr = rdbStore.path; + await console.log('pathstr= ' + pathstr); + let isMemory = rdbStore.isMemoryRdb; + await expect(false).assertEqual(isMemory); + done(); + console.log(TAG + '****************testRdbStoreQuery003 end****************'); + }) + + /* + * @tc.name RdbStore Query interface test + * @tc.number SUB_DDM_AppDataFWK_JSRdbStore_0040 + * @tc.desc RdbStore Query interface test + */ + + it('testRdbStoreQuery004', 0, async function (done){ + console.log(TAG + '**********testRdbStoreQuery004 start*********'); + { + var u8 = new Uint8Array([1, 2, 3]); + let ValuesBucket = { + 'name': 'zhangsan', + 'age': 18, + 'salary': 100.5, + 'blobType': u8, + } + let insertPromise = await rdbStore.insert('test', ValuesBucket); + await expect(10).assertEqual(insertPromise); + } + { + var u8 = new Uint8Array([1, 2, 3]); + let ValuesBucket = { + 'name': 'lisi', + 'age': 18, + 'salary': 100.5, + 'blobType': u8, + } + let insertPromise = await rdbStore.insert('test', ValuesBucket); + await expect(11).assertEqual(insertPromise); + } + { + var u8 = new Uint8Array([1, 2, 3]); + let ValuesBucket = { + 'name': 'lisi', + 'age': 20, + 'salary': 100.5, + 'blobType': u8, + } + let insertPromise = await rdbStore.insert('test', ValuesBucket); + console.log('insert done ' + insertPromise); + await expect(12).assertEqual(insertPromise); + } + let predicates = new ohosDataRdb.RdbPredicates('null'); + let resultSet = await rdbStore.query(predicates, ['id', 'name', 'age', 'salary', 'blobType']) + await console.log('resultSet query4 done' + resultSet); + let pathstr = rdbStore.path; + await console.log('pathstr= ' + pathstr); + let isMemory = rdbStore.isMemoryRdb; + await expect(false).assertEqual(isMemory); + await expect(resultSet).assertInstanceOf('Object'); + done(); + console.log(TAG + '****************testRdbStoreQuery004 end****************'); + }) + console.log(TAG + '*************Unit Test End*************'); +}) \ No newline at end of file diff --git a/entry/src/main/js/test/RdbStoreReplaceJsunit.test.js b/entry/src/main/js/test/RdbStoreReplaceJsunit.test.js new file mode 100755 index 0000000..f4828ee --- /dev/null +++ b/entry/src/main/js/test/RdbStoreReplaceJsunit.test.js @@ -0,0 +1,202 @@ +/* + * Copyright (C) 2021 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 'deccjsunit/index' +import ohosDataRdb from '@ohos.data.rdb'; + +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)'; +const STORE_CONFIG = { + name: 'replace.db' +} +var rdbStore = undefined; +describe('rdbStoreReplaceTest', function () { + beforeAll(async function () { + console.info(TAG + 'beforeAll' + STORE_CONFIG.storageMode) + rdbStore = await ohosDataRdb.getRdbStore(STORE_CONFIG, 1); + await rdbStore.executeSql(CREATE_TABLE_TEST, null); + }) + beforeEach(function () { + console.info(TAG + 'beforeEach') + }) + afterEach(function () { + console.info(TAG + 'afterEach') + }) + afterAll(async function () { + console.info(TAG + 'afterAll') + rdbStore = null + await ohosDataRdb.deleteRdbStore('replace.db'); + }) + console.log(TAG + '*************Unit Test Begin*************'); + + /* + * @tc.name RdbStore Replace interface test + * @tc.number SUB_DDM_AppDataFWK_JSRdbStore_0010 + * @tc.desc RdbStore Replace interface test + */ + + it('testRdbStoreReplace0001', 0, async function (done) { + console.log(TAG + '************* testRdbStoreReplace0001 start *************'); + var u8 = new Uint8Array([3, 4, 5]); + var predicates = new ohosDataRdb.RdbPredicates('test'); + { + const valueBucket = { + 'name': 'zhangsan', + 'age': 18, + 'salary': 100.5, + 'blobType': u8, + } + let insertPromise = await rdbStore.insert('test', valueBucket) + await expect(1).assertEqual(insertPromise); + await console.log(TAG + 'insert first done: ' + insertPromise); + } + { + var valueBucket = { + 'name': 'wangwu', + 'age': 25, + 'salary': 300.5, + 'blobType': u8, + } + let isholding = rdbStore.isHoldingConnection; + await expect(false).assertEqual(isholding); + let isready = rdbStore.isReadOnly; + await expect(false).assertEqual(isready); + let count = await rdbStore.replace('test', valueBucket); + await expect(2).assertEqual(count); + predicates.equalTo('name', 'wangwu'); + let resultSet = await rdbStore.query(predicates, ['id', 'name', 'age', 'salary', 'blobType']); + await expect(true).assertEqual(resultSet.goToFirstRow()); + await expect(false).assertEqual(resultSet.goToNextRow()); + } + { + var valueBucket = { + 'name': 'lisi', + 'age': 25, + 'salary': 300.5, + 'blobType': u8, + } + let count = await rdbStore.replace('test', valueBucket); + await expect(3).assertEqual(count); + predicates.equalTo('name', 'lisi'); + let resultSet = await rdbStore.query(predicates, ['id', 'name', 'age', 'salary', 'blobType']); + await expect(false).assertEqual(resultSet.goToFirstRow()); + } + done(); + console.log(TAG + '************* testRdbStoreReplace0001 end *************'); + }) + + /* + * @tc.name RdbStore Replace interface test + * @tc.number SUB_DDM_AppDataFWK_JSRdbStore_0020 + * @tc.desc RdbStore Replace interface test + */ + + it('testRdbStoreReplace0002', 0, async function (done) { + console.log(TAG + '************* testRdbStoreReplace0002 start *************'); + var u8 = new Uint8Array([3, 4, 5]) + var valueBucket = { + 'name': 'wangwu', + 'age': 25, + 'salary': 300.5, + 'blobType': u8, + } + try { + let isholding = rdbStore.isHoldingConnection; + await expect(false).assertEqual(isholding); + let isready = rdbStore.isReadOnly; + await expect(false).assertEqual(isready); + let count = await rdbStore.replace(null, valueBucket); + await console.log('replace second done ' + count); + await expect(null).assertFail(); + } catch (e) { + await console.log(TAG + 'no table name' + e); + } + done(); + console.log(TAG + '************* testRdbStoreReplace0002 end *************'); + }) + + /* + * @tc.name RdbStore Replace interface test + * @tc.number SUB_DDM_AppDataFWK_JSRdbStore_0030 + * @tc.desc RdbStore Replace interface test + */ + + it('testRdbStoreReplace0003', 0, async function (done) { + console.log(TAG + '************* testRdbStoreReplace0003 start *************'); + var u8 = new Uint8Array([3, 4, 5]) + let isholding = rdbStore.isHoldingConnection; + await expect(false).assertEqual(isholding); + let isready = rdbStore.isReadOnly; + await expect(false).assertEqual(isready); + { + const valueBucket = { + 'name': 'zhangsan', + 'age': 18, + 'salary': 100.5, + 'blobType': u8, + } + let insertPromise = await rdbStore.insert('test', valueBucket) + await expect(4).assertEqual(insertPromise); + await console.log(TAG + 'insert first done3: ' + insertPromise); + } + try { + var valueBucket = new Uint8Array([3, 4, 5]); + let count = await rdbStore.replace('tests', valueBucket); + await console.log('replace third done3 ' + count); + await expect(null).assertFail(); + } catch (e) { + await console.log('tableName is Wrong:' + e); + } + done(); + console.log(TAG + '************* testRdbStoreReplace0003 end *************'); + }) + + /* + * @tc.name RdbStore Replace interface test + * @tc.number SUB_DDM_AppDataFWK_JSRdbStore_0040 + * @tc.desc RdbStore Replace interface test + */ + + it('testRdbStoreReplace0004', 0, async function (done) { + console.log(TAG + '************* testRdbStoreReplace0004 start *************'); + var u8 = new Uint8Array([3, 4, 5]) + let isholding = rdbStore.isHoldingConnection; + await expect(false).assertEqual(isholding); + let isready = rdbStore.isReadOnly; + await expect(false).assertEqual(isready); + { + const valueBucket = { + 'name': 'zhangsan', + 'age': 18, + 'salary': 100.5, + 'blobType': u8, + } + let insertPromise = await rdbStore.insert('test', valueBucket) + await expect(5).assertEqual(insertPromise); + await console.log(TAG + 'insert first done4: ' + insertPromise); + } + try { + let count = await rdbStore.replace('test', null); + await console.log('replace fourth done4 ' + count); + await expect(null).assertFail(); + } catch (e) { + await console.log('valueBucket not allow null:' + e); + } + done(); + console.log(TAG + '************* testRdbStoreReplace0004 end *************'); + }) + console.log(TAG + '*************Unit Test End*************'); +}) \ No newline at end of file diff --git a/entry/src/main/js/test/rdbstore_insert_unit.test.js b/entry/src/main/js/test/rdbstore_insert_unit.test.js old mode 100644 new mode 100755 diff --git a/entry/src/main/js/test/rdbstore_replace_unit.test.js b/entry/src/main/js/test/rdbstore_replace_unit.test.js deleted file mode 100644 index e69de29..0000000 diff --git a/entry/src/main/js/test/rdbstore_update_unit.test.js b/entry/src/main/js/test/rdbstore_update_unit.test.js deleted file mode 100644 index e69de29..0000000 -- Gitee