use base64::{Engine as _, engine::general_purpose};
use cdumay_core::ErrorConverter;
use cdumay_error_base64::Base64DecodeErrorConverter;
use std::collections::BTreeMap;
#[test]
fn test_invalid_base64_decode_error() {
let invalid_data = "!!! not base64 !!!";
let result = general_purpose::STANDARD.decode(invalid_data);
assert!(result.is_err());
let err = result.unwrap_err();
let ctx = BTreeMap::new();
let custom = Base64DecodeErrorConverter::convert_error(&err, Some("Failed to decode base64".to_string()), ctx);
assert_eq!(custom.message(), "Failed to decode base64");
}
#[test]
fn test_valid_base64_decoding() {
let valid_data = general_purpose::STANDARD.encode(b"hello world");
let decoded = general_purpose::STANDARD.decode(&valid_data);
assert!(decoded.is_ok());
assert_eq!(decoded.unwrap(), b"hello world");
}