windows_windows_test.go 519 B

123456789101112131415161718
  1. package windows
  2. import "testing"
  3. func TestAddAceToSddlDacl(t *testing.T) {
  4. cases := [][3]string{
  5. {"D:", "(A;;;)", "D:(A;;;)"},
  6. {"D:(A;;;)", "(A;;;)", "D:(A;;;)"},
  7. {"O:D:(A;;;stuff)", "(A;;;new)", "O:D:(A;;;new)(A;;;stuff)"},
  8. {"O:D:(D;;;no)(A;;;stuff)", "(A;;;new)", "O:D:(D;;;no)(A;;;new)(A;;;stuff)"},
  9. }
  10. for _, c := range cases {
  11. if newSddl, worked := addAceToSddlDacl(c[0], c[1]); !worked || newSddl != c[2] {
  12. t.Errorf("%s + %s == %s, expected %s (%v)", c[0], c[1], newSddl, c[2], worked)
  13. }
  14. }
  15. }