use httpmock::prelude::*;
use isahc::get as http_get;
use ureq::get as httpget;
#[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();
}
#[test]
fn url_param_encoding_issue_56() {
let server = MockServer::start();
let m = server.mock(|when, then| {
when.query_param("query", "Metallica is cool");
then.status(200);
});
httpget(&server.url("/search?query=Metallica+is+cool"))
.send_string("")
.unwrap();
m.assert();
}