mirror of
https://gitlab.com/keys.openpgp.org/hagrid.git
synced 2025-10-06 00:23:08 +02:00
Replace usage of hagrid::web::tests::common::assert::check_response() with hagrid::routes::tests::common::assert::response() to remove code duplication in tests.
Changes: - Replace usage of hagrid::web::tests::common::assert::check_response() with hagrid::routes::tests::common::assert::response() to remove code duplication in tests. - Refactor hagrid::web::tests::check_response() tests to use assert::response() helper. - Take &str instead of &'static str as present_page_text argument in assert::response() helper. This was a bug. It affected reusability of the assertion helper function.
This commit is contained in:
committed by
Vincent Breitmoser
parent
766e97107e
commit
f54d6ff283
@@ -221,11 +221,14 @@ pub mod tests {
|
|||||||
response: LocalResponse,
|
response: LocalResponse,
|
||||||
status: Status,
|
status: Status,
|
||||||
content_type: ContentType,
|
content_type: ContentType,
|
||||||
present_page_text: &'static str,
|
present_page_text: &str,
|
||||||
) {
|
) {
|
||||||
assert_eq!(response.status(), status);
|
assert_eq!(response.status(), status);
|
||||||
assert_eq!(response.content_type(), Some(content_type));
|
assert_eq!(response.content_type(), Some(content_type));
|
||||||
assert!(response.into_string().unwrap().contains(present_page_text));
|
|
||||||
|
let body = response.into_string().unwrap();
|
||||||
|
println!("{body}");
|
||||||
|
assert!(body.contains(present_page_text));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -300,6 +300,7 @@ pub mod tests {
|
|||||||
use ::rocket::http::Header;
|
use ::rocket::http::Header;
|
||||||
use ::rocket::http::Status;
|
use ::rocket::http::Status;
|
||||||
use ::rocket::local::blocking::Client;
|
use ::rocket::local::blocking::Client;
|
||||||
|
use multipart::client::hyper::content_type;
|
||||||
use std::fs;
|
use std::fs;
|
||||||
use std::fs::File;
|
use std::fs::File;
|
||||||
use std::io::Write;
|
use std::io::Write;
|
||||||
@@ -511,15 +512,6 @@ pub mod tests {
|
|||||||
check_index_response(client, &format!("/pks/lookup?op=index&search={}", fp), tpk);
|
check_index_response(client, &format!("/pks/lookup?op=index&search={}", fp), tpk);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Asserts that the given URI contains the search string.
|
|
||||||
pub fn check_response(client: &Client, uri: &str, status: Status, needle: &str) {
|
|
||||||
let response = client.get(uri).dispatch();
|
|
||||||
assert_eq!(response.status(), status);
|
|
||||||
let body = response.into_string().unwrap();
|
|
||||||
println!("{}", body);
|
|
||||||
assert!(body.contains(needle));
|
|
||||||
}
|
|
||||||
|
|
||||||
/// Asserts that the given URI returns human readable response
|
/// Asserts that the given URI returns human readable response
|
||||||
/// page that contains a URI pointing to the Cert.
|
/// page that contains a URI pointing to the Cert.
|
||||||
pub fn check_hr_response(
|
pub fn check_hr_response(
|
||||||
@@ -1140,25 +1132,43 @@ pub mod tests {
|
|||||||
|
|
||||||
/// Asserts that the given URI contains the search string.
|
/// Asserts that the given URI contains the search string.
|
||||||
#[rstest]
|
#[rstest]
|
||||||
#[case::search_invalid("/search?q=0x1234abcd", Status::BadRequest, "not supported")]
|
#[case::search_invalid(
|
||||||
#[case::search_invalid("/search?q=1234abcd", Status::BadRequest, "not supported")]
|
"/search?q=0x1234abcd",
|
||||||
|
Status::BadRequest,
|
||||||
|
ContentType::HTML,
|
||||||
|
"not supported"
|
||||||
|
)]
|
||||||
|
#[case::search_invalid(
|
||||||
|
"/search?q=1234abcd",
|
||||||
|
Status::BadRequest,
|
||||||
|
ContentType::HTML,
|
||||||
|
"not supported"
|
||||||
|
)]
|
||||||
#[case::search_invalid(
|
#[case::search_invalid(
|
||||||
"/pks/lookup?op=get&search=0x1234abcd",
|
"/pks/lookup?op=get&search=0x1234abcd",
|
||||||
Status::BadRequest,
|
Status::BadRequest,
|
||||||
|
ContentType::HTML,
|
||||||
"not supported"
|
"not supported"
|
||||||
)]
|
)]
|
||||||
#[case::search_invalid(
|
#[case::search_invalid(
|
||||||
"/pks/lookup?op=get&search=1234abcd",
|
"/pks/lookup?op=get&search=1234abcd",
|
||||||
Status::BadRequest,
|
Status::BadRequest,
|
||||||
|
ContentType::HTML,
|
||||||
"not supported"
|
"not supported"
|
||||||
)]
|
)]
|
||||||
#[case::wkd_policy("/.well-known/openpgpkey/example.org/policy", Status::Ok, "")]
|
#[case::wkd_policy(
|
||||||
|
"/.well-known/openpgpkey/example.org/policy",
|
||||||
|
Status::Ok,
|
||||||
|
ContentType::Plain,
|
||||||
|
""
|
||||||
|
)]
|
||||||
fn check_response(
|
fn check_response(
|
||||||
#[from(client)] (_tmpdir, client): (TempDir, Client),
|
#[from(client)] (_tmpdir, client): (TempDir, Client),
|
||||||
#[case] uri: &str,
|
#[case] uri: &str,
|
||||||
#[case] status: Status,
|
#[case] status: Status,
|
||||||
|
#[case] content_type: ContentType,
|
||||||
#[case] needle: &str,
|
#[case] needle: &str,
|
||||||
) {
|
) {
|
||||||
common::assert::check_response(&client, uri, status, needle);
|
assert::response(client.get(uri).dispatch(), status, content_type, needle);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user