diff options
Diffstat (limited to 'src/user')
| -rw-r--r-- | src/user/handlers/login/mod.rs (renamed from src/user/routes/login/post.rs) | 3 | ||||
| -rw-r--r-- | src/user/handlers/login/test.rs (renamed from src/user/routes/login/test.rs) | 21 | ||||
| -rw-r--r-- | src/user/handlers/logout/mod.rs (renamed from src/user/routes/logout/post.rs) | 3 | ||||
| -rw-r--r-- | src/user/handlers/logout/test.rs (renamed from src/user/routes/logout/test.rs) | 12 | ||||
| -rw-r--r-- | src/user/handlers/mod.rs | 7 | ||||
| -rw-r--r-- | src/user/handlers/password/mod.rs (renamed from src/user/routes/password/post.rs) | 3 | ||||
| -rw-r--r-- | src/user/handlers/password/test.rs (renamed from src/user/routes/password/test.rs) | 5 | ||||
| -rw-r--r-- | src/user/mod.rs | 6 | ||||
| -rw-r--r-- | src/user/routes/login/mod.rs | 4 | ||||
| -rw-r--r-- | src/user/routes/logout/mod.rs | 4 | ||||
| -rw-r--r-- | src/user/routes/mod.rs | 14 | ||||
| -rw-r--r-- | src/user/routes/password/mod.rs | 4 |
12 files changed, 36 insertions, 50 deletions
diff --git a/src/user/routes/login/post.rs b/src/user/handlers/login/mod.rs index 39f9eea..e80377e 100644 --- a/src/user/routes/login/post.rs +++ b/src/user/handlers/login/mod.rs @@ -13,6 +13,9 @@ use crate::{ user::{Password, User}, }; +#[cfg(test)] +mod test; + pub async fn handler( State(app): State<App>, RequestedAt(now): RequestedAt, diff --git a/src/user/routes/login/test.rs b/src/user/handlers/login/test.rs index d2e7ee2..b8f24f6 100644 --- a/src/user/routes/login/test.rs +++ b/src/user/handlers/login/test.rs @@ -1,6 +1,5 @@ use axum::extract::{Json, State}; -use super::post; use crate::{test::fixtures, token::app}; #[tokio::test] @@ -14,12 +13,12 @@ async fn correct_credentials() { let identity = fixtures::cookie::not_logged_in(); let logged_in_at = fixtures::now(); - let request = post::Request { + let request = super::Request { name: name.clone(), password, }; let (identity, Json(response)) = - post::handler(State(app.clone()), logged_in_at, identity, Json(request)) + super::handler(State(app.clone()), logged_in_at, identity, Json(request)) .await .expect("logged in with valid credentials"); @@ -53,12 +52,12 @@ async fn invalid_name() { let identity = fixtures::cookie::not_logged_in(); let logged_in_at = fixtures::now(); let (name, password) = fixtures::user::propose(); - let request = post::Request { + let request = super::Request { name: name.clone(), password, }; - let post::Error(error) = - post::handler(State(app.clone()), logged_in_at, identity, Json(request)) + let super::Error(error) = + super::handler(State(app.clone()), logged_in_at, identity, Json(request)) .await .expect_err("logged in with an incorrect password fails"); @@ -78,12 +77,12 @@ async fn incorrect_password() { let logged_in_at = fixtures::now(); let identity = fixtures::cookie::not_logged_in(); - let request = post::Request { + let request = super::Request { name: login.name, password: fixtures::user::propose_password(), }; - let post::Error(error) = - post::handler(State(app.clone()), logged_in_at, identity, Json(request)) + let super::Error(error) = + super::handler(State(app.clone()), logged_in_at, identity, Json(request)) .await .expect_err("logged in with an incorrect password"); @@ -103,8 +102,8 @@ async fn token_expires() { let logged_in_at = fixtures::ancient(); let identity = fixtures::cookie::not_logged_in(); - let request = post::Request { name, password }; - let (identity, _) = post::handler(State(app.clone()), logged_in_at, identity, Json(request)) + let request = super::Request { name, password }; + let (identity, _) = super::handler(State(app.clone()), logged_in_at, identity, Json(request)) .await .expect("logged in with valid credentials"); let secret = identity.secret().expect("logged in with valid credentials"); diff --git a/src/user/routes/logout/post.rs b/src/user/handlers/logout/mod.rs index 0ac663e..45a376a 100644 --- a/src/user/routes/logout/post.rs +++ b/src/user/handlers/logout/mod.rs @@ -11,6 +11,9 @@ use crate::{ token::{app, extract::IdentityCookie}, }; +#[cfg(test)] +mod test; + pub async fn handler( State(app): State<App>, RequestedAt(now): RequestedAt, diff --git a/src/user/routes/logout/test.rs b/src/user/handlers/logout/test.rs index ce93760..8dc4636 100644 --- a/src/user/routes/logout/test.rs +++ b/src/user/handlers/logout/test.rs @@ -3,7 +3,6 @@ use axum::{ http::StatusCode, }; -use super::post; use crate::{test::fixtures, token::app}; #[tokio::test] @@ -18,7 +17,7 @@ async fn successful() { // Call the endpoint - let (response_identity, response_status) = post::handler( + let (response_identity, response_status) = super::handler( State(app.clone()), fixtures::now(), identity.clone(), @@ -50,7 +49,7 @@ async fn no_identity() { // Call the endpoint let identity = fixtures::cookie::not_logged_in(); - let (identity, status) = post::handler(State(app), fixtures::now(), identity, Json::default()) + let (identity, status) = super::handler(State(app), fixtures::now(), identity, Json::default()) .await .expect("logged out with no token succeeds"); @@ -69,9 +68,10 @@ async fn invalid_token() { // Call the endpoint let identity = fixtures::cookie::fictitious(); - let post::Error(error) = post::handler(State(app), fixtures::now(), identity, Json::default()) - .await - .expect_err("logged out with an invalid token fails"); + let super::Error(error) = + super::handler(State(app), fixtures::now(), identity, Json::default()) + .await + .expect_err("logged out with an invalid token fails"); // Verify the return value's basic structure diff --git a/src/user/handlers/mod.rs b/src/user/handlers/mod.rs new file mode 100644 index 0000000..5cadbb5 --- /dev/null +++ b/src/user/handlers/mod.rs @@ -0,0 +1,7 @@ +mod login; +mod logout; +mod password; + +pub use login::handler as login; +pub use logout::handler as logout; +pub use password::handler as change_password; diff --git a/src/user/routes/password/post.rs b/src/user/handlers/password/mod.rs index 296f6cd..9158325 100644 --- a/src/user/routes/password/post.rs +++ b/src/user/handlers/password/mod.rs @@ -15,6 +15,9 @@ use crate::{ user::{Password, User}, }; +#[cfg(test)] +mod test; + pub async fn handler( State(app): State<App>, RequestedAt(now): RequestedAt, diff --git a/src/user/routes/password/test.rs b/src/user/handlers/password/test.rs index f977327..42e41d8 100644 --- a/src/user/routes/password/test.rs +++ b/src/user/handlers/password/test.rs @@ -1,6 +1,5 @@ use axum::extract::{Json, State}; -use super::post; use crate::{ test::fixtures, token::app::{LoginError, ValidateError}, @@ -17,11 +16,11 @@ async fn password_change() { // Call the endpoint let (name, password) = creds; let to = fixtures::user::propose_password(); - let request = post::Request { + let request = super::Request { password: password.clone(), to: to.clone(), }; - let (new_cookie, Json(response)) = post::handler( + let (new_cookie, Json(response)) = super::handler( State(app.clone()), fixtures::now(), identity.clone(), diff --git a/src/user/mod.rs b/src/user/mod.rs index f4c66ab..44e1633 100644 --- a/src/user/mod.rs +++ b/src/user/mod.rs @@ -2,14 +2,12 @@ pub mod app; pub mod create; pub mod event; +pub mod handlers; mod history; mod id; pub mod password; pub mod repo; -mod routes; mod snapshot; mod validate; -pub use self::{ - event::Event, history::History, id::Id, password::Password, routes::router, snapshot::User, -}; +pub use self::{event::Event, history::History, id::Id, password::Password, snapshot::User}; diff --git a/src/user/routes/login/mod.rs b/src/user/routes/login/mod.rs deleted file mode 100644 index 36b384e..0000000 --- a/src/user/routes/login/mod.rs +++ /dev/null @@ -1,4 +0,0 @@ -pub mod post; - -#[cfg(test)] -mod test; diff --git a/src/user/routes/logout/mod.rs b/src/user/routes/logout/mod.rs deleted file mode 100644 index 36b384e..0000000 --- a/src/user/routes/logout/mod.rs +++ /dev/null @@ -1,4 +0,0 @@ -pub mod post; - -#[cfg(test)] -mod test; diff --git a/src/user/routes/mod.rs b/src/user/routes/mod.rs deleted file mode 100644 index ade96cb..0000000 --- a/src/user/routes/mod.rs +++ /dev/null @@ -1,14 +0,0 @@ -use axum::{Router, routing::post}; - -use crate::app::App; - -mod login; -mod logout; -mod password; - -pub fn router() -> Router<App> { - Router::new() - .route("/api/password", post(password::post::handler)) - .route("/api/auth/login", post(login::post::handler)) - .route("/api/auth/logout", post(logout::post::handler)) -} diff --git a/src/user/routes/password/mod.rs b/src/user/routes/password/mod.rs deleted file mode 100644 index 36b384e..0000000 --- a/src/user/routes/password/mod.rs +++ /dev/null @@ -1,4 +0,0 @@ -pub mod post; - -#[cfg(test)] -mod test; |
