#![allow(
clippy::missing_docs_in_private_items,
reason = "test helpers and fixtures do not need doc comments"
)]
use axum::{
body::Body,
http::{Request, StatusCode},
};
use tower::ServiceExt;
use crate::routes::http::build_app;
#[tokio::test]
async fn build_app_serves_agents() {
let app = build_app(crate::routines::new_store());
let resp = app
.oneshot(
Request::builder()
.uri("/api/v1/agents")
.body(Body::empty())
.unwrap(),
)
.await
.unwrap();
assert_eq!(resp.status(), StatusCode::OK);
let bytes = axum::body::to_bytes(resp.into_body(), usize::MAX)
.await
.unwrap();
let agents: Vec<String> = serde_json::from_slice(&bytes).unwrap();
assert!(!agents.is_empty(), "agents list should never be empty");
}