diff --git a/src/env.rs b/src/env.rs index 110cdbb..5b44f38 100644 --- a/src/env.rs +++ b/src/env.rs @@ -4,6 +4,7 @@ use std::env; pub struct Env { pub postgres_connection_string: String, pub allowed_origins: Vec, + pub port: String, } impl Env { @@ -17,9 +18,13 @@ impl Env { .map(|s| s.trim().to_string()) .collect(); + let port = env::var("PORT") + .unwrap_or_else(|_| "3000".to_string()); + Env { postgres_connection_string, allowed_origins, + port, } } } diff --git a/src/main.rs b/src/main.rs index 0514583..f7280c3 100644 --- a/src/main.rs +++ b/src/main.rs @@ -12,9 +12,11 @@ async fn main() { .with(tracing_subscriber::fmt::layer()) .init(); - let listener = tokio::net::TcpListener::bind("0.0.0.0:3000").await.unwrap(); + let state = AppState::new().await; + let port = &state.env.port; + let listener = tokio::net::TcpListener::bind(format!("0.0.0.0:{port}")).await.unwrap(); tracing::info!("listening on {}", listener.local_addr().unwrap()); - axum::serve(listener, upvoters::app(AppState::new().await)) + axum::serve(listener, upvoters::app(state)) .await .unwrap(); } diff --git a/src/test_helpers.rs b/src/test_helpers.rs index 1ea5d68..ba20ce3 100644 --- a/src/test_helpers.rs +++ b/src/test_helpers.rs @@ -3,7 +3,7 @@ pub mod db { use sqlx::PgPool; const DEFAULT_CONNECTION_STRING: &str = - "postgres://uprs:password123@localhost:5432/uprs"; + "postgres://upvoters:password123@localhost:5432/upvoters"; pub async fn test_pool() -> PgPool { let conn = std::env::var("POSTGRES_CONNECTION_STRING") diff --git a/src/votes/handlers.rs b/src/votes/handlers.rs index 3eeb713..ced29a9 100644 --- a/src/votes/handlers.rs +++ b/src/votes/handlers.rs @@ -141,6 +141,8 @@ mod tests { db, env: Env { postgres_connection_string: String::new(), + allowed_origins: vec![], + port: "3000".to_string(), }, } }