package auth import "testing" func TestParseRules(t *testing.T) { m, err := ParseRules([]string{"::r|admin:secret:rw:private:d"}) if err != nil { t.Fatal(err) } if !m.Guest.Mask.HasRead() || m.Guest.Mask.HasWrite() { t.Fatal("guest mask") } a := m.Accounts["admin"] if a == nil || !a.Mask.HasWrite() || a.Mask.HasDelete() { t.Fatal("admin mask") } if got := a.MaskFor("private/x"); !got.HasDelete() { t.Fatalf("subrule=%v", got) } }