opensession_api/
deploy.rs1pub const ENV_PUBLIC_FEED_ENABLED: &str = "OPENSESSION_PUBLIC_FEED_ENABLED";
5
6pub const ENV_SESSION_SCORE_PLUGIN: &str = "OPENSESSION_SESSION_SCORE_PLUGIN";
8
9pub fn parse_bool_flag(raw: Option<&str>, default: bool) -> bool {
17 raw.map(|value| {
18 matches!(
19 value.trim().to_ascii_lowercase().as_str(),
20 "1" | "true" | "yes" | "on"
21 )
22 })
23 .unwrap_or(default)
24}
25
26#[cfg(test)]
27mod tests {
28 use super::parse_bool_flag;
29
30 #[test]
31 fn parses_truthy_values() {
32 for value in ["1", "true", "TRUE", "yes", "on"] {
33 assert!(parse_bool_flag(Some(value), false));
34 }
35 }
36
37 #[test]
38 fn parses_falsy_values() {
39 for value in ["0", "false", "no", "off", ""] {
40 assert!(!parse_bool_flag(Some(value), true));
41 }
42 }
43
44 #[test]
45 fn uses_default_for_missing_value() {
46 assert!(parse_bool_flag(None, true));
47 assert!(!parse_bool_flag(None, false));
48 }
49}