Refactor test suite to handle 303 See Other
This commit is contained in:
@@ -1,15 +1,13 @@
|
||||
use crate::{routes::AdminError, session_state::TypedSession};
|
||||
use axum::{
|
||||
http::HeaderMap,
|
||||
http::{HeaderMap, StatusCode},
|
||||
response::{IntoResponse, Response},
|
||||
};
|
||||
use reqwest::StatusCode;
|
||||
|
||||
#[tracing::instrument(name = "Logging out", skip(session))]
|
||||
pub async fn logout(session: TypedSession) -> Result<Response, AdminError> {
|
||||
session.clear().await;
|
||||
let mut headers = HeaderMap::new();
|
||||
headers.insert("HX-Redirect", "/login".parse().unwrap());
|
||||
headers.insert("Location", "/login".parse().unwrap());
|
||||
Ok((StatusCode::SEE_OTHER, headers).into_response())
|
||||
}
|
||||
Ok((StatusCode::OK, headers).into_response())
|
||||
}
|
||||
@@ -11,10 +11,7 @@ use axum::{
|
||||
extract::State,
|
||||
response::{Html, IntoResponse, Response},
|
||||
};
|
||||
use axum::{
|
||||
http::{HeaderMap, StatusCode},
|
||||
response::Redirect,
|
||||
};
|
||||
use axum::{http::StatusCode, response::Redirect};
|
||||
use secrecy::SecretString;
|
||||
|
||||
#[derive(thiserror::Error)]
|
||||
@@ -117,9 +114,11 @@ pub async fn post_login(
|
||||
.await
|
||||
.map_err(|e| LoginError::UnexpectedError(e.into()))?;
|
||||
|
||||
let mut headers = HeaderMap::new();
|
||||
headers.insert("HX-Redirect", "/admin/dashboard".parse().unwrap());
|
||||
Ok((StatusCode::OK, headers).into_response())
|
||||
let mut response = Redirect::to("/admin/dashboard").into_response();
|
||||
response
|
||||
.headers_mut()
|
||||
.insert("HX-Redirect", "/admin/dashboard".parse().unwrap());
|
||||
Ok(response)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user