use crate::Sensitivity;
use crate::policy::ResolvedField;
#[test]
fn test_stronger_preserves_the_more_sensitive_base_decision() {
let base = ResolvedField::Sensitive {
sensitivity: Sensitivity::Secret,
};
let context = ResolvedField::Sensitive {
sensitivity: Sensitivity::Low,
};
assert!(matches!(
base.stronger(context),
ResolvedField::Sensitive {
sensitivity: Sensitivity::Secret
}
));
}
#[test]
fn test_stronger_accepts_context_enhancement_and_pass_through() {
let base = ResolvedField::Sensitive {
sensitivity: Sensitivity::Low,
};
let context = ResolvedField::Sensitive {
sensitivity: Sensitivity::High,
};
assert!(matches!(
base.stronger(context),
ResolvedField::Sensitive {
sensitivity: Sensitivity::High
}
));
assert!(matches!(
ResolvedField::PassThrough.stronger(ResolvedField::PassThrough),
ResolvedField::PassThrough
));
}