From 5c6e9924a5cf0d0aea327e1b5b70e2b3255eea58 Mon Sep 17 00:00:00 2001 From: lovasoa Date: Sun, 21 Apr 2024 19:30:08 +0200 Subject: [PATCH] remove newlines from tests for windows --- tests/index.rs | 27 +++++++++++--------- tests/sql_test_files/it_works_fetch_post.sql | 17 ++++-------- 2 files changed, 20 insertions(+), 24 deletions(-) diff --git a/tests/index.rs b/tests/index.rs index 3747e24c..b85421b8 100644 --- a/tests/index.rs +++ b/tests/index.rs @@ -85,18 +85,21 @@ async fn test_concurrent_requests() { fn start_echo_server() -> ServerHandle { async fn echo_server(mut r: ServiceRequest) -> actix_web::Result { - let method = r.method(); - let path = r.uri(); - let mut headers_vec = r - .headers() - .into_iter() - .map(|(k, v)| format!("{k}: {}", String::from_utf8_lossy(v.as_bytes()))) - .collect::>(); - headers_vec.sort(); - let headers = headers_vec.join("\n"); - let mut resp_bytes = format!("{method} {path}\n{headers}\n\n").into_bytes(); - resp_bytes.extend(r.extract::().await?); - let resp = HttpResponse::Ok().body(resp_bytes); + use std::io::Write; + let mut f = Vec::new(); + write!(f, "{} {}", r.method(), r.uri()).unwrap(); + let mut sorted_headers = r.headers().into_iter().collect::>(); + sorted_headers.sort_by_key(|(k, _)| k.as_str()); + for (k, v) in sorted_headers { + if k.as_str().eq_ignore_ascii_case("date") { + continue; + } + write!(f, "|{k}: ").unwrap(); + f.extend_from_slice(v.as_bytes()); + } + f.push(b'|'); + f.extend_from_slice(&r.extract::().await?); + let resp = HttpResponse::Ok().body(f); Ok(r.into_response(resp)) } let server = actix_web::HttpServer::new(move || { diff --git a/tests/sql_test_files/it_works_fetch_post.sql b/tests/sql_test_files/it_works_fetch_post.sql index d85cf82a..9fad031b 100644 --- a/tests/sql_test_files/it_works_fetch_post.sql +++ b/tests/sql_test_files/it_works_fetch_post.sql @@ -4,19 +4,12 @@ set res = sqlpage.fetch('{ "headers": {"x-custom": "1"}, "body": {"hello": "world"} }'); -set expected_like = 'POST /post -accept-encoding: br, gzip, deflate, zstd -content-length: 18 -content-type: application/json -date: % -host: localhost:62802 -x-custom: 1 - -{"hello": "world"}'; +set expected = 'POST /post|accept-encoding: br, gzip, deflate, zstd|content-length: 18|content-type: application/json|host: localhost:62802|x-custom: 1|{"hello": "world"}'; select 'text' as component, - case - when $res LIKE $expected_like then 'It works !' + case $res + when $expected then 'It works !' else 'It failed ! Expected: -' || $expected_like || 'Got: +' || $expected || ' +Got: ' || $res end as contents; \ No newline at end of file