mirror of
https://github.com/Hopiu/lychee.git
synced 2026-04-08 07:20:59 +00:00
39 lines
888 B
Rust
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())
|
|
}
|