maybe fix windows?

This commit is contained in:
Ruslan Nigmatullin
2026-03-27 14:17:41 -07:00
parent 457fabc409
commit 0f1f511e3c

View File

@@ -196,7 +196,9 @@ mod tests {
use serde_json::json;
use std::sync::Arc;
use tempfile::TempDir;
use tokio::io::AsyncBufReadExt;
use tokio::io::AsyncWriteExt;
use tokio::io::BufReader;
use tokio::net::TcpListener;
use tokio::net::TcpStream;
use tokio::time::Duration;
@@ -360,10 +362,7 @@ mod tests {
});
let expected_body = response_body.to_string();
let server_task = tokio::spawn(async move {
let (stream, _) = timeout(Duration::from_secs(5), listener.accept())
.await
.expect("HTTP request should arrive in time")
.expect("listener accept should succeed");
let stream = accept_http_request(&listener).await;
respond_with_json(stream, response_body).await;
});
@@ -387,6 +386,32 @@ mod tests {
);
}
async fn accept_http_request(listener: &TcpListener) -> TcpStream {
let (stream, _) = timeout(Duration::from_secs(5), listener.accept())
.await
.expect("HTTP request should arrive in time")
.expect("listener accept should succeed");
let mut reader = BufReader::new(stream);
let mut request_line = String::new();
reader
.read_line(&mut request_line)
.await
.expect("request line should read");
loop {
let mut line = String::new();
reader
.read_line(&mut line)
.await
.expect("header line should read");
if line == "\r\n" {
break;
}
}
reader.into_inner()
}
async fn respond_with_json(mut stream: TcpStream, body: serde_json::Value) {
let body = body.to_string();
let response = format!(