use sddl::SecurityDescriptor;
#[test]
fn testcase1() {
let sddl_string = "O:BAG:BAD:P(A;CIOI;GRGX;;;BU)(A;CIOI;GA;;;BA)(A;CIOI;GA;;;SY)(A;CIOI;GA;;;CO)S:P(AU;FA;GR;;;WD)";
let domain_rid = [1,2,3];
let _ = SecurityDescriptor::from_sddl(sddl_string, Some(&domain_rid)).unwrap();
}
#[test]
fn testcase1_reversed() {
let sddl_string = "O:BAG:BAS:P(AU;FA;GR;;;WD)D:P(A;CIOI;GRGX;;;BU)(A;CIOI;GA;;;BA)(A;CIOI;GA;;;SY)(A;CIOI;GA;;;CO)";
let domain_rid = [1,2,3];
let _ = SecurityDescriptor::from_sddl(sddl_string, Some(&domain_rid)).unwrap();
}
#[test]
fn testcase2() {
let sddl_string = "O:S-1-1-0G:S-1-1-0D:(A;OICISA;GRGWGXGAMAASSYWOWDRCSD;;;WD)";
let domain_rid = [1,2,3];
let sd = SecurityDescriptor::from_sddl(sddl_string, Some(&domain_rid)).unwrap();
assert_eq!(&format!("{sd}"), sddl_string);
}
#[test]
fn testcase2_numeric() {
let sddl_string = "O:S-1-1-0G:S-1-1-0D:(A;OICISA;GRGWGXGAMAASSYWOWDRCSD;;;WD)";
let domain_rid = [1,2,3];
let sd = SecurityDescriptor::from_sddl(sddl_string, Some(&domain_rid)).unwrap();
assert_eq!(&format!("{sd:#}"), "O:S-1-1-0G:S-1-1-0D:(A;OICISA;0xf31f0000;;;WD)");
assert_eq!(&format!("{sd:}"), sddl_string);
}