bitwarden_importers/importers/onepassword/access/
error.rs1use thiserror::Error;
6
7#[derive(Debug, Error)]
9pub enum OnePasswordError {
10 #[error("network error: {0}")]
12 Network(String),
13
14 #[error("invalid credentials")]
16 BadCredentials,
17
18 #[error("invalid sign-in address: {0}")]
20 InvalidSignInAddress(String),
21
22 #[error("not found")]
24 NotFound,
25
26 #[error("two-factor authentication required")]
28 TwoFactorRequired,
29
30 #[error("two-factor authentication failed")]
32 TwoFactorFailed,
33
34 #[error("decryption failed")]
36 Decryption,
37
38 #[error("failed to parse server response")]
40 Parse,
41
42 #[error("unsupported: {0}")]
44 Unsupported(String),
45
46 #[error("internal error: {0}")]
48 Internal(String),
49}
50
51#[cfg(test)]
52mod tests {
53 use super::*;
54
55 #[test]
56 fn errors_describe_themselves() {
57 assert_eq!(
58 OnePasswordError::Network("timed out".into()).to_string(),
59 "network error: timed out"
60 );
61 assert_eq!(
62 OnePasswordError::Unsupported("Duo".into()).to_string(),
63 "unsupported: Duo"
64 );
65 assert_eq!(
66 OnePasswordError::BadCredentials.to_string(),
67 "invalid credentials"
68 );
69 }
70}