Skip to content

Commit 3cfb0f2

Browse files
committed
test: run orm tests on rocksdb
1 parent 3b55271 commit 3cfb0f2

File tree

3 files changed

+27
-15
lines changed

3 files changed

+27
-15
lines changed

Cargo.lock

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

tests/macros-test/Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,5 @@ lazy_static = { version = "1" }
99
serde = { version = "1", features = ["derive", "rc"] }
1010
rust_decimal = { version = "1" }
1111
sqlparser = { version = "0.61", features = ["serde"] }
12+
tempfile = { version = "3.10" }
1213
typetag = { version = "0.2" }

tests/macros-test/src/main.rs

Lines changed: 25 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ fn main() {}
1717
#[cfg(test)]
1818
mod test {
1919
use kite_sql::catalog::column::{ColumnCatalog, ColumnDesc, ColumnRef, ColumnRelation};
20-
use kite_sql::db::{DataBaseBuilder, ResultIter};
20+
use kite_sql::db::{DataBaseBuilder, Database, ResultIter};
2121
use kite_sql::errors::DatabaseError;
2222
use kite_sql::expression::function::scala::ScalarFunctionImpl;
2323
use kite_sql::expression::function::table::TableFunctionImpl;
@@ -29,10 +29,12 @@ mod test {
2929
use kite_sql::types::tuple::{SchemaRef, Tuple};
3030
use kite_sql::types::value::{DataValue, Utf8Type};
3131
use kite_sql::types::LogicalType;
32+
use kite_sql::storage::rocksdb::RocksStorage;
3233
use kite_sql::{from_tuple, scala_function, table_function, Model, Projection};
3334
use rust_decimal::Decimal;
3435
use sqlparser::ast::{CharLengthUnits, DataType as SqlDataType};
3536
use std::sync::Arc;
37+
use tempfile::TempDir;
3638

3739
fn build_tuple() -> (Tuple, SchemaRef) {
3840
let schema_ref = Arc::new(vec![
@@ -65,6 +67,13 @@ mod test {
6567
(Tuple::new(None, values), schema_ref)
6668
}
6769

70+
fn build_test_database() -> Result<(TempDir, Database<RocksStorage>), DatabaseError> {
71+
let temp_dir = TempDir::new().expect("create temp dir for ORM test");
72+
let database = DataBaseBuilder::path(temp_dir.path()).build_rocksdb()?;
73+
74+
Ok((temp_dir, database))
75+
}
76+
6877
#[derive(Default, Debug, PartialEq)]
6978
struct MyStruct {
7079
c1: i32,
@@ -299,7 +308,7 @@ mod test {
299308

300309
#[test]
301310
fn test_result_iter_to_orm_iter() -> Result<(), DatabaseError> {
302-
let database = DataBaseBuilder::path(".").build_in_memory()?;
311+
let (_temp_dir, database) = build_test_database()?;
303312

304313
database
305314
.run("create table users (c1 int primary key, c2 varchar, age int)")?
@@ -336,7 +345,7 @@ mod test {
336345

337346
#[test]
338347
fn test_model_decimal_ddl() -> Result<(), DatabaseError> {
339-
let database = DataBaseBuilder::path(".").build_in_memory()?;
348+
let (_temp_dir, database) = build_test_database()?;
340349

341350
database.create_table::<Wallet>()?;
342351
for id in 1..=101 {
@@ -371,7 +380,7 @@ mod test {
371380

372381
#[test]
373382
fn test_model_char_ddl() -> Result<(), DatabaseError> {
374-
let database = DataBaseBuilder::path(".").build_in_memory()?;
383+
let (_temp_dir, database) = build_test_database()?;
375384

376385
database.create_table::<CountryCode>()?;
377386

@@ -399,7 +408,7 @@ mod test {
399408

400409
#[test]
401410
fn test_model_migrate() -> Result<(), DatabaseError> {
402-
let database = DataBaseBuilder::path(".").build_in_memory()?;
411+
let (_temp_dir, database) = build_test_database()?;
403412

404413
database.create_table::<MigratingUserV1>()?;
405414
database.insert(&MigratingUserV1 {
@@ -458,9 +467,10 @@ mod test {
458467

459468
#[test]
460469
fn test_orm_query_builder() -> Result<(), DatabaseError> {
461-
let database = DataBaseBuilder::path(".")
470+
let temp_dir = TempDir::new().expect("create temp dir for ORM test");
471+
let database = DataBaseBuilder::path(temp_dir.path())
462472
.register_scala_function(MyOrmFunction::new())
463-
.build_in_memory()?;
473+
.build_rocksdb()?;
464474

465475
database.create_table::<User>()?;
466476
database.run("drop index users.users_age_index")?.done()?;
@@ -988,7 +998,7 @@ mod test {
988998

989999
#[test]
9901000
fn test_orm_expression_and_set_query_helpers() -> Result<(), DatabaseError> {
991-
let database = DataBaseBuilder::path(".").build_in_memory()?;
1001+
let (_temp_dir, database) = build_test_database()?;
9921002

9931003
database.create_table::<User>()?;
9941004
database.insert(&User {
@@ -1292,7 +1302,7 @@ mod test {
12921302

12931303
#[test]
12941304
fn test_orm_group_by_builder() -> Result<(), DatabaseError> {
1295-
let database = DataBaseBuilder::path(".").build_in_memory()?;
1305+
let (_temp_dir, database) = build_test_database()?;
12961306

12971307
database.create_table::<EventLog>()?;
12981308
database.insert(&EventLog {
@@ -1413,7 +1423,7 @@ mod test {
14131423

14141424
#[test]
14151425
fn test_orm_model_lifecycle() -> Result<(), DatabaseError> {
1416-
let database = DataBaseBuilder::path(".").build_in_memory()?;
1426+
let (_temp_dir, database) = build_test_database()?;
14171427

14181428
database.create_table::<User>()?;
14191429
database.run("drop index users.users_age_index")?.done()?;
@@ -1521,7 +1531,7 @@ mod test {
15211531

15221532
#[test]
15231533
fn test_orm_update_delete_builder() -> Result<(), DatabaseError> {
1524-
let database = DataBaseBuilder::path(".").build_in_memory()?;
1534+
let (_temp_dir, database) = build_test_database()?;
15251535
database.create_table::<User>()?;
15261536

15271537
for (id, name, age) in [
@@ -1591,7 +1601,7 @@ mod test {
15911601

15921602
#[test]
15931603
fn test_orm_insert_query_builder() -> Result<(), DatabaseError> {
1594-
let database = DataBaseBuilder::path(".").build_in_memory()?;
1604+
let (_temp_dir, database) = build_test_database()?;
15951605
database.create_table::<User>()?;
15961606
database.create_table::<ArchivedUser>()?;
15971607

@@ -1674,7 +1684,7 @@ mod test {
16741684

16751685
#[test]
16761686
fn test_orm_extended_write_and_ddl_helpers() -> Result<(), DatabaseError> {
1677-
let database = DataBaseBuilder::path(".").build_in_memory()?;
1687+
let (_temp_dir, database) = build_test_database()?;
16781688
database.create_table::<User>()?;
16791689

16801690
database.insert_many([
@@ -1792,7 +1802,7 @@ mod test {
17921802

17931803
#[test]
17941804
fn test_orm_introspection_helpers() -> Result<(), DatabaseError> {
1795-
let database = DataBaseBuilder::path(".").build_in_memory()?;
1805+
let (_temp_dir, database) = build_test_database()?;
17961806
database.create_table::<User>()?;
17971807
database.create_table::<Wallet>()?;
17981808
database.create_view(
@@ -1856,7 +1866,7 @@ mod test {
18561866

18571867
#[test]
18581868
fn test_orm_drop_index() -> Result<(), DatabaseError> {
1859-
let database = DataBaseBuilder::path(".").build_in_memory()?;
1869+
let (_temp_dir, database) = build_test_database()?;
18601870

18611871
database.create_table::<User>()?;
18621872
database.insert(&User {

0 commit comments

Comments
 (0)