diff --git a/src/handlers/day11.rs b/src/handlers/day11.rs new file mode 100644 index 0000000..d240ba3 --- /dev/null +++ b/src/handlers/day11.rs @@ -0,0 +1,34 @@ +use axum::{http::StatusCode, routing::get, Router}; +use tower_http::services::ServeDir; + +pub fn router() -> Router { + Router::new() + .route("/11/health", get(|| async { StatusCode::OK })) + .nest_service("/11/assets", ServeDir::new("assets")) +} + +#[cfg(test)] +mod tests { + use super::*; + use axum::http::StatusCode; + use axum_test_helper::TestClient; + + #[tokio::test] + async fn day11_health() { + let app = router(); + + let client = TestClient::new(app); + let res = client.get("/11/health").send().await; + assert_eq!(res.status(), StatusCode::OK); + } + + #[tokio::test] + async fn day11_recieved_png() { + let app = router(); + + let client = TestClient::new(app); + let res = client.get("/11/assets/decoration.png").send().await; + assert_eq!(res.status(), StatusCode::OK); + assert_eq!(res.headers().get("content-length").unwrap(), "787297"); + } +} diff --git a/src/handlers/mod.rs b/src/handlers/mod.rs index 6f797f2..7c2d84e 100644 --- a/src/handlers/mod.rs +++ b/src/handlers/mod.rs @@ -1,5 +1,6 @@ mod day0; mod day1; +mod day11; mod day4; mod day6; mod day7; @@ -13,6 +14,7 @@ pub fn router() -> axum::Router { .nest("/", day6::router()) .nest("/", day7::router()) .nest("/", day8::router()) + .nest("/", day11::router()) } #[cfg(test)]