use secfinding::FindingKind;
#[test]
fn serde_and_display_kebab_case() {
let json = serde_json::to_string(&FindingKind::TechDetect).unwrap();
assert_eq!(json, "\"tech-detect\"");
let parsed: FindingKind = serde_json::from_str("\"tech-detect\"").unwrap();
assert_eq!(parsed, FindingKind::TechDetect);
assert_eq!(FindingKind::TechDetect.to_string(), "tech-detect");
}
#[test]
fn from_str_case_insensitive() {
assert_eq!(
"VulneRability".parse::<FindingKind>().unwrap(),
FindingKind::Vulnerability
);
}
#[test]
fn from_str_kebab_and_snake() {
assert_eq!(
"tech-detect".parse::<FindingKind>().unwrap(),
FindingKind::TechDetect
);
assert_eq!(
"tech_detect".parse::<FindingKind>().unwrap(),
FindingKind::TechDetect
);
}
#[test]
fn from_str_unknown_is_rejected() {
assert!("some-weird-kind".parse::<FindingKind>().is_err());
assert_eq!(
"other".parse::<FindingKind>().unwrap(),
FindingKind::Other
);
}