33 lines
1.0 KiB
Rust
33 lines
1.0 KiB
Rust
use axum::body::Body;
|
|
use axum::http::{Request, StatusCode};
|
|
use forage_core::auth::*;
|
|
use tower::ServiceExt;
|
|
|
|
use crate::build_router;
|
|
use crate::test_support::*;
|
|
|
|
#[tokio::test]
|
|
async fn delete_token_error_returns_500() {
|
|
let mock = MockForestClient::with_behavior(MockBehavior {
|
|
delete_token_result: Some(Err(AuthError::Other("db error".into()))),
|
|
..Default::default()
|
|
});
|
|
let (state, sessions) = test_state_with(mock, MockPlatformClient::new());
|
|
let cookie = create_test_session(&sessions).await;
|
|
let app = build_router(state);
|
|
|
|
let response = app
|
|
.oneshot(
|
|
Request::builder()
|
|
.method("POST")
|
|
.uri("/settings/tokens/tok-1/delete")
|
|
.header("cookie", cookie)
|
|
.header("content-type", "application/x-www-form-urlencoded")
|
|
.body(Body::from("_csrf=test-csrf"))
|
|
.unwrap(),
|
|
)
|
|
.await
|
|
.unwrap();
|
|
assert_eq!(response.status(), StatusCode::INTERNAL_SERVER_ERROR);
|
|
}
|