26 lines
800 B
Rust
Executable File
26 lines
800 B
Rust
Executable File
use actix_web::HttpResponse;
|
|
|
|
// JWT auth is stateless and there is no token blacklist, so logging out is
|
|
// purely a client-side action (discarding the stored token). This endpoint
|
|
// exists so the frontend has something to call and gets a clean response.
|
|
pub async fn logout() -> HttpResponse {
|
|
HttpResponse::Ok().finish()
|
|
}
|
|
|
|
#[cfg(test)]
|
|
mod tests {
|
|
use actix_web::http::StatusCode;
|
|
use actix_web::{test, web, App};
|
|
|
|
use super::logout;
|
|
|
|
#[actix_web::test]
|
|
async fn logout_returns_ok() {
|
|
let app = test::init_service(App::new().route("/logout", web::post().to(logout))).await;
|
|
let req = test::TestRequest::post().uri("/logout").to_request();
|
|
let resp = test::call_service(&app, req).await;
|
|
|
|
assert_eq!(StatusCode::OK, resp.status());
|
|
}
|
|
}
|