summaryrefslogtreecommitdiff
path: root/src/test/verify/token.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/verify/token.rs')
-rw-r--r--src/test/verify/token.rs34
1 files changed, 34 insertions, 0 deletions
diff --git a/src/test/verify/token.rs b/src/test/verify/token.rs
new file mode 100644
index 0000000..adc4397
--- /dev/null
+++ b/src/test/verify/token.rs
@@ -0,0 +1,34 @@
+use crate::{
+ app::App,
+ login::Login,
+ name::Name,
+ test::fixtures,
+ token::{Secret, app},
+};
+
+pub async fn valid_for_name(app: &App, secret: &Secret, name: &Name) {
+ let identity = app
+ .tokens()
+ .validate(secret, &fixtures::now())
+ .await
+ .expect("provided secret is valid");
+ assert_eq!(name, &identity.login.name);
+}
+
+pub async fn valid_for_login(app: &App, secret: &Secret, login: &Login) {
+ let identity = app
+ .tokens()
+ .validate(secret, &fixtures::now())
+ .await
+ .expect("provided secret is valid");
+ assert_eq!(login, &identity.login);
+}
+
+pub async fn invalid(app: &App, secret: &Secret) {
+ let error = app
+ .tokens()
+ .validate(secret, &fixtures::now())
+ .await
+ .expect_err("provided secret is invalid");
+ assert!(matches!(error, app::ValidateError::InvalidToken));
+}