Files
CHFS-NG/chfs-ng/internal/auth/auth_test.go
T

21 lines
453 B
Go

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)
}
}