#![cfg(not(feature = "openapi"))]
use fandhe_backend_core::{Server, handle_connection};
use tokio::io::{AsyncReadExt, AsyncWriteExt};
async fn roundtrip(server: &Server, request: &[u8]) -> String {
let (mut client, server_stream) = tokio::io::duplex(8192);
client.write_all(request).await.unwrap();
client.shutdown().await.unwrap();
handle_connection(server, server_stream).await;
let mut out = Vec::new();
client.read_to_end(&mut out).await.unwrap();
String::from_utf8(out).unwrap()
}
#[tokio::test]
async fn openapi_json_path_is_404_when_feature_disabled() {
let server = Server::new();
let request = b"GET /openapi.json HTTP/1.1\r\nConnection: close\r\n\r\n";
let response = roundtrip(&server, request).await;
assert!(response.starts_with("HTTP/1.1 404 Not Found\r\n"));
}
#[tokio::test]
async fn openapi_yaml_path_is_404_when_feature_disabled() {
let server = Server::new();
let request = b"GET /openapi.yaml HTTP/1.1\r\nConnection: close\r\n\r\n";
let response = roundtrip(&server, request).await;
assert!(response.starts_with("HTTP/1.1 404 Not Found\r\n"));
}