#[cfg(feature = "oauth")] pub mod auth; pub(super) const HEALTH: &str = "HEALTH"; #[utoipa::path( method(get), path = "/", tag = HEALTH, responses( (status = OK, description = "Checks if the server is running", body = str, content_type = "text/plain") ) )] pub async fn health_check() -> impl axum::response::IntoResponse { let name = env!("CARGO_PKG_NAME"); let version = env!("CARGO_PKG_VERSION"); format!("{name} v{version} is live") } #[cfg(test)] mod tests { use crate::{ config::Config, server::{self, bootstrap::TestDriver, state::AppState}, }; use axum::{ body::Body, http::{Request, StatusCode}, }; use tower::ServiceExt; #[tokio::test] async fn health_check() { let config = Config::default(); let driver = TestDriver::default(); let state = AppState::new(&config, driver).await.unwrap(); let app = server::router(&config, state).await.unwrap(); let response = app .oneshot(Request::builder().uri("/").body(Body::empty()).unwrap()) .await .unwrap(); assert_eq!(response.status(), StatusCode::OK); } }