Skip to main content

fallow_cli/report/ci/
severity.rs

1#[cfg(test)]
2use fallow_config::Severity;
3
4#[must_use]
5#[cfg(test)]
6pub const fn sarif_level(severity: Severity) -> &'static str {
7    match severity {
8        Severity::Error => "error",
9        Severity::Warn => "warning",
10        Severity::Off => unreachable!(),
11    }
12}
13
14#[must_use]
15#[cfg(test)]
16pub const fn review_label(severity: Severity) -> &'static str {
17    match severity {
18        Severity::Error => "error",
19        Severity::Warn => "warn",
20        Severity::Off => "off",
21    }
22}
23
24#[cfg(test)]
25mod tests {
26    use super::*;
27
28    #[test]
29    fn maps_error_across_ci_surfaces() {
30        assert_eq!(sarif_level(Severity::Error), "error");
31        assert_eq!(review_label(Severity::Error), "error");
32    }
33
34    #[test]
35    fn maps_warn_across_ci_surfaces() {
36        assert_eq!(sarif_level(Severity::Warn), "warning");
37        assert_eq!(review_label(Severity::Warn), "warn");
38    }
39}