use mecha10_core::auth::*;
#[test]
fn test_matches_pattern() {
assert!(matches_pattern("*", "/anything"));
assert!(matches_pattern("/sensors/*", "/sensors/camera"));
assert!(matches_pattern("/sensors/*/rgb", "/sensors/camera/rgb"));
assert!(!matches_pattern("/sensors/*", "/control/motor"));
assert!(!matches_pattern("/sensors/camera", "/sensors/lidar"));
}
#[test]
fn test_policy_allows() {
let policy = Policy::new("test")
.allow_publish("/sensors/*")
.allow_subscribe("/control/*");
assert!(policy.allows(Permission::Publish, "/sensors/camera"));
assert!(policy.allows(Permission::Subscribe, "/control/motor"));
assert!(!policy.allows(Permission::Publish, "/control/motor"));
assert!(!policy.allows(Permission::Subscribe, "/sensors/camera"));
}