Skip to content

Commit c90a71c

Browse files
committed
address linter complaints in workspaces_test.go
1 parent f874379 commit c90a71c

File tree

1 file changed

+27
-21
lines changed

1 file changed

+27
-21
lines changed

enterprise/coderd/workspaces_test.go

+27-21
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ import (
1616
"github.com/coder/coder/v2/coderd/autobuild"
1717
"github.com/coder/coder/v2/coderd/coderdtest"
1818
"github.com/coder/coder/v2/coderd/database"
19+
"github.com/coder/coder/v2/coderd/rbac"
1920
agplschedule "github.com/coder/coder/v2/coderd/schedule"
2021
"github.com/coder/coder/v2/coderd/schedule/cron"
2122
"github.com/coder/coder/v2/coderd/util/ptr"
@@ -50,20 +51,21 @@ func TestCreateWorkspace(t *testing.T) {
5051
codersdk.FeatureTemplateRBAC: 1,
5152
},
5253
}})
54+
templateAdminClient, _ := coderdtest.CreateAnotherUser(t, client, user.OrganizationID, rbac.RoleTemplateAdmin())
5355

5456
version := coderdtest.CreateTemplateVersion(t, client, user.OrganizationID, nil)
5557
template := coderdtest.CreateTemplate(t, client, user.OrganizationID, version.ID)
5658

5759
ctx, cancel := context.WithTimeout(context.Background(), testutil.WaitLong)
5860
defer cancel()
5961

60-
acl, err := client.TemplateACL(ctx, template.ID)
62+
acl, err := templateAdminClient.TemplateACL(ctx, template.ID)
6163
require.NoError(t, err)
6264

6365
require.Len(t, acl.Groups, 1)
6466
require.Len(t, acl.Users, 0)
6567

