refactor: clean test setup code, cleanup tests, separate into different files

This commit is contained in:
Ryan Walters
2025-09-19 09:50:22 -05:00
parent 54eca9f447
commit 698f95ff32
7 changed files with 214 additions and 214 deletions

View File

@@ -0,0 +1,26 @@
mod common;
use pretty_assertions::assert_eq;
use crate::common::{test_context, TestContext};
/// Test health endpoint functionality with real database connectivity
#[tokio::test]
async fn test_health_endpoint() {
let TestContext { server, container, .. } = test_context().use_database(true).call().await;
// First, verify health endpoint works when database is healthy
let response = server.get("/health").await;
assert_eq!(response.status_code(), 200);
let health_json: serde_json::Value = response.json();
assert_eq!(health_json["ok"], true);
// Now kill the database container to simulate database failure
drop(container);
// Now verify health endpoint reports bad health
let response = server.get("/health?force").await;
assert_eq!(response.status_code(), 503); // SERVICE_UNAVAILABLE
let health_json: serde_json::Value = response.json();
assert_eq!(health_json["ok"], false);
}