extern crate httpmock;
use isahc::get as http_get;
use ureq::get as httpget;
use httpmock::MockServer;
#[test]
fn url_param_matching_test() {
let server = MockServer::start();
let m = server.mock(|when, then| {
when.query_param("query", "Metallica")
.query_param_exists("query");
then.status(200);
});
http_get(server.url("/search?query=Metallica")).unwrap();
m.assert();
}
#[test]
fn url_param_urlencoded_matching_test() {
let server = MockServer::start();
let m = server.mock(|when, then| {
when.query_param("query", "Motörhead")
.query_param_exists("query");
then.status(200);
});
http_get(server.url("/search?query=Mot%C3%B6rhead")).unwrap();
m.assert();
}
#[test]
fn url_param_unencoded_matching_test() {
let server = MockServer::start();
let m = server.mock(|when, then| {
when.query_param("query", "Motörhead")
.query_param_exists("query");
then.status(200);
});
httpget(&server.url("/search?query=Motörhead"))
.send_string("")
.unwrap();
m.assert();
}