3
0

upd(rbac): clean up tests

This commit is contained in:
Tit Petric
2018-08-16 19:04:15 +02:00
parent f1337bc487
commit f8e73a9218
4 changed files with 35 additions and 71 deletions
+1 -1
View File
@@ -6,7 +6,7 @@ import (
func TestResources(t *testing.T) {
rbac, err := getClient()
assert(t, err == nil, "Error when creating RBAC instance: %+v", err)
must(t, err, "Error when creating RBAC instance")
rbac.Debug("debug")
roles := rbac.Roles()
+13 -24
View File
@@ -6,54 +6,43 @@ import (
func TestRoles(t *testing.T) {
rbac, err := getClient()
assert(t, err == nil, "Error when creating RBAC instance: %+v", err)
must(t, err, "Error when creating RBAC instance")
rbac.Debug("info")
roles := rbac.Roles()
roles.Delete("test-role")
err = roles.Create("test-role")
assert(t, err == nil, "Error when creating test-role: %+v", err)
err = roles.Create("test-role/nested/role")
assert(t, err != nil, "Expected error when creating deep nested role, got nil")
err = roles.Create("test-role/nested")
assert(t, err == nil, "Error when creating deep nested role, got %+v", err)
err = roles.CreateNested("test-role", "nested", "role")
assert(t, err == nil, "Error when creating deep nested role, got %+v", err)
err = roles.CreateNested()
assert(t, err != nil, "Expected non-nil error")
mustFail(t, roles.CreateNested())
must(t, roles.Create("test-role"), "Error when creating test-role")
mustFail(t, roles.Create("test-role/nested/role"))
must(t, roles.Create("test-role/nested"), "Error when creating deep nested role")
must(t, roles.CreateNested("test-role", "nested", "role"), "Error when creating deep nested role")
{
role, err := roles.Get("test-role")
assert(t, err == nil, "Error when getting role, %+v", err)
must(t, err, "Error when getting role")
assert(t, role.Name == "test-role", "Unexpected role name, test-role != '%s'", role.Name)
}
{
role, err := roles.Get("test-role/nested/role")
assert(t, err == nil, "Error when getting role, %+v", err)
must(t, err, "Error when getting role")
assert(t, role.Name == "test-role/nested/role", "Unexpected role name, test != '%s'", role.Name)
}
{
role, err := roles.GetNested()
mustFail(t, err)
assert(t, role == nil, "Expected role=nil, got %+v", role)
assert(t, err != nil, "Expected non-nil error")
}
{
role, err := roles.GetNested("test-role", "nested")
assert(t, err == nil, "Error when getting role, %+v", err)
must(t, err, "Error when getting role")
assert(t, role.Name == "test-role/nested", "Unexpected role name, test != '%s'", role.Name)
}
err = roles.Delete("test-role")
assert(t, nil == err, "Error when deleting test-role: %+v", err)
err = roles.Delete("non-existant")
assert(t, err != nil, "Expected error on deleting a non-existant role")
must(t, roles.Delete("test-role"), "Error when deleting test-role")
mustFail(t, roles.Delete("non-existant"))
mustFail(t, roles.Delete("test-role"))
}
+6 -3
View File
@@ -6,7 +6,7 @@ import (
func TestSessions(t *testing.T) {
rbac, err := getClient()
assert(t, err == nil, "Error when creating RBAC instance: %+v", err)
must(t, err, "Error when creating RBAC instance")
rbac.Debug("info")
sessions := rbac.Sessions()
@@ -67,6 +67,9 @@ func TestSessions(t *testing.T) {
}
must(t, sessions.Delete("test-session"), "Error when deleting test-session")
// @todo: Write tests (need users, roles)
mustFail(t, func() error {
_, err := sessions.Get("test-session")
return err
}())
mustFail(t, sessions.Delete("test-session"))
}
+15 -43
View File
@@ -6,7 +6,7 @@ import (
func TestUsers(t *testing.T) {
rbac, err := getClient()
assert(t, err == nil, "Error when creating RBAC instance: %+v", err)
must(t, err, "Error when creating RBAC instance")
rbac.Debug("info")
users := rbac.Users()
@@ -15,70 +15,42 @@ func TestUsers(t *testing.T) {
users.Delete("test-user")
roles.Delete("test-role")
if err := roles.Create("test-role"); err != nil {
t.Fatalf("Error when creating test-role, %+v", err)
return
}
if err := users.Create("test-user", "test-password"); err != nil {
t.Fatalf("Error when creating test-user: %+v", err)
return
}
must(t, roles.Create("test-role"), "Error when creating test-role")
must(t, users.Create("test-user", "test-password"), "Error when creating test-user")
// check if we inherited some roles (should be empty)
{
user, err := users.Get("test-user")
if !assert(t, err == nil, "Error when retrieving test-user 1, %+v", err) {
return
}
must(t, err, "Error when retrieving test-user 1")
assert(t, user.Username == "test-user", "Unexpected username, test-user != '%s'", user.Username)
assert(t, len(user.AssignedRoles) == 0, "Unexpected number of roles, expected empty, got %+v", user.AssignedRoles)
}
if err := users.AddRole("test-user", "test-role"); err != nil {
t.Fatalf("Error when assigning test-role to test-user 2, %+v", err)
return
}
must(t, users.AddRole("test-user", "test-role"), "Error when assigning test-role to test-user")
// check if we inherited some roles (should be empty)
{
user, err := users.Get("test-user")
if !assert(t, err == nil, "Error when retrieving test-user 3, %+v", err) {
return
}
must(t, err, "Error when retrieving test-user 3")
assert(t, user.Username == "test-user", "Unexpected username, test-user != '%s'", user.Username)
if !assert(t, len(user.AssignedRoles) == 1, "Unexpected number of roles, expected 1, got %+v", user.AssignedRoles) {
return
}
assert(t, len(user.AssignedRoles) == 1, "Unexpected number of roles, expected 1, got %+v", user.AssignedRoles)
assert(t, user.AssignedRoles[0] == "test-role", "Unexpected role name, test-role != '%s'", user.AssignedRoles[0])
}
if err := users.RemoveRole("test-user", "test-role"); err != nil {
t.Fatalf("Error when deassigning test-role to test-user, %+v", err)
return
}
must(t, users.RemoveRole("test-user", "test-role"), "Error when deassigning test-role to test-user")
// check roles are empty after de-assign
{
user, err := users.Get("test-user")
if !assert(t, err == nil, "Error when retrieving test-user 4, %+v", err) {
return
}
must(t, err, "Error when retrieving test-user 4")
assert(t, user.Username == "test-user", "Unexpected username, test-user != '%s'", user.Username)
assert(t, len(user.AssignedRoles) == 0, "Unexpected number of roles, expected empty, got %+v", user.AssignedRoles)
}
if err := users.Delete("test-user"); err != nil {
t.Fatalf("Error when deleting test-user: %+v", err)
return
}
if _, err := users.Get("test-user"); err == nil {
t.Fatalf("Expected error on retrieving a non-existant user")
return
}
if err := users.Delete("test-user"); err == nil {
t.Fatalf("Expected error on deleting a non-existant user")
}
must(t, users.Delete("test-user"), "Error when deleting test-user")
mustFail(t, func() error {
_, err := users.Get("test-user")
return err
}())
mustFail(t, users.Delete("test-user"))
}