use secfinding::{filter, Finding, FindingFilter, Severity};
#[test]
fn filter_applies_severity_scanner_and_tags() {
let f1 = Finding::builder("calyx", "target", Severity::High)
.title("t")
.tag("sql")
.build()
.unwrap();
let f2 = Finding::builder("gossan", "target", Severity::Medium)
.title("t")
.tag("xss")
.build()
.unwrap();
let findings = vec![f1, f2];
let f = FindingFilter {
min_severity: Some(Severity::High),
..Default::default()
};
assert_eq!(filter(&findings, &f).len(), 1);
let f = FindingFilter {
exclude_scanners: vec!["gossan".into()],
..Default::default()
};
assert_eq!(filter(&findings, &f).len(), 1);
let f = FindingFilter {
include_tags: vec!["xss".into()],
..Default::default()
};
assert_eq!(filter(&findings, &f).len(), 1);
}