Test acl
This commit is contained in:
@@ -27,7 +27,7 @@ func veryNumBit(n NumBit) bool {
|
||||
}
|
||||
|
||||
// unite slice int to int64
|
||||
func Unite(a []AclBit) AclBit {
|
||||
func Unite(a ...AclBit) AclBit {
|
||||
var endacl AclBit
|
||||
for _, a0 := range a {
|
||||
endacl = endacl | a0
|
||||
|
||||
23
acl/aclbit_test.go
Normal file
23
acl/aclbit_test.go
Normal file
@@ -0,0 +1,23 @@
|
||||
package acl_test
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"github.com/stretchr/testify/assert"
|
||||
"gitstore.ru/tolikproh/policy/acl"
|
||||
)
|
||||
|
||||
func Test_Acl(t *testing.T) {
|
||||
t.Run("Valid AclBits", func(t *testing.T) {
|
||||
for i := 0; i < 63; i++ {
|
||||
a := acl.New(acl.NumBit(i))
|
||||
assert.Equal(t, true, acl.Verify(a, acl.NumBit(i)))
|
||||
}
|
||||
})
|
||||
t.Run("NotValid AclBits", func(t *testing.T) {
|
||||
for i := -63; i == 0; i++ {
|
||||
a := acl.New(acl.NumBit(i))
|
||||
assert.NotEqual(t, true, acl.Verify(a, acl.NumBit(i)))
|
||||
}
|
||||
})
|
||||
}
|
||||
19
acl/testing.go
Normal file
19
acl/testing.go
Normal file
@@ -0,0 +1,19 @@
|
||||
package acl
|
||||
|
||||
import (
|
||||
"testing"
|
||||
)
|
||||
|
||||
// TestAcl
|
||||
func TestAcl(t *testing.T) AclBit {
|
||||
t.Helper()
|
||||
|
||||
var a, b AclBit
|
||||
|
||||
for i := 0; i < 63; i++ {
|
||||
b = New(NumBit(i))
|
||||
a = Unite(a, b)
|
||||
}
|
||||
|
||||
return a
|
||||
}
|
||||
Reference in New Issue
Block a user