1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100
use failure::Fail; #[derive(Debug, Fail)] pub enum CertificateError { #[fail(display = "{} - Reason: {}", 0, 1)] BadFile(String, String), #[fail(display = "{} - Reason: {}", 0, 1)] FileReadError(String, String), } #[derive(Debug, Fail)] pub enum TokenErrors { #[fail(display = "{} - Reason: {}", 0, 1)] TokenEncodingFailed(String, String), #[fail(display = "{} - Reason: {}", 0, 1)] TokenDecodingFailed(String, String), #[fail(display = "{} - Reason: {}", 0, 1)] MissingServerRefreshToken(String, String), #[fail(display = "{} - Reason: {}", 0, 1)] InvalidServerRefreshToken(String, String), #[fail(display = "{} - Reason: {}", 0, 1)] InvalidClientAuthenticationToken(String, String), } #[derive(Debug, Fail)] pub enum LoginFailed { #[fail(display = "{} - Reason: {}", 0, 1)] MissingPassword(String, String), #[fail(display = "{} - Reason: {}", 0, 1)] InvalidPassword(String, String), #[fail(display = "{} - Reason: {}", 0, 1)] InvalidTokenOwner(String, String), #[fail(display = "{} - Reason: {}", 0, 1)] PasswordHashingFailed(String, String), #[fail(display = "{} - Reason: {}", 0, 1)] PasswordVerificationFailed(String, String), } #[cfg(test)] mod tests { use super::*; #[test] fn validate_certificate_error() { let err = CertificateError::BadFile("1".to_string(), "2".to_string()); let msg = format!("{}", err); assert_eq!(msg.as_str(), "1 - Reason: 2"); let err = CertificateError::FileReadError("1".to_string(), "2".to_string()); let msg = format!("{}", err); assert_eq!(msg.as_str(), "1 - Reason: 2") } #[test] fn validate_token_error() { let err = TokenErrors::TokenEncodingFailed("1".to_string(), "2".to_string()); let msg = format!("{}", err); assert_eq!(msg.as_str(), "1 - Reason: 2"); let err = TokenErrors::TokenDecodingFailed("1".to_string(), "2".to_string()); let msg = format!("{}", err); assert_eq!(msg.as_str(), "1 - Reason: 2"); let err = TokenErrors::MissingServerRefreshToken("1".to_string(), "2".to_string()); let msg = format!("{}", err); assert_eq!(msg.as_str(), "1 - Reason: 2"); let err = TokenErrors::InvalidServerRefreshToken("1".to_string(), "2".to_string()); let msg = format!("{}", err); assert_eq!(msg.as_str(), "1 - Reason: 2"); let err = TokenErrors::InvalidClientAuthenticationToken("1".to_string(), "2".to_string()); let msg = format!("{}", err); assert_eq!(msg.as_str(), "1 - Reason: 2"); } #[test] fn validate_login_error() { let err = LoginFailed::MissingPassword("1".to_string(), "2".to_string()); let msg = format!("{}", err); assert_eq!(msg.as_str(), "1 - Reason: 2"); let err = LoginFailed::InvalidPassword("1".to_string(), "2".to_string()); let msg = format!("{}", err); assert_eq!(msg.as_str(), "1 - Reason: 2"); let err = LoginFailed::InvalidTokenOwner("1".to_string(), "2".to_string()); let msg = format!("{}", err); assert_eq!(msg.as_str(), "1 - Reason: 2"); } }