use memory databases for e2e tests
This commit is contained in:
+8
-1
@@ -42,6 +42,9 @@ async fn main() -> Result<(), Box<dyn std::error::Error>> {
|
||||
.init();
|
||||
|
||||
let database_path = env::var("DATABASE_PATH").unwrap_or_else(|_| "sustenance.db".into());
|
||||
let database_in_memory = env::var("DATABASE_IN_MEMORY")
|
||||
.map(|value| value == "1" || value.eq_ignore_ascii_case("true"))
|
||||
.unwrap_or(false);
|
||||
let bind_address = env::var("BIND_ADDRESS").unwrap_or_else(|_| "127.0.0.1:3000".into());
|
||||
// For loopback hosts, advertise `localhost` so WebAuthn works locally (browsers
|
||||
// reject IP addresses as RP IDs). Access the app via http://localhost:PORT.
|
||||
@@ -69,7 +72,11 @@ async fn main() -> Result<(), Box<dyn std::error::Error>> {
|
||||
};
|
||||
|
||||
// Build the adapters (ports) and wire them into application services.
|
||||
let db = SqliteDatabase::open(&database_path).await?;
|
||||
let db = if database_in_memory {
|
||||
SqliteDatabase::open_in_memory().await?
|
||||
} else {
|
||||
SqliteDatabase::open(&database_path).await?
|
||||
};
|
||||
let users: Arc<dyn UserRepository> = Arc::new(SqliteUserRepository);
|
||||
let sessions: Arc<dyn SessionRepository> = Arc::new(SqliteSessionRepository);
|
||||
let lists: Arc<dyn ListRepository> = Arc::new(SqliteListRepository);
|
||||
|
||||
Reference in New Issue
Block a user