mirror of
https://github.com/ClusterCockpit/cc-backend
synced 2024-12-25 12:59:06 +01:00
Add tests for role checks, update test.db
This commit is contained in:
parent
f37e7c26f6
commit
cae7257673
@ -76,7 +76,6 @@ func getRoleEnum(roleStr string) Role {
|
|||||||
|
|
||||||
func isValidRole(role string) bool {
|
func isValidRole(role string) bool {
|
||||||
if getRoleEnum(role) == RoleError {
|
if getRoleEnum(role) == RoleError {
|
||||||
log.Errorf("Unknown Role %s", role)
|
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
return true
|
return true
|
||||||
|
@ -1 +1,129 @@
|
|||||||
|
// Copyright (C) 2022 NHR@FAU, University Erlangen-Nuremberg.
|
||||||
|
// All rights reserved.
|
||||||
|
// Use of this source code is governed by a MIT-style
|
||||||
|
// license that can be found in the LICENSE file.
|
||||||
package auth
|
package auth
|
||||||
|
|
||||||
|
import (
|
||||||
|
"testing"
|
||||||
|
)
|
||||||
|
|
||||||
|
func TestHasValidRole(t *testing.T) {
|
||||||
|
u := User{Username: "testuser", Roles: []string{"user"}}
|
||||||
|
|
||||||
|
exists, _ := u.HasValidRole("user")
|
||||||
|
|
||||||
|
if !exists {
|
||||||
|
t.Fatalf(`User{Roles: ["user"]} -> HasValidRole("user"): EXISTS = %v, expected 'true'.`, exists)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestHasNotValidRole(t *testing.T) {
|
||||||
|
u := User{Username: "testuser", Roles: []string{"user"}}
|
||||||
|
|
||||||
|
exists, _ := u.HasValidRole("manager")
|
||||||
|
|
||||||
|
if exists {
|
||||||
|
t.Fatalf(`User{Roles: ["user"]} -> HasValidRole("manager"): EXISTS = %v, expected 'false'.`, exists)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestHasInvalidRole(t *testing.T) {
|
||||||
|
u := User{Username: "testuser", Roles: []string{"user"}}
|
||||||
|
|
||||||
|
_, valid := u.HasValidRole("invalid")
|
||||||
|
|
||||||
|
if valid {
|
||||||
|
t.Fatalf(`User{Roles: ["user"]} -> HasValidRole("invalid"): VALID = %v, expected 'false'.`, valid)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestHasNotInvalidRole(t *testing.T) {
|
||||||
|
u := User{Username: "testuser", Roles: []string{"user"}}
|
||||||
|
|
||||||
|
_, valid := u.HasValidRole("user")
|
||||||
|
|
||||||
|
if !valid {
|
||||||
|
t.Fatalf(`User{Roles: ["user"]} -> HasValidRole("user"): VALID = %v, expected 'true'.`, valid)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestHasRole(t *testing.T) {
|
||||||
|
u := User{Username: "testuser", Roles: []string{"user"}}
|
||||||
|
|
||||||
|
exists := u.HasRole(RoleUser)
|
||||||
|
|
||||||
|
if !exists {
|
||||||
|
t.Fatalf(`User{Roles: ["user"]} -> HasRole(RoleUser): EXISTS = %v, expected 'true'.`, exists)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestHasNotRole(t *testing.T) {
|
||||||
|
u := User{Username: "testuser", Roles: []string{"user"}}
|
||||||
|
|
||||||
|
exists := u.HasRole(RoleManager)
|
||||||
|
|
||||||
|
if exists {
|
||||||
|
t.Fatalf(`User{Roles: ["user"]} -> HasRole(RoleManager): EXISTS = %v, expected 'false'.`, exists)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestHasAnyRole(t *testing.T) {
|
||||||
|
u := User{Username: "testuser", Roles: []string{"user", "manager"}}
|
||||||
|
|
||||||
|
result := u.HasAnyRole([]Role{RoleManager, RoleSupport})
|
||||||
|
|
||||||
|
if !result {
|
||||||
|
t.Fatalf(`User{Roles: ["user", "manager"]} -> HasAnyRole([]Role{RoleManager, RoleSupport}): RESULT = %v, expected 'true'.`, result)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestHasNotAnyRole(t *testing.T) {
|
||||||
|
u := User{Username: "testuser", Roles: []string{"user", "manager"}}
|
||||||
|
|
||||||
|
result := u.HasAnyRole([]Role{RoleSupport})
|
||||||
|
|
||||||
|
if result {
|
||||||
|
t.Fatalf(`User{Roles: ["user", "manager"]} -> HasAllRoles([]Role{RoleSupport}): RESULT = %v, expected 'false'.`, result)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestHasAllRoles(t *testing.T) {
|
||||||
|
u := User{Username: "testuser", Roles: []string{"user", "manager", "support"}}
|
||||||
|
|
||||||
|
result := u.HasAllRoles([]Role{RoleUser, RoleManager, RoleSupport})
|
||||||
|
|
||||||
|
if !result {
|
||||||
|
t.Fatalf(`User{Roles: ["user", "manager", "support"]} -> HasAllRoles([]Role{RoleUser, RoleManager, RoleSupport}): RESULT = %v, expected 'true'.`, result)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestHasNotAllRoles(t *testing.T) {
|
||||||
|
u := User{Username: "testuser", Roles: []string{"user", "manager"}}
|
||||||
|
|
||||||
|
result := u.HasAllRoles([]Role{RoleUser, RoleManager, RoleSupport})
|
||||||
|
|
||||||
|
if result {
|
||||||
|
t.Fatalf(`User{Roles: ["user", "manager"]} -> HasAllRoles([]Role{RoleUser, RoleManager, RoleSupport}): RESULT = %v, expected 'false'.`, result)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestHasNotRoles(t *testing.T) {
|
||||||
|
u := User{Username: "testuser", Roles: []string{"user", "manager"}}
|
||||||
|
|
||||||
|
result := u.HasNotRoles([]Role{RoleSupport, RoleAdmin})
|
||||||
|
|
||||||
|
if !result {
|
||||||
|
t.Fatalf(`User{Roles: ["user", "manager"]} -> HasNotRoles([]Role{RoleSupport, RoleAdmin}): RESULT = %v, expected 'true'.`, result)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestHasAllNotRoles(t *testing.T) {
|
||||||
|
u := User{Username: "testuser", Roles: []string{"user", "manager"}}
|
||||||
|
|
||||||
|
result := u.HasNotRoles([]Role{RoleUser, RoleManager})
|
||||||
|
|
||||||
|
if result {
|
||||||
|
t.Fatalf(`User{Roles: ["user", "manager"]} -> HasNotRoles([]Role{RoleUser, RoleManager}): RESULT = %v, expected 'false'.`, result)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
BIN
test/test.db
BIN
test/test.db
Binary file not shown.
Loading…
Reference in New Issue
Block a user