1use thiserror::Error;
4
5#[derive(Error, Debug, PartialEq)]
7pub enum Error {
8 #[error("PROXY-ERROR {0}")]
12 ProxyError(String),
13 #[error("error parsing client params: {0}")]
15 ParseError(String),
16 #[error("unknown data store error")]
18 Unknown,
19}
20
21#[cfg(test)]
22mod tests {
23 use super::*;
24
25 #[test]
26 fn proxy_error_display() {
27 let e = Error::ProxyError("SOCKS5 not supported".into());
28 assert_eq!(format!("{e}"), "PROXY-ERROR SOCKS5 not supported");
29 }
30
31 #[test]
32 fn parse_error_display() {
33 let e = Error::ParseError("missing key".into());
34 assert!(format!("{e}").contains("missing key"));
35 }
36
37 #[test]
38 fn unknown_display() {
39 let e = Error::Unknown;
40 assert_eq!(format!("{e}"), "unknown data store error");
41 }
42
43 #[test]
44 fn error_is_eq() {
45 assert_eq!(Error::Unknown, Error::Unknown);
46 assert_ne!(Error::ProxyError("a".into()), Error::ProxyError("b".into()),);
47 }
48}