maili_protocol/messages/
safety.rs#[derive(Debug, Clone, PartialEq, Eq)]
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[cfg_attr(feature = "serde", serde(rename_all = "kebab-case"))]
pub enum SafetyLevel {
Finalized,
Safe,
LocalSafe,
CrossUnsafe,
Unsafe,
Invalid,
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn test_safety_level_serde() {
let level = SafetyLevel::Finalized;
let json = serde_json::to_string(&level).unwrap();
assert_eq!(json, r#""finalized""#);
let level: SafetyLevel = serde_json::from_str(&json).unwrap();
assert_eq!(level, SafetyLevel::Finalized);
}
#[test]
fn test_serde_safety_level_fails() {
let json = r#""failed""#;
let level: Result<SafetyLevel, _> = serde_json::from_str(json);
assert!(level.is_err());
}
}