road-runner-common 0.12.1

Shared Rust utilities for exchange ecosystem backend services.
Documentation
#![cfg(feature = "web")]

use actix_web::{test, web, App, HttpResponse};
use road_runner_common::middleware::RequestLogMiddleware;

#[actix_web::test]
async fn request_log_middleware_passes_successful_response_through() {
    // Arrange
    let app = test::init_service(App::new().wrap(RequestLogMiddleware).route(
        "/",
        web::get().to(|| async { HttpResponse::Created().finish() }),
    ))
    .await;
    let req = test::TestRequest::get().uri("/").to_request();

    // Act
    let response = test::call_service(&app, req).await;

    // Assert
    assert_eq!(response.status(), actix_web::http::StatusCode::CREATED);
}

#[actix_web::test]
async fn configured_request_log_middleware_passes_probe_response_through() {
    let app = test::init_service(
        App::new()
            .wrap(RequestLogMiddleware::with_successful_probe_logging(true))
            .route(
                "/healthz",
                web::get().to(|| async { HttpResponse::Ok().finish() }),
            ),
    )
    .await;
    let req = test::TestRequest::get().uri("/healthz").to_request();

    let response = test::call_service(&app, req).await;

    assert_eq!(response.status(), actix_web::http::StatusCode::OK);
}