lychee/src/test_utils.rs
2021-02-16 00:35:59 +01:00

39 lines
888 B
Rust

use http::StatusCode;
use reqwest::Url;
use wiremock::matchers::path;
use wiremock::{Mock, MockServer, ResponseTemplate};
use crate::Uri;
#[allow(unused)]
pub async fn get_mock_server<S>(response_code: S) -> MockServer
where
S: Into<StatusCode>,
{
get_mock_server_with_content(response_code, None).await
}
pub async fn get_mock_server_with_content<S>(response_code: S, content: Option<&str>) -> MockServer
where
S: Into<StatusCode>,
{
let mock_server = MockServer::start().await;
let template = ResponseTemplate::new(response_code.into());
let template = if let Some(s) = content {
template.set_body_string(s)
} else {
template
};
Mock::given(path("/"))
.respond_with(template)
.mount(&mock_server)
.await;
mock_server
}
pub fn website(url: &str) -> Uri {
Uri::Website(Url::parse(url).unwrap())
}