@@ -0,0 +1,39 @@
|
||||
package auth
|
||||
|
||||
import "testing"
|
||||
|
||||
func TestResolveRoles(t *testing.T) {
|
||||
roles := ResolveRoles(
|
||||
[]string{
|
||||
"cn=vctp-admins,ou=groups,dc=example,dc=com",
|
||||
" CN=VCTP-VIEWERS,OU=GROUPS,DC=EXAMPLE,DC=COM ",
|
||||
},
|
||||
map[string]string{
|
||||
"cn=vctp-admins,ou=groups,dc=example,dc=com": "admin",
|
||||
"cn=vctp-viewers,ou=groups,dc=example,dc=com": "viewer",
|
||||
},
|
||||
)
|
||||
|
||||
if len(roles) != 2 {
|
||||
t.Fatalf("expected 2 roles, got %d (%#v)", len(roles), roles)
|
||||
}
|
||||
if roles[0] != "admin" || roles[1] != "viewer" {
|
||||
t.Fatalf("unexpected resolved roles: %#v", roles)
|
||||
}
|
||||
}
|
||||
|
||||
func TestHasAnyGroup(t *testing.T) {
|
||||
groups := []string{
|
||||
"cn=vctp-admins,ou=groups,dc=example,dc=com",
|
||||
}
|
||||
|
||||
if !HasAnyGroup(groups, []string{" cn=vctp-admins,ou=groups,dc=example,dc=com "}) {
|
||||
t.Fatal("expected group intersection to match")
|
||||
}
|
||||
if HasAnyGroup(groups, []string{"cn=vctp-operators,ou=groups,dc=example,dc=com"}) {
|
||||
t.Fatal("expected no intersection")
|
||||
}
|
||||
if !HasAnyGroup(groups, nil) {
|
||||
t.Fatal("expected empty required groups to allow")
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user