use reqwest::Client;
use wiremock::matchers::any;
use wiremock::{Mock, MockServer, ResponseTemplate};
async fn test_body() {
let mock_server = MockServer::start().await;
let response = ResponseTemplate::new(200).set_delay(std::time::Duration::from_secs(60));
Mock::given(any())
.respond_with(response)
.mount(&mock_server)
.await;
let outcome = Client::builder()
.timeout(std::time::Duration::from_secs(1))
.build()
.unwrap()
.get(&mock_server.uri())
.send()
.await;
assert!(outcome.is_err());
}
#[actix_rt::test]
async fn request_times_out_if_the_server_takes_too_long_with_actix() {
test_body().await
}
#[tokio::test]
async fn request_times_out_if_the_server_takes_too_long_with_tokio() {
test_body().await
}