MCPcopy Create free account
hub / github.com/coder/coder / TestGrantSiteRoles

Function TestGrantSiteRoles

enterprise/coderd/users_test.go:304–475  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

302}
303
304func TestGrantSiteRoles(t *testing.T) {
305 t.Parallel()
306
307 requireStatusCode := func(t *testing.T, err error, statusCode int) {
308 t.Helper()
309 var e *codersdk.Error
310 require.ErrorAs(t, err, &e, "error is codersdk error")
311 require.Equal(t, statusCode, e.StatusCode(), "correct status code")
312 }
313
314 dv := coderdtest.DeploymentValues(t)
315 admin, first := coderdenttest.New(t, &coderdenttest.Options{
316 Options: &coderdtest.Options{
317 DeploymentValues: dv,
318 },
319 LicenseOptions: &coderdenttest.LicenseOptions{
320 Features: license.Features{
321 codersdk.FeatureMultipleOrganizations: 1,
322 codersdk.FeatureExternalProvisionerDaemons: 1,
323 },
324 },
325 })
326
327 member, _ := coderdtest.CreateAnotherUser(t, admin, first.OrganizationID)
328 orgAdmin, _ := coderdtest.CreateAnotherUser(t, admin, first.OrganizationID, rbac.ScopedRoleOrgAdmin(first.OrganizationID))
329 randOrg := coderdenttest.CreateOrganization(t, admin, coderdenttest.CreateOrganizationOptions{})
330
331 _, randOrgUser := coderdtest.CreateAnotherUser(t, admin, randOrg.ID, rbac.ScopedRoleOrgAdmin(randOrg.ID))
332 userAdmin, _ := coderdtest.CreateAnotherUser(t, admin, first.OrganizationID, rbac.RoleUserAdmin())
333
334 const newUser = "newUser"
335
336 testCases := []struct {
337 Name string
338 Client *codersdk.Client
339 OrgID uuid.UUID
340 AssignToUser string
341 Roles []string
342 ExpectedRoles []string
343 Error bool
344 StatusCode int
345 }{
346 {
347 Name: "OrgRoleInSite",
348 Client: admin,
349 AssignToUser: codersdk.Me,
350 Roles: []string{rbac.RoleOrgAdmin()},
351 Error: true,
352 StatusCode: http.StatusBadRequest,
353 },
354 {
355 Name: "UserNotExists",
356 Client: admin,
357 AssignToUser: uuid.NewString(),
358 Roles: []string{codersdk.RoleOwner},
359 Error: true,
360 StatusCode: http.StatusNotFound,
361 },

Callers

nothing calls this directly

Calls 15

StatusCodeMethod · 0.95
DeploymentValuesFunction · 0.92
NewFunction · 0.92
CreateAnotherUserFunction · 0.92
ScopedRoleOrgAdminFunction · 0.92
CreateOrganizationFunction · 0.92
RoleUserAdminFunction · 0.92
RoleOrgAdminFunction · 0.92
RoleOrgMemberFunction · 0.92
HelperMethod · 0.65
RunMethod · 0.65

Tested by

no test coverage detected