#![allow(unused)]
use super::{get, read_keys};
use super::{Error, Result};
use crate::b64u::{decode, decode_to_string};
use std::collections::HashMap;
crate::generate_env_methods!(b64u);
#[cfg(test)]
mod tests {
use super::*;
use std::env;
#[test]
fn test_get_as_s() {
env::set_var("TEST_B64U", "SGVsbG8gd29ybGQ");
let result = get_b64u_as_s("TEST_B64U");
assert!(result.is_ok());
assert_eq!(result.unwrap(), "Hello world");
let result = get_b64u_as_s("NON_EXISTENT_VAR");
assert!(result.is_err());
}
#[test]
fn test_get_as_u8s() {
env::set_var("TEST_B64U", "SGVsbG8gd29ybGQ");
let result = get_b64u_as_u8s("TEST_B64U");
assert!(result.is_ok());
assert_eq!(result.unwrap(), b"Hello world");
let result = get_b64u_as_u8s("NON_EXISTENT_VAR");
assert!(result.is_err());
}
#[test]
fn test_get_keys_as_s() {
env::set_var(
"TEST_KEYS_B64U",
"KEY1:SGVsbG8gd29ybGQ,KEY2:SGVsbG8gd29ybGQ", );
let result = get_keys_b64u_as_s("TEST_KEYS_B64U");
assert!(result.is_ok());
let map = result.unwrap();
assert_eq!(map.get("KEY1"), Some(&"Hello world".to_string()));
assert_eq!(map.get("KEY2"), Some(&"Hello world".to_string()));
let result = get_keys_b64u_as_s("NON_EXISTENT_KEYS");
assert!(result.is_err());
}
#[test]
fn test_get_keys_as_u8s() {
env::set_var(
"TEST_KEYS_B64U",
"KEY1:SGVsbG8gd29ybGQ,KEY2:SGVsbG8gd29ybGQ", );
let result = get_keys_b64u_as_u8s("TEST_KEYS_B64U");
assert!(result.is_ok());
let map = result.unwrap();
assert_eq!(map.get("KEY1"), Some(&b"Hello world".to_vec()));
assert_eq!(map.get("KEY2"), Some(&b"Hello world".to_vec()));
let result = get_keys_b64u_as_u8s("NON_EXISTENT_KEYS");
assert!(result.is_err());
}
#[test]
fn test_get_as_s_invalid() {
env::set_var("TEST_B64U_INVALID", "INVALID_BASE64URL");
let result = get_b64u_as_s("TEST_B64U_INVALID");
assert!(result.is_err());
}
#[test]
fn test_get_keys_as_s_invalid() {
env::set_var("TEST_KEYS_B64U_INVALID", "KEY1:INVALID_BASE64URL");
let result = get_keys_b64u_as_s("TEST_KEYS_B64U_INVALID");
assert!(result.is_err());
}
}