66-
err = client.UpdateTemplateACL(ctx, template.ID, codersdk.UpdateTemplateACL{
68+
err = templateAdminClient.UpdateTemplateACL(ctx, template.ID, codersdk.UpdateTemplateACL{
6769
GroupPerms: map[string]codersdk.TemplateRole{
6870
acl.Groups[0].ID.String(): codersdk.TemplateRoleDeleted,
6971
},
@@ -504,6 +506,7 @@ func TestWorkspaceAutobuild(t *testing.T) {
504506
_ = coderdtest.AwaitWorkspaceBuildJobCompleted(t, client, ws.LatestBuild.ID)
505507

506508
// Assert that the workspace is actually deleted.
509+
//nolint:gocritic // ensuring workspace is deleted and not just invisible to us due to RBAC
507510
_, err := client.Workspace(testutil.Context(t, testutil.WaitShort), ws.ID)
508511
require.Error(t, err)
509512
cerr, ok := codersdk.AsError(err)
@@ -531,6 +534,7 @@ func TestWorkspaceAutobuild(t *testing.T) {
531534
Features: license.Features{codersdk.FeatureAdvancedTemplateScheduling: 1},
532535
},
533536
})
537+
anotherClient, _ := coderdtest.CreateAnotherUser(t, client, user.OrganizationID, rbac.RoleTemplateAdmin())
534538
version := coderdtest.CreateTemplateVersion(t, client, user.OrganizationID, &echo.Responses{
535539
Parse: echo.ParseComplete,
536540
ProvisionPlan: echo.PlanComplete,
@@ -540,12 +544,12 @@ func TestWorkspaceAutobuild(t *testing.T) {
540544
ctr.TimeTilDormantAutoDeleteMillis = ptr.Ref[int64](dormantTTL.Milliseconds())
541545
})
542546
coderdtest.AwaitTemplateVersionJobCompleted(t, client, version.ID)
543-
ws := coderdtest.CreateWorkspace(t, client, user.OrganizationID, template.ID)
544-
build := coderdtest.AwaitWorkspaceBuildJobCompleted(t, client, ws.LatestBuild.ID)
547+
ws := coderdtest.CreateWorkspace(t, anotherClient, user.OrganizationID, template.ID)
548+
build := coderdtest.AwaitWorkspaceBuildJobCompleted(t, anotherClient, ws.LatestBuild.ID)
545549
require.Equal(t, codersdk.WorkspaceStatusRunning, build.Status)
546550

547551
ctx := testutil.Context(t, testutil.WaitMedium)
548-
err := client.UpdateWorkspaceDormancy(ctx, ws.ID, codersdk.UpdateWorkspaceDormancy{
552+
err := anotherClient.UpdateWorkspaceDormancy(ctx, ws.ID, codersdk.UpdateWorkspaceDormancy{
549553
Dormant: true,
550554
})
551555
require.NoError(t, err)
@@ -559,7 +563,7 @@ func TestWorkspaceAutobuild(t *testing.T) {
559563
// Expect no transitions since not enough time has elapsed.
560564
require.Len(t, stats.Transitions, 0)
561565

562-
_, err = client.UpdateTemplateMeta(ctx, template.ID, codersdk.UpdateTemplateMeta{
566+
_, err = anotherClient.UpdateTemplateMeta(ctx, template.ID, codersdk.UpdateTemplateMeta{
563567
TimeTilDormantAutoDeleteMillis: dormantTTL.Milliseconds(),
564568
})
565569
require.NoError(t, err)
@@ -671,6 +675,7 @@ func TestWorkspaceAutobuild(t *testing.T) {
671675
Features: license.Features{codersdk.FeatureAdvancedTemplateScheduling: 1},
672676
},
673677
})
678+
templateAdmin, _ := coderdtest.CreateAnotherUser(t, client, user.OrganizationID, rbac.RoleTemplateAdmin())
674679

675680
// Create a template version that passes to get a functioning workspace.
676681
version := coderdtest.CreateTemplateVersion(t, client, user.OrganizationID, &echo.Responses{
@@ -682,8 +687,8 @@ func TestWorkspaceAutobuild(t *testing.T) {
682687

683688
template := coderdtest.CreateTemplate(t, client, user.OrganizationID, version.ID)
684689

685-
ws := coderdtest.CreateWorkspace(t, client, user.OrganizationID, template.ID)
686-
coderdtest.AwaitWorkspaceBuildJobCompleted(t, client, ws.LatestBuild.ID)
690+
ws := coderdtest.CreateWorkspace(t, templateAdmin, user.OrganizationID, template.ID)
691+
coderdtest.AwaitWorkspaceBuildJobCompleted(t, templateAdmin, ws.LatestBuild.ID)
687692

688693
// Create a new version that will fail when we try to delete a workspace.
689694
version = coderdtest.CreateTemplateVersion(t, client, user.OrganizationID, &echo.Responses{
@@ -696,7 +701,7 @@ func TestWorkspaceAutobuild(t *testing.T) {
696701
coderdtest.AwaitTemplateVersionJobCompleted(t, client, version.ID)
697702

698703
// Try to delete the workspace. This simulates a "failed" autodelete.
699-
build, err := client.CreateWorkspaceBuild(ctx, ws.ID, codersdk.CreateWorkspaceBuildRequest{
704+
build, err := templateAdmin.CreateWorkspaceBuild(ctx, ws.ID, codersdk.CreateWorkspaceBuildRequest{
700705
Transition: codersdk.WorkspaceTransitionDelete,
701706
TemplateVersionID: version.ID,
702707
})
@@ -706,13 +711,13 @@ func TestWorkspaceAutobuild(t *testing.T) {
706711
require.NotEmpty(t, build.Job.Error)
707712

708713
// Update our workspace to be dormant so that it qualifies for auto-deletion.
709-
err = client.UpdateWorkspaceDormancy(ctx, ws.ID, codersdk.UpdateWorkspaceDormancy{
714+
err = templateAdmin.UpdateWorkspaceDormancy(ctx, ws.ID, codersdk.UpdateWorkspaceDormancy{
710715
Dormant: true,
711716
})
712717
require.NoError(t, err)
713718

714719
// Enable auto-deletion for the template.
715-
_, err = client.UpdateTemplateMeta(ctx, template.ID, codersdk.UpdateTemplateMeta{
720+
_, err = templateAdmin.UpdateTemplateMeta(ctx, template.ID, codersdk.UpdateTemplateMeta{
716721
TimeTilDormantAutoDeleteMillis: transitionTTL.Milliseconds(),
717722
})
718723
require.NoError(t, err)
@@ -901,6 +906,7 @@ func TestWorkspacesFiltering(t *testing.T) {
901906
Features: license.Features{codersdk.FeatureAdvancedTemplateScheduling: 1},
902907
},
903908
})
909+
templateAdmin, _ := coderdtest.CreateAnotherUser(t, client, user.OrganizationID, rbac.RoleTemplateAdmin())
904910

905911
// Create a template version that passes to get a functioning workspace.
906912
version := coderdtest.CreateTemplateVersion(t, client, user.OrganizationID, &echo.Responses{
@@ -912,22 +918,22 @@ func TestWorkspacesFiltering(t *testing.T) {
912918

913919
template := coderdtest.CreateTemplate(t, client, user.OrganizationID, version.ID)
914920

915-
dormantWS1 := coderdtest.CreateWorkspace(t, client, user.OrganizationID, template.ID)
916-
coderdtest.AwaitWorkspaceBuildJobCompleted(t, client, dormantWS1.LatestBuild.ID)
921+
dormantWS1 := coderdtest.CreateWorkspace(t, templateAdmin, user.OrganizationID, template.ID)
922+
coderdtest.AwaitWorkspaceBuildJobCompleted(t, templateAdmin, dormantWS1.LatestBuild.ID)
917923

918-
dormantWS2 := coderdtest.CreateWorkspace(t, client, user.OrganizationID, template.ID)
919-
coderdtest.AwaitWorkspaceBuildJobCompleted(t, client, dormantWS2.LatestBuild.ID)
924+
dormantWS2 := coderdtest.CreateWorkspace(t, templateAdmin, user.OrganizationID, template.ID)
925+
coderdtest.AwaitWorkspaceBuildJobCompleted(t, templateAdmin, dormantWS2.LatestBuild.ID)
920926

921-
activeWS := coderdtest.CreateWorkspace(t, client, user.OrganizationID, template.ID)
922-
coderdtest.AwaitWorkspaceBuildJobCompleted(t, client, activeWS.LatestBuild.ID)
927+
activeWS := coderdtest.CreateWorkspace(t, templateAdmin, user.OrganizationID, template.ID)
928+
coderdtest.AwaitWorkspaceBuildJobCompleted(t, templateAdmin, activeWS.LatestBuild.ID)
923929

924-
err := client.UpdateWorkspaceDormancy(ctx, dormantWS1.ID, codersdk.UpdateWorkspaceDormancy{Dormant: true})
930+
err := templateAdmin.UpdateWorkspaceDormancy(ctx, dormantWS1.ID, codersdk.UpdateWorkspaceDormancy{Dormant: true})
925931
require.NoError(t, err)
926932

927-
err = client.UpdateWorkspaceDormancy(ctx, dormantWS2.ID, codersdk.UpdateWorkspaceDormancy{Dormant: true})
933+
err = templateAdmin.UpdateWorkspaceDormancy(ctx, dormantWS2.ID, codersdk.UpdateWorkspaceDormancy{Dormant: true})
928934
require.NoError(t, err)
929935

930-
resp, err := client.Workspaces(ctx, codersdk.WorkspaceFilter{
936+
resp, err := templateAdmin.Workspaces(ctx, codersdk.WorkspaceFilter{
931937
FilterQuery: "is-dormant:true",
932938
})
933939
require.NoError(t, err)
@@ -967,7 +973,7 @@ func TestWorkspacesWithoutTemplatePerms(t *testing.T) {
967973
ctx, cancel := context.WithTimeout(context.Background(), testutil.WaitLong)
968974
defer cancel()
969975

970-
// Remove everyone access
976+
//nolint:gocritic // Remove everyone access
971977
err := client.UpdateTemplateACL(ctx, template.ID, codersdk.UpdateTemplateACL{
972978
GroupPerms: map[string]codersdk.TemplateRole{
973979
first.OrganizationID.String(): codersdk.TemplateRoleDeleted,

0 commit comments

Comments
 (0)