3
0
Files
corteza/pkg/rbac/rule_test.go
2021-07-14 10:44:09 +02:00

41 lines
772 B
Go

package rbac
import (
"sort"
"testing"
"github.com/stretchr/testify/require"
)
func TestRuleSetSort(t *testing.T) {
var (
req = require.New(t)
rr = RuleSet{
{Resource: ":::/*/*/*"},
{Resource: ":::/1/2/3"},
{Resource: ":::/1/2/*"},
{Resource: ":::/1/*/*"},
{Resource: ":::/1/*/3"},
{Resource: ":::/*/*/3"},
{Resource: ":::/*/2/*"},
}
c int = 0
i = func() int {
c++
return c - 1
}
)
req.NotNil(rr)
sort.Sort(rr)
c = i()
req.Equal(":::/1/2/3", rr[i()].Resource)
req.Equal(":::/1/*/3", rr[i()].Resource)
req.Equal(":::/*/*/3", rr[i()].Resource)
req.Equal(":::/1/2/*", rr[i()].Resource)
req.Equal(":::/*/2/*", rr[i()].Resource)
req.Equal(":::/1/*/*", rr[i()].Resource)
req.Equal(":::/*/*/*", rr[i()].Resource)
}