MCPcopy Index your code
hub / github.com/coder/coder / TestListRoles

Function TestListRoles

enterprise/coderd/roles_test.go:452–612  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

450}
451
452func TestListRoles(t *testing.T) {
453 t.Parallel()
454
455 dv := coderdtest.DeploymentValues(t)
456
457 client, owner := coderdenttest.New(t, &coderdenttest.Options{
458 Options: &coderdtest.Options{
459 DeploymentValues: dv,
460 },
461 LicenseOptions: &coderdenttest.LicenseOptions{
462 Features: license.Features{
463 codersdk.FeatureExternalProvisionerDaemons: 1,
464 codersdk.FeatureMultipleOrganizations: 1,
465 },
466 },
467 })
468
469 // Create owner, member, and org admin
470 member, _ := coderdtest.CreateAnotherUser(t, client, owner.OrganizationID)
471 orgAdmin, _ := coderdtest.CreateAnotherUser(t, client, owner.OrganizationID, rbac.ScopedRoleOrgAdmin(owner.OrganizationID))
472
473 otherOrg := coderdenttest.CreateOrganization(t, client, coderdenttest.CreateOrganizationOptions{})
474
475 const notFound = "Resource not found"
476 testCases := []struct {
477 Name string
478 Client *codersdk.Client
479 APICall func(context.Context) ([]codersdk.AssignableRoles, error)
480 ExpectedRoles []codersdk.AssignableRoles
481 AuthorizedError string
482 }{
483 {
484 // Members cannot assign any roles
485 Name: "MemberListSite",
486 APICall: func(ctx context.Context) ([]codersdk.AssignableRoles, error) {
487 x, err := member.ListSiteRoles(ctx)
488 return x, err
489 },
490 ExpectedRoles: convertRoles(map[rbac.RoleIdentifier]bool{
491 {Name: codersdk.RoleOwner}: false,
492 {Name: codersdk.RoleAuditor}: false,
493 {Name: codersdk.RoleTemplateAdmin}: false,
494 {Name: codersdk.RoleUserAdmin}: false,
495 }),
496 },
497 {
498 Name: "OrgMemberListOrg",
499 APICall: func(ctx context.Context) ([]codersdk.AssignableRoles, error) {
500 return member.ListOrganizationRoles(ctx, owner.OrganizationID)
501 },
502 ExpectedRoles: convertRoles(map[rbac.RoleIdentifier]bool{
503 {Name: codersdk.RoleOrganizationAdmin, OrganizationID: owner.OrganizationID}: false,
504 {Name: codersdk.RoleOrganizationAuditor, OrganizationID: owner.OrganizationID}: false,
505 {Name: codersdk.RoleOrganizationTemplateAdmin, OrganizationID: owner.OrganizationID}: false,
506 {Name: codersdk.RoleOrganizationUserAdmin, OrganizationID: owner.OrganizationID}: false,
507 {Name: codersdk.RoleOrganizationWorkspaceCreationBan, OrganizationID: owner.OrganizationID}: false,
508 {Name: codersdk.RoleAgentsAccess, OrganizationID: owner.OrganizationID}: false,
509 }),

Callers

nothing calls this directly

Calls 13

StatusCodeMethod · 0.95
DeploymentValuesFunction · 0.92
NewFunction · 0.92
CreateAnotherUserFunction · 0.92
ScopedRoleOrgAdminFunction · 0.92
CreateOrganizationFunction · 0.92
ListFunction · 0.92
convertRolesFunction · 0.85
ListSiteRolesMethod · 0.80
ListOrganizationRolesMethod · 0.80
RunMethod · 0.65
EqualMethod · 0.45

Tested by

no test coverage detected