45 lines
932 B
Rust
45 lines
932 B
Rust
use owl::prelude::*;
|
|
|
|
#[cfg(test)]
|
|
#[model]
|
|
pub struct TestModel {
|
|
pub id: Id,
|
|
pub data: String,
|
|
}
|
|
|
|
#[test]
|
|
fn save_load_db() {
|
|
let data = "TestData".to_string();
|
|
let db = Database::in_memory();
|
|
|
|
let m = TestModel {
|
|
id: Id::String(data.clone()),
|
|
data: data.clone(),
|
|
};
|
|
|
|
db.save(m);
|
|
|
|
let get_model: Model<TestModel> = db.get(data.as_str()).unwrap();
|
|
assert_eq!(get_model.read().id.to_string(), data);
|
|
}
|
|
|
|
#[test]
|
|
fn save_del_db() {
|
|
let data = "TestData".to_string();
|
|
let db = Database::in_memory();
|
|
|
|
let m = TestModel {
|
|
id: Id::String(data.clone()),
|
|
data: data.clone(),
|
|
};
|
|
|
|
db.save(m);
|
|
|
|
let get_model: Model<TestModel> = db.get(data.as_str()).unwrap();
|
|
assert_eq!(get_model.read().id.to_string(), data);
|
|
|
|
db.delete(&get_model);
|
|
|
|
let get_model: Option<Model<TestModel>> = db.get(data.as_str());
|
|
assert!(get_model.is_none());
|
|
}
|