Files
galaxy/crates/http_client/src/iap_tests.rs
T

43 lines
1.0 KiB
Rust

use http::{HeaderMap, HeaderValue};
use reqwest::StatusCode;
use super::*;
fn headers_with_iap() -> HeaderMap {
let mut headers = HeaderMap::new();
headers.insert(
IAP_GENERATED_RESPONSE_HEADER,
HeaderValue::from_static("true"),
);
headers
}
#[test]
fn challenge_statuses_with_iap_header_are_challenges() {
for status in [
StatusCode::FOUND,
StatusCode::UNAUTHORIZED,
StatusCode::FORBIDDEN,
] {
assert!(is_iap_challenge(status, &headers_with_iap()));
}
}
#[test]
fn challenge_status_without_iap_header_is_not_a_challenge() {
assert!(!is_iap_challenge(StatusCode::FORBIDDEN, &HeaderMap::new()));
assert!(!is_iap_challenge(
StatusCode::UNAUTHORIZED,
&HeaderMap::new()
));
}
#[test]
fn non_challenge_status_with_iap_header_is_not_a_challenge() {
assert!(!is_iap_challenge(StatusCode::OK, &headers_with_iap()));
assert!(!is_iap_challenge(
StatusCode::INTERNAL_SERVER_ERROR,
&headers_with_iap()
));
}