RBAC: Refactor GetUserPermissions to use []accesscontrol.Permission (#50683)

* Return slice of permissions instead of slice of pointers for permissions
This commit is contained in:
Karl Persson
2022-06-14 10:17:48 +02:00
committed by GitHub
parent 5aab95885f
commit 44ffbfd6aa
29 changed files with 311 additions and 315 deletions
@@ -26,7 +26,7 @@ import (
type getDescriptionTestCase struct {
desc string
options Options
permissions []*accesscontrol.Permission
permissions []accesscontrol.Permission
expected Description
expectedStatus int
}
@@ -49,7 +49,7 @@ func TestApi_getDescription(t *testing.T) {
"Admin": {"dashboards:read", "dashboards:write", "dashboards:delete", "dashboards.permissions:read", "dashboards:permissions:write"},
},
},
permissions: []*accesscontrol.Permission{
permissions: []accesscontrol.Permission{
{Action: "dashboards.permissions:read"},
},
expected: Description{
@@ -76,7 +76,7 @@ func TestApi_getDescription(t *testing.T) {
"View": {"dashboards:read"},
},
},
permissions: []*accesscontrol.Permission{
permissions: []accesscontrol.Permission{
{Action: "dashboards.permissions:read"},
},
expected: Description{
@@ -103,7 +103,7 @@ func TestApi_getDescription(t *testing.T) {
"View": {"dashboards:read"},
},
},
permissions: []*accesscontrol.Permission{},
permissions: []accesscontrol.Permission{},
expected: Description{},
expectedStatus: http.StatusForbidden,
},
@@ -132,7 +132,7 @@ func TestApi_getDescription(t *testing.T) {
type getPermissionsTestCase struct {
desc string
resourceID string
permissions []*accesscontrol.Permission
permissions []accesscontrol.Permission
expectedStatus int
}
@@ -141,7 +141,7 @@ func TestApi_getPermissions(t *testing.T) {
{
desc: "expect permissions for resource with id 1",
resourceID: "1",
permissions: []*accesscontrol.Permission{
permissions: []accesscontrol.Permission{
{Action: "dashboards.permissions:read", Scope: "dashboards:id:1"},
{Action: accesscontrol.ActionTeamsRead, Scope: accesscontrol.ScopeTeamsAll},
{Action: accesscontrol.ActionOrgUsersRead, Scope: accesscontrol.ScopeUsersAll},
@@ -151,7 +151,7 @@ func TestApi_getPermissions(t *testing.T) {
{
desc: "expect http status 403 when missing permission",
resourceID: "1",
permissions: []*accesscontrol.Permission{},
permissions: []accesscontrol.Permission{},
expectedStatus: 403,
},
}
@@ -179,7 +179,7 @@ type setBuiltinPermissionTestCase struct {
builtInRole string
expectedStatus int
permission string
permissions []*accesscontrol.Permission
permissions []accesscontrol.Permission
}
func TestApi_setBuiltinRolePermission(t *testing.T) {
@@ -190,7 +190,7 @@ func TestApi_setBuiltinRolePermission(t *testing.T) {
builtInRole: "Viewer",
expectedStatus: 200,
permission: "Edit",
permissions: []*accesscontrol.Permission{
permissions: []accesscontrol.Permission{
{Action: "dashboards.permissions:read", Scope: "dashboards:id:1"},
{Action: "dashboards.permissions:write", Scope: "dashboards:id:1"},
{Action: accesscontrol.ActionTeamsRead, Scope: accesscontrol.ScopeTeamsAll},
@@ -203,7 +203,7 @@ func TestApi_setBuiltinRolePermission(t *testing.T) {
builtInRole: "Admin",
expectedStatus: 200,
permission: "View",
permissions: []*accesscontrol.Permission{
permissions: []accesscontrol.Permission{
{Action: "dashboards.permissions:read", Scope: "dashboards:id:1"},
{Action: "dashboards.permissions:write", Scope: "dashboards:id:1"},
{Action: accesscontrol.ActionTeamsRead, Scope: accesscontrol.ScopeTeamsAll},
@@ -216,7 +216,7 @@ func TestApi_setBuiltinRolePermission(t *testing.T) {
builtInRole: "Invalid",
expectedStatus: http.StatusBadRequest,
permission: "View",
permissions: []*accesscontrol.Permission{
permissions: []accesscontrol.Permission{
{Action: "dashboards.permissions:read", Scope: "dashboards:id:1"},
{Action: "dashboards.permissions:write", Scope: "dashboards:id:1"},
},
@@ -227,7 +227,7 @@ func TestApi_setBuiltinRolePermission(t *testing.T) {
builtInRole: "Invalid",
expectedStatus: http.StatusForbidden,
permission: "View",
permissions: []*accesscontrol.Permission{
permissions: []accesscontrol.Permission{
{Action: "dashboards.permissions:read", Scope: "dashboards:id:1"},
},
},
@@ -257,7 +257,7 @@ type setTeamPermissionTestCase struct {
resourceID string
expectedStatus int
permission string
permissions []*accesscontrol.Permission
permissions []accesscontrol.Permission
}
func TestApi_setTeamPermission(t *testing.T) {
@@ -268,7 +268,7 @@ func TestApi_setTeamPermission(t *testing.T) {
resourceID: "1",
expectedStatus: 200,
permission: "Edit",
permissions: []*accesscontrol.Permission{
permissions: []accesscontrol.Permission{
{Action: "dashboards.permissions:read", Scope: "dashboards:id:1"},
{Action: "dashboards.permissions:write", Scope: "dashboards:id:1"},
{Action: accesscontrol.ActionTeamsRead, Scope: accesscontrol.ScopeTeamsAll},
@@ -281,7 +281,7 @@ func TestApi_setTeamPermission(t *testing.T) {
resourceID: "1",
expectedStatus: 200,
permission: "View",
permissions: []*accesscontrol.Permission{
permissions: []accesscontrol.Permission{
{Action: "dashboards.permissions:read", Scope: "dashboards:id:1"},
{Action: "dashboards.permissions:write", Scope: "dashboards:id:1"},
{Action: accesscontrol.ActionTeamsRead, Scope: accesscontrol.ScopeTeamsAll},
@@ -294,7 +294,7 @@ func TestApi_setTeamPermission(t *testing.T) {
resourceID: "1",
expectedStatus: http.StatusBadRequest,
permission: "View",
permissions: []*accesscontrol.Permission{
permissions: []accesscontrol.Permission{
{Action: "dashboards.permissions:read", Scope: "dashboards:id:1"},
{Action: "dashboards.permissions:write", Scope: "dashboards:id:1"},
},
@@ -305,7 +305,7 @@ func TestApi_setTeamPermission(t *testing.T) {
resourceID: "1",
expectedStatus: http.StatusForbidden,
permission: "View",
permissions: []*accesscontrol.Permission{
permissions: []accesscontrol.Permission{
{Action: "dashboards.permissions:read", Scope: "dashboards:id:1"},
},
},
@@ -340,7 +340,7 @@ type setUserPermissionTestCase struct {
resourceID string
expectedStatus int
permission string
permissions []*accesscontrol.Permission
permissions []accesscontrol.Permission
}
func TestApi_setUserPermission(t *testing.T) {
@@ -351,7 +351,7 @@ func TestApi_setUserPermission(t *testing.T) {
resourceID: "1",
expectedStatus: 200,
permission: "Edit",
permissions: []*accesscontrol.Permission{
permissions: []accesscontrol.Permission{
{Action: "dashboards.permissions:read", Scope: "dashboards:id:1"},
{Action: "dashboards.permissions:write", Scope: "dashboards:id:1"},
{Action: accesscontrol.ActionTeamsRead, Scope: accesscontrol.ScopeTeamsAll},
@@ -364,7 +364,7 @@ func TestApi_setUserPermission(t *testing.T) {
resourceID: "1",
expectedStatus: 200,
permission: "View",
permissions: []*accesscontrol.Permission{
permissions: []accesscontrol.Permission{
{Action: "dashboards.permissions:read", Scope: "dashboards:id:1"},
{Action: "dashboards.permissions:write", Scope: "dashboards:id:1"},
{Action: accesscontrol.ActionTeamsRead, Scope: accesscontrol.ScopeTeamsAll},
@@ -377,7 +377,7 @@ func TestApi_setUserPermission(t *testing.T) {
resourceID: "1",
expectedStatus: http.StatusBadRequest,
permission: "View",
permissions: []*accesscontrol.Permission{
permissions: []accesscontrol.Permission{
{Action: "dashboards.permissions:read", Scope: "dashboards:id:1"},
{Action: "dashboards.permissions:write", Scope: "dashboards:id:1"},
},
@@ -388,7 +388,7 @@ func TestApi_setUserPermission(t *testing.T) {
resourceID: "1",
expectedStatus: http.StatusForbidden,
permission: "View",
permissions: []*accesscontrol.Permission{
permissions: []accesscontrol.Permission{
{Action: "dashboards.permissions:read", Scope: "dashboards:id:1"},
},
},