RBAC: Refactor GetUserPermissions to use []accesscontrol.Permission (#50683)
* Return slice of permissions instead of slice of pointers for permissions
This commit is contained in:
@@ -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"},
|
||||
},
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user