diff options
Diffstat (limited to 'src/test')
| -rw-r--r-- | src/test/fixtures/cookie.rs | 14 | ||||
| -rw-r--r-- | src/test/fixtures/identity.rs | 6 | ||||
| -rw-r--r-- | src/test/fixtures/invite.rs | 4 | ||||
| -rw-r--r-- | src/test/fixtures/login.rs | 21 | ||||
| -rw-r--r-- | src/test/fixtures/message.rs | 4 | ||||
| -rw-r--r-- | src/test/fixtures/mod.rs | 1 | ||||
| -rw-r--r-- | src/test/fixtures/user.rs | 25 | ||||
| -rw-r--r-- | src/test/verify/identity.rs | 6 | ||||
| -rw-r--r-- | src/test/verify/login.rs | 10 | ||||
| -rw-r--r-- | src/test/verify/token.rs | 8 |
10 files changed, 48 insertions, 51 deletions
diff --git a/src/test/fixtures/cookie.rs b/src/test/fixtures/cookie.rs index f5a32a6..7dc5083 100644 --- a/src/test/fixtures/cookie.rs +++ b/src/test/fixtures/cookie.rs @@ -1,11 +1,7 @@ use uuid::Uuid; use crate::{ - app::App, - clock::RequestedAt, - name::Name, - password::Password, - token::{Secret, extract::IdentityCookie}, + app::App, clock::RequestedAt, name::Name, password::Password, token::extract::IdentityCookie, }; pub fn not_logged_in() -> IdentityCookie { @@ -19,18 +15,14 @@ pub async fn logged_in( ) -> IdentityCookie { let (name, password) = credentials; let secret = app - .tokens() - .login(name, password, now) + .logins() + .with_password(name, password, now) .await .expect("should succeed given known-valid credentials"); IdentityCookie::new().set(secret) } -pub fn secret(identity: &IdentityCookie) -> Secret { - identity.secret().expect("identity contained a secret") -} - pub fn fictitious() -> IdentityCookie { let token = Uuid::new_v4().to_string(); IdentityCookie::new().set(token) diff --git a/src/test/fixtures/identity.rs b/src/test/fixtures/identity.rs index ac353de..93e4a38 100644 --- a/src/test/fixtures/identity.rs +++ b/src/test/fixtures/identity.rs @@ -37,8 +37,8 @@ pub async fn logged_in( } pub fn fictitious() -> Identity { - let user = fixtures::user::fictitious(); - let (token, _) = Token::generate(&user, &fixtures::now()); + let login = fixtures::login::fictitious(); + let (token, _) = Token::generate(&login, &fixtures::now()); - Identity { token, user } + Identity { token, login } } diff --git a/src/test/fixtures/invite.rs b/src/test/fixtures/invite.rs index 7a41eb6..654d1b4 100644 --- a/src/test/fixtures/invite.rs +++ b/src/test/fixtures/invite.rs @@ -2,10 +2,10 @@ use crate::{ app::App, clock::DateTime, invite::{self, Invite}, - user::User, + login::Login, }; -pub async fn issue(app: &App, issuer: &User, issued_at: &DateTime) -> Invite { +pub async fn issue(app: &App, issuer: &Login, issued_at: &DateTime) -> Invite { app.invites() .issue(issuer, issued_at) .await diff --git a/src/test/fixtures/login.rs b/src/test/fixtures/login.rs new file mode 100644 index 0000000..d9aca81 --- /dev/null +++ b/src/test/fixtures/login.rs @@ -0,0 +1,21 @@ +use crate::{ + app::App, + clock::DateTime, + login::{self, Login}, + test::fixtures::user::{propose, propose_name}, +}; + +pub async fn create(app: &App, created_at: &DateTime) -> Login { + let (name, password) = propose(); + app.users() + .create(&name, &password, created_at) + .await + .expect("should always succeed if the user is actually new") +} + +pub fn fictitious() -> Login { + Login { + id: login::Id::generate(), + name: propose_name(), + } +} diff --git a/src/test/fixtures/message.rs b/src/test/fixtures/message.rs index 03f8072..92ac1f5 100644 --- a/src/test/fixtures/message.rs +++ b/src/test/fixtures/message.rs @@ -4,14 +4,14 @@ use crate::{ app::App, clock::RequestedAt, conversation::Conversation, + login::Login, message::{self, Body, Message}, - user::User, }; pub async fn send( app: &App, conversation: &Conversation, - sender: &User, + sender: &Login, sent_at: &RequestedAt, ) -> Message { let body = propose(); diff --git a/src/test/fixtures/mod.rs b/src/test/fixtures/mod.rs index 87d3fa1..3d69cfa 100644 --- a/src/test/fixtures/mod.rs +++ b/src/test/fixtures/mod.rs @@ -9,6 +9,7 @@ pub mod event; pub mod future; pub mod identity; pub mod invite; +pub mod login; pub mod message; pub mod user; diff --git a/src/test/fixtures/user.rs b/src/test/fixtures/user.rs index 086f866..d4d8db4 100644 --- a/src/test/fixtures/user.rs +++ b/src/test/fixtures/user.rs @@ -1,13 +1,7 @@ use faker_rand::{en_us::internet, lorem::Paragraphs}; use uuid::Uuid; -use crate::{ - app::App, - clock::RequestedAt, - name::Name, - password::Password, - user::{self, User}, -}; +use crate::{app::App, clock::RequestedAt, login::Login, name::Name, password::Password}; pub async fn create_with_password(app: &App, created_at: &RequestedAt) -> (Name, Password) { let (name, password) = propose(); @@ -20,19 +14,8 @@ pub async fn create_with_password(app: &App, created_at: &RequestedAt) -> (Name, (user.name, password) } -pub async fn create(app: &App, created_at: &RequestedAt) -> User { - let (name, password) = propose(); - app.users() - .create(&name, &password, created_at) - .await - .expect("should always succeed if the login is actually new") -} - -pub fn fictitious() -> User { - User { - id: user::Id::generate(), - name: propose_name(), - } +pub async fn create(app: &App, created_at: &RequestedAt) -> Login { + super::login::create(app, created_at).await } pub fn propose() -> (Name, Password) { @@ -43,7 +26,7 @@ pub fn propose_invalid_name() -> Name { rand::random::<Paragraphs>().to_string().into() } -fn propose_name() -> Name { +pub(crate) fn propose_name() -> Name { rand::random::<internet::Username>().to_string().into() } diff --git a/src/test/verify/identity.rs b/src/test/verify/identity.rs index 226ee74..8e2d36e 100644 --- a/src/test/verify/identity.rs +++ b/src/test/verify/identity.rs @@ -1,9 +1,9 @@ use crate::{ app::App, + login::Login, name::Name, test::{fixtures, verify}, token::{app::ValidateError, extract::IdentityCookie}, - user::User, }; pub async fn valid_for_name(app: &App, identity: &IdentityCookie, name: &Name) { @@ -13,11 +13,11 @@ pub async fn valid_for_name(app: &App, identity: &IdentityCookie, name: &Name) { verify::token::valid_for_name(app, &secret, name).await; } -pub async fn valid_for_user(app: &App, identity: &IdentityCookie, user: &User) { +pub async fn valid_for_login(app: &App, identity: &IdentityCookie, login: &Login) { let secret = identity .secret() .expect("identity cookie must be set to be valid"); - verify::token::valid_for_user(app, &secret, user).await; + verify::token::valid_for_login(app, &secret, login).await; } pub async fn invalid(app: &App, identity: &IdentityCookie) { diff --git a/src/test/verify/login.rs b/src/test/verify/login.rs index 3f291a3..ae2e91e 100644 --- a/src/test/verify/login.rs +++ b/src/test/verify/login.rs @@ -1,15 +1,15 @@ use crate::{ app::App, + login::app::LoginError, name::Name, password::Password, test::{fixtures, verify}, - token::app::LoginError, }; pub async fn valid_login(app: &App, name: &Name, password: &Password) { let secret = app - .tokens() - .login(&name, &password, &fixtures::now()) + .logins() + .with_password(name, password, &fixtures::now()) .await .expect("login credentials expected to be valid"); verify::token::valid_for_name(&app, &secret, &name).await; @@ -17,8 +17,8 @@ pub async fn valid_login(app: &App, name: &Name, password: &Password) { pub async fn invalid_login(app: &App, name: &Name, password: &Password) { let error = app - .tokens() - .login(name, password, &fixtures::now()) + .logins() + .with_password(name, password, &fixtures::now()) .await .expect_err("login credentials expected not to be valid"); assert!(matches!(error, LoginError::Rejected)); diff --git a/src/test/verify/token.rs b/src/test/verify/token.rs index 99cd31f..adc4397 100644 --- a/src/test/verify/token.rs +++ b/src/test/verify/token.rs @@ -1,9 +1,9 @@ use crate::{ app::App, + login::Login, name::Name, test::fixtures, token::{Secret, app}, - user::User, }; pub async fn valid_for_name(app: &App, secret: &Secret, name: &Name) { @@ -12,16 +12,16 @@ pub async fn valid_for_name(app: &App, secret: &Secret, name: &Name) { .validate(secret, &fixtures::now()) .await .expect("provided secret is valid"); - assert_eq!(name, &identity.user.name); + assert_eq!(name, &identity.login.name); } -pub async fn valid_for_user(app: &App, secret: &Secret, user: &User) { +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!(user, &identity.user); + assert_eq!(login, &identity.login); } pub async fn invalid(app: &App, secret: &Secret) { |
