Some checks failed
SonarQube / SonarQube (push) Failing after 5m28s
E2e test on main branch push / server and client test (map[name:admin port:8080]) (push) Failing after 3m33s
Server and lib tests / Library test (js) (push) Failing after 1m36s
Server and lib tests / Library test (vue) (push) Successful in 2m24s
Server and lib tests / Web client test (admin) (push) Successful in 2m52s
Server and lib tests / Web client test (compose) (push) Successful in 3m23s
Server and lib tests / Web client test (discovery) (push) Successful in 2m49s
Server and lib tests / Web client test (one) (push) Successful in 2m52s
Server and lib tests / Web client test (privacy) (push) Successful in 2m44s
Server and lib tests / Web client test (reporter) (push) Successful in 2m56s
Server and lib tests / Web client test (workflow) (push) Successful in 3m0s
Server and lib tests / Server tests (push) Failing after 4m55s
E2e test on main branch push / notify-failure (push) Failing after 9s
Server and lib tests / Send matrix testing notification (push) Successful in 2s
Mark stale issues and pull requests / stale (push) Successful in 40s
57 lines
842 B
Go
57 lines
842 B
Go
package auth
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/require"
|
|
)
|
|
|
|
func TestApplyRoleSecurity(t *testing.T) {
|
|
tests := []struct {
|
|
name string
|
|
permitted []uint64
|
|
prohibited []uint64
|
|
forced []uint64
|
|
roles []uint64
|
|
wantOut []uint64
|
|
}{
|
|
{
|
|
"empty",
|
|
[]uint64{},
|
|
[]uint64{},
|
|
[]uint64{},
|
|
[]uint64{},
|
|
[]uint64{},
|
|
},
|
|
{
|
|
"nil",
|
|
nil,
|
|
nil,
|
|
nil,
|
|
nil,
|
|
[]uint64{},
|
|
},
|
|
{
|
|
"one",
|
|
[]uint64{1},
|
|
[]uint64{2},
|
|
[]uint64{3},
|
|
[]uint64{1, 2},
|
|
[]uint64{1, 3},
|
|
},
|
|
{
|
|
"forced only",
|
|
[]uint64{},
|
|
[]uint64{},
|
|
[]uint64{3, 2, 1},
|
|
[]uint64{2},
|
|
[]uint64{1, 2, 3},
|
|
},
|
|
}
|
|
for _, tt := range tests {
|
|
t.Run(tt.name, func(t *testing.T) {
|
|
require.Equal(t, tt.wantOut, ApplyRoleSecurity(tt.permitted, tt.prohibited, tt.forced, tt.roles...))
|
|
})
|
|
}
|
|
}
|