use super::*;
use crate::session::SessionError;
use crate::utils::UtilError;
use std::error::Error;
#[test]
fn test_error_source_chaining() {
let util_err = UtilError::Format("format error".to_string());
let oauth2_err: OAuth2Error = util_err.into();
match oauth2_err.source() {
Some(source) => {
assert_eq!(source.to_string(), "Invalid format: format error");
}
None => panic!("Expected error to have a source"),
}
let session_err = SessionError::Storage("session error".to_string());
let oauth2_err: OAuth2Error = session_err.into();
match oauth2_err.source() {
Some(source) => {
assert_eq!(source.to_string(), "Storage error: session error");
}
None => panic!("Expected error to have a source"),
}
}