2个版本
0.2.1 | 2023年1月15日 |
---|---|
0.2.0 | 2022年12月27日 |
#1991 in 数据库接口
11KB
114 行
couch_rs_test
使用couch_rs库实现的CouchDB存储库测试工具
lib.rs
:
一组用于使用couch_rs库执行测试的辅助函数
通过在CouchDB实例中自动创建和销毁测试数据库,允许轻松执行测试。对于给定的数据库名称,创建的数据库将附加一个随机字符串,以确保同一CouchDB实例中并行执行的多个测试的唯一性。
use serde_json::json;
use couch_rs_test::{TestRepo, TestRepoConfig};
async fn new_database(
config_uri: &str,
config_username: &str,
config_password: &str,
config_dbname: &str,
) -> TestRepo {
let repo: TestRepo = match TestRepo::new(
TestRepoConfig::new(
config_uri,
config_username,
config_password,
config_dbname,
)
).await {
Ok(r) => r,
// if db creation fails, test will fail, so just panic
Err(e) => panic!("Failed to create test database: {}", e),
};
// write test data into the newly created database
let data = &mut vec!{
json!{{"some": "data"}},
json!{{"some": "other-data"}}
};
match repo.with_data(data).await {
Ok(cnt) => log::info!("Added {} entries to test database {}", cnt, repo.db.name()),
Err(e) => panic!("Failed to set up database: {}", e),
};
repo
}
依赖关系
~7–22MB
~300K SLoC