feat(tests): Add test related utils function

This commit is contained in:
FloRide1 2024-09-20 16:54:52 +02:00
parent f1d4a9c3a7
commit fcbc0fac7b
No known key found for this signature in database
GPG key ID: A771F2D2BD20B4B4

48
tests/utils.rs Normal file
View file

@ -0,0 +1,48 @@
use axum::response::IntoResponse;
use axum_oidc::{EmptyAdditionalClaims, OidcClaims};
pub async fn authenticated(claims: OidcClaims<EmptyAdditionalClaims>) -> impl IntoResponse {
format!("Hello {}", claims.subject().as_str())
}
pub async fn maybe_authenticated(
claims: Option<OidcClaims<EmptyAdditionalClaims>>,
) -> impl IntoResponse {
if let Some(claims) = claims {
format!(
"Hello {}! You are already logged in from another Handler.",
claims.subject().as_str()
)
} else {
"Hello anon!".to_string()
}
}
pub async fn handle_axum_oidc_middleware_error(
e: axum_oidc::error::MiddlewareError,
) -> axum::http::Response<axum::body::Body> {
e.into_response()
}
pub fn extract_location_header_testresponse(response: axum_test::TestResponse) -> Option<String> {
Some(
response
.headers()
.get("Location")?
.to_str()
.ok()?
.to_string(),
)
}
pub fn extract_location_header_response(response: reqwest::Response) -> Option<String> {
Some(
response
.headers()
.get("Location")?
.to_str()
.ok()?
.to_string(),
)
}