summaryrefslogtreecommitdiff
path: root/src/test/fixtures/identity.rs
diff options
context:
space:
mode:
authorOwen Jacobson <owen@grimoire.ca>2024-09-29 02:02:41 -0400
committerOwen Jacobson <owen@grimoire.ca>2024-09-29 02:04:01 -0400
commit6c054c5b8d43a818ccfa9087960dc19b286e6bb7 (patch)
treec1eff6f13a1ac3ba102fcfa22de9f25ed30546d0 /src/test/fixtures/identity.rs
parent0b1cb80dd0b0f90c4892de7e7a2d18a076ecbdf2 (diff)
Reimplement the logout machinery in terms of token IDs, not token secrets.
This (a) reduces the amount of passing secrets around that's needed, and (b) allows tests to log out in a more straightforwards manner. Ish. The fixtures are a mess, but so is the nomenclature. Fix the latter and the former will probably follow.
Diffstat (limited to 'src/test/fixtures/identity.rs')
-rw-r--r--src/test/fixtures/identity.rs12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/test/fixtures/identity.rs b/src/test/fixtures/identity.rs
index bdd7881..633fb8a 100644
--- a/src/test/fixtures/identity.rs
+++ b/src/test/fixtures/identity.rs
@@ -22,11 +22,8 @@ pub async fn logged_in(app: &App, login: &(String, Password), now: &RequestedAt)
IdentityToken::new().set(token)
}
-pub async fn identity(app: &App, login: &(String, Password), issued_at: &RequestedAt) -> Identity {
- let secret = logged_in(app, login, issued_at)
- .await
- .secret()
- .expect("successful login generates a secret");
+pub async fn from_token(app: &App, token: &IdentityToken, issued_at: &RequestedAt) -> Identity {
+ let secret = token.secret().expect("identity token has a secret");
let (token, login) = app
.logins()
.validate(&secret, issued_at)
@@ -36,6 +33,11 @@ pub async fn identity(app: &App, login: &(String, Password), issued_at: &Request
Identity { token, login }
}
+pub async fn identity(app: &App, login: &(String, Password), issued_at: &RequestedAt) -> Identity {
+ let secret = logged_in(app, login, issued_at).await;
+ from_token(app, &secret, issued_at).await
+}
+
pub fn secret(identity: &IdentityToken) -> IdentitySecret {
identity.secret().expect("identity contained a secret")
}