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(); } #[allow(dead_code)] // Only used in ignored tests. pub struct TestDb { db_pool: PgPool, } #[allow(dead_code)] // Only used in ignored tests. 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() } }