reinhardt_testkit/auth/
error.rs1use thiserror::Error;
2
3#[derive(Debug, Error)]
5pub enum TestAuthError {
6 #[error("session backend error: {0}")]
8 SessionError(String),
9 #[error("JWT signing error: {0}")]
11 JwtError(String),
12 #[error("secondary auth error: {0}")]
14 SecondaryAuthError(String),
15 #[error("no primary auth configured")]
17 NoPrimaryAuth,
18 #[error("MFA user not registered: {0}")]
20 MfaUserNotRegistered(String),
21 #[error("client error: {0}")]
23 ClientError(String),
24}
25
26#[cfg(test)]
27mod tests {
28 use super::*;
29 use rstest::*;
30
31 #[rstest]
32 #[case(TestAuthError::SessionError("timeout".into()), "session backend error: timeout")]
33 #[case(TestAuthError::JwtError("bad key".into()), "JWT signing error: bad key")]
34 #[case(TestAuthError::NoPrimaryAuth, "no primary auth configured")]
35 #[case(TestAuthError::MfaUserNotRegistered("alice".into()), "MFA user not registered: alice")]
36 #[case(TestAuthError::ClientError("header fail".into()), "client error: header fail")]
37 fn display_formats(#[case] error: TestAuthError, #[case] expected: &str) {
38 assert_eq!(error.to_string(), expected);
39 }
40}