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

Function TestUpdateWorkspaceACL

enterprise/coderd/workspaces_test.go:4428–4516  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

4426}
4427
4428func TestUpdateWorkspaceACL(t *testing.T) {
4429 t.Parallel()
4430
4431 t.Run("OKWithGroup", func(t *testing.T) {
4432 t.Parallel()
4433
4434 dv := coderdtest.DeploymentValues(t)
4435
4436 adminClient, adminUser := coderdenttest.New(t, &coderdenttest.Options{
4437 Options: &coderdtest.Options{
4438 IncludeProvisionerDaemon: true,
4439 DeploymentValues: dv,
4440 },
4441 LicenseOptions: &coderdenttest.LicenseOptions{
4442 Features: license.Features{
4443 codersdk.FeatureTemplateRBAC: 1,
4444 },
4445 },
4446 })
4447 orgID := adminUser.OrganizationID
4448 client, _ := coderdtest.CreateAnotherUser(t, adminClient, orgID)
4449 _, friend := coderdtest.CreateAnotherUser(t, adminClient, orgID)
4450 group := coderdtest.CreateGroup(t, adminClient, orgID, "bloob")
4451
4452 tv := coderdtest.CreateTemplateVersion(t, adminClient, orgID, nil)
4453 coderdtest.AwaitTemplateVersionJobCompleted(t, adminClient, tv.ID)
4454 template := coderdtest.CreateTemplate(t, adminClient, orgID, tv.ID)
4455
4456 ws := coderdtest.CreateWorkspace(t, client, template.ID)
4457 coderdtest.AwaitWorkspaceBuildJobCompleted(t, client, ws.LatestBuild.ID)
4458
4459 ctx := testutil.Context(t, testutil.WaitMedium)
4460 err := client.UpdateWorkspaceACL(ctx, ws.ID, codersdk.UpdateWorkspaceACL{
4461 UserRoles: map[string]codersdk.WorkspaceRole{
4462 friend.ID.String(): codersdk.WorkspaceRoleUse,
4463 },
4464 GroupRoles: map[string]codersdk.WorkspaceRole{
4465 group.ID.String(): codersdk.WorkspaceRoleAdmin,
4466 },
4467 })
4468 require.NoError(t, err)
4469
4470 workspaceACL, err := client.WorkspaceACL(ctx, ws.ID)
4471 require.NoError(t, err)
4472 require.Len(t, workspaceACL.Users, 1)
4473 require.Equal(t, workspaceACL.Users[0].ID, friend.ID)
4474 require.Equal(t, workspaceACL.Users[0].Role, codersdk.WorkspaceRoleUse)
4475 require.Len(t, workspaceACL.Groups, 1)
4476 require.Equal(t, workspaceACL.Groups[0].ID, group.ID)
4477 require.Equal(t, workspaceACL.Groups[0].Role, codersdk.WorkspaceRoleAdmin)
4478 })
4479
4480 t.Run("UnknownIDs", func(t *testing.T) {
4481 t.Parallel()
4482
4483 dv := coderdtest.DeploymentValues(t)
4484
4485 adminClient := coderdtest.New(t, &coderdtest.Options{

Callers

nothing calls this directly

Calls 15

DeploymentValuesFunction · 0.92
NewFunction · 0.92
CreateAnotherUserFunction · 0.92
CreateGroupFunction · 0.92
CreateTemplateVersionFunction · 0.92
CreateTemplateFunction · 0.92
CreateWorkspaceFunction · 0.92
ContextFunction · 0.92
NewFunction · 0.92
CreateFirstUserFunction · 0.92

Tested by

no test coverage detected