From aa6d050b09dfbf3e5be112325e8e8d8a1f4dacf9 Mon Sep 17 00:00:00 2001 From: Kjetil Orbekk Date: Sat, 31 Dec 2022 11:20:39 -0500 Subject: Add barebones db testing --- server/tests/common/mod.rs | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 server/tests/common/mod.rs (limited to 'server/tests/common') 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() + } +} -- cgit v1.2.3