summaryrefslogtreecommitdiff
path: root/src/test/verify/login.rs
diff options
context:
space:
mode:
authorOwen Jacobson <owen@grimoire.ca>2025-10-28 01:41:13 -0400
committerOwen Jacobson <owen@grimoire.ca>2025-10-28 02:08:45 -0400
commitdc7074bbf39aff895ba52abd5e7b7e9bb643cf27 (patch)
treea6eea3af13f237393057aac1d80f024bc1b40b10 /src/test/verify/login.rs
parent9bd5ea4b4292761b0b2f823c887f114459c80d8f (diff)
Convert the last stray tests to be generic over components deriveable from an App.
There are a few places in the test fixtures that still call `App` methods directly, as they call `app.users()` (which, as per previous commits, has no `FromRef` impl).
Diffstat (limited to 'src/test/verify/login.rs')
-rw-r--r--src/test/verify/login.rs23
1 files changed, 15 insertions, 8 deletions
diff --git a/src/test/verify/login.rs b/src/test/verify/login.rs
index ae2e91e..aad01bc 100644
--- a/src/test/verify/login.rs
+++ b/src/test/verify/login.rs
@@ -1,23 +1,30 @@
+use axum::extract::FromRef;
+
use crate::{
- app::App,
- login::app::LoginError,
+ login::app::{LoginError, Logins},
name::Name,
password::Password,
test::{fixtures, verify},
+ token::app::Tokens,
};
-pub async fn valid_login(app: &App, name: &Name, password: &Password) {
- let secret = app
- .logins()
+pub async fn valid_login<App>(app: &App, name: &Name, password: &Password)
+where
+ Logins: FromRef<App>,
+ Tokens: FromRef<App>,
+{
+ let secret = Logins::from_ref(app)
.with_password(name, password, &fixtures::now())
.await
.expect("login credentials expected to be valid");
verify::token::valid_for_name(&app, &secret, &name).await;
}
-pub async fn invalid_login(app: &App, name: &Name, password: &Password) {
- let error = app
- .logins()
+pub async fn invalid_login<App>(app: &App, name: &Name, password: &Password)
+where
+ Logins: FromRef<App>,
+{
+ let error = Logins::from_ref(app)
.with_password(name, password, &fixtures::now())
.await
.expect_err("login credentials expected not to be valid");