1use fallow_config::{ResolvedConfig, Severity};
4
5pub fn enable_security_rules(config: &mut ResolvedConfig) {
11 if config.rules.security_client_server_leak == Severity::Off {
12 config.rules.security_client_server_leak = Severity::Warn;
13 }
14 if config.rules.security_sink == Severity::Off {
15 config.rules.security_sink = Severity::Warn;
16 }
17}
18
19#[cfg(test)]
20#[allow(
21 clippy::expect_used,
22 reason = "fixture setup asserts its own invariants directly"
23)]
24mod tests {
25 use super::enable_security_rules;
26
27 #[test]
28 fn enables_only_default_off_security_rules() {
29 let project = tempfile::tempdir().expect("temp dir");
30 let mut config = fallow_config::FallowConfig::default().resolve(
31 project.path().to_path_buf(),
32 fallow_config::OutputFormat::Human,
33 1,
34 true,
35 true,
36 None,
37 );
38 config.rules.security_client_server_leak = fallow_config::Severity::Off;
39 config.rules.security_sink = fallow_config::Severity::Error;
40
41 enable_security_rules(&mut config);
42
43 assert_eq!(
44 config.rules.security_client_server_leak,
45 fallow_config::Severity::Warn
46 );
47 assert_eq!(config.rules.security_sink, fallow_config::Severity::Error);
48 }
49}