pub const MAX_PATH_PATTERNS: u32 = 256;
pub const MAX_PATH_LEN: usize = 256;
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
#[repr(u8)]
pub enum PathVerdict {
Allow = 0,
Deny = 1,
}
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct PathPattern {
pub pattern: String,
pub verdict: PathVerdict,
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn path_pattern_construction() {
let pattern = PathPattern {
pattern: "/etc/shadow".into(),
verdict: PathVerdict::Deny,
};
assert_eq!(pattern.pattern, "/etc/shadow");
assert_eq!(pattern.verdict, PathVerdict::Deny);
}
#[test]
fn constants_have_expected_values() {
assert_eq!(MAX_PATH_PATTERNS, 256);
assert_eq!(MAX_PATH_LEN, 256);
}
}