diff options
author | Kjetil Orbekk <kj@orbekk.com> | 2022-12-31 11:20:39 -0500 |
---|---|---|
committer | Kjetil Orbekk <kj@orbekk.com> | 2022-12-31 11:20:39 -0500 |
commit | aa6d050b09dfbf3e5be112325e8e8d8a1f4dacf9 (patch) | |
tree | efa23a0c20bcfb08f2fba1ee4823ac20d2381b21 /server/tests/common | |
parent | 2dd295a7437f80d1beba11ddb9881f9dd3609006 (diff) |
Add barebones db testing
Diffstat (limited to 'server/tests/common')
-rw-r--r-- | server/tests/common/mod.rs | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/server/tests/common/mod.rs b/server/tests/common/mod.rs new file mode 100644 index 0000000..e907306 --- /dev/null +++ b/server/tests/common/mod.rs @@ -0,0 +1,36 @@ +use std::env; + +use env_logger::Env; +use sqlx::{PgPool, postgres::PgPoolOptions}; + +pub fn test_setup() { + dotenv::dotenv().ok(); + let _ = env_logger::Builder::from_env( + Env::default().default_filter_or("info"), + ) + .is_test(true) + .try_init(); +} + +pub struct TestDb { + db_pool: PgPool, +} + +impl TestDb { + pub async fn new() -> Self { + test_setup(); + let db_url = env::var("DATABASE_URL").expect("DATABASE_URL"); + let db_pool = PgPoolOptions::new() + .max_connections(10) + .connect(&db_url) + .await + .expect("db connection"); + Self { + db_pool + } + } + + pub fn db(&self) -> PgPool { + self.db_pool.clone() + } +} |