Add hermetic coverage for service boundaries

This commit is contained in:
ms2k 2026-08-24 16:39:13 +09:00
commit de4f990492

View file

@ -332,6 +332,38 @@ fn random_hex<const N: usize>() -> String {
#[cfg(test)]
mod tests {
use super::*;
use actix_web::{http::StatusCode, test as actix_test};
#[actix_web::test]
async fn trace_header() {
let app = actix_test::init_service(
App::new()
.wrap(from_fn(trace_request))
.route("/", web::get().to(live)),
)
.await;
let trace_id = "4bf92f3577b34da6a3ce929d0e0e4736";
let request = actix_test::TestRequest::get()
.uri("/")
.insert_header(("traceparent", format!("00-{trace_id}-00f067aa0ba902b7-01")))
.to_request();
let response = actix_test::call_service(&app, request).await;
assert_eq!(response.status(), StatusCode::OK);
let trace = response
.headers()
.get("traceparent")
.unwrap()
.to_str()
.unwrap();
assert!(trace.starts_with(&format!("00-{trace_id}-")));
assert!(trace.ends_with("-01"));
assert_eq!(trace.len(), 55);
assert_eq!(
actix_test::read_body(response).await,
r#"{"status":"live"}"#
);
}
#[test]
fn escapes_prometheus_labels() {