Skip to content

Commit 816f97c

Browse files
committed
add unit tests for site & user permission attempt
1 parent 715efa2 commit 816f97c

File tree

1 file changed

+43
-0
lines changed

1 file changed

+43
-0
lines changed

enterprise/coderd/roles_test.go

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -230,4 +230,47 @@ func TestCustomOrganizationRole(t *testing.T) {
230230
_, err := owner.PatchOrganizationRole(ctx, first.OrganizationID, templateAdminCustom(uuid.New()))
231231
require.ErrorContains(t, err, "does not match")
232232
})
233+
234+
// Attempt to add site & user permissions, which is not allowed
235+
t.Run("ExcessPermissions", func(t *testing.T) {
236+
t.Parallel()
237+
dv := coderdtest.DeploymentValues(t)
238+
dv.Experiments = []string{string(codersdk.ExperimentCustomRoles)}
239+
owner, first := coderdenttest.New(t, &coderdenttest.Options{
240+
Options: &coderdtest.Options{
241+
DeploymentValues: dv,
242+
},
243+
LicenseOptions: &coderdenttest.LicenseOptions{
244+
Features: license.Features{
245+
codersdk.FeatureCustomRoles: 1,
246+
},
247+
},
248+
})
249+
250+
ctx := testutil.Context(t, testutil.WaitMedium)
251+
252+
siteRole := templateAdminCustom(first.OrganizationID)
253+
siteRole.SitePermissions = []codersdk.Permission{
254+
{
255+
ResourceType: codersdk.ResourceWorkspace,
256+
Action: codersdk.ActionRead,
257+
},
258+
}
259+
260+
//nolint:gocritic // owner is required for this
261+
_, err := owner.PatchOrganizationRole(ctx, first.OrganizationID, siteRole)
262+
require.ErrorContains(t, err, "site wide permissions")
263+
264+
userRole := templateAdminCustom(first.OrganizationID)
265+
userRole.UserPermissions = []codersdk.Permission{
266+
{
267+
ResourceType: codersdk.ResourceWorkspace,
268+
Action: codersdk.ActionRead,
269+
},
270+
}
271+
272+
//nolint:gocritic // owner is required for this
273+
_, err = owner.PatchOrganizationRole(ctx, first.OrganizationID, userRole)
274+
require.ErrorContains(t, err, "not allowed to assign user permissions")
275+
})
233276
}

0 commit comments

Comments
 (0)