Skip to content

Commit 2c2e98c

Browse files
authored
fix(coderd): fetch workspace agent scripts and log sources using system auth ctx (#10043)
* add failing unit test * fetch log sources and agent scripts using system auth ctx
1 parent 8e44dce commit 2c2e98c

File tree

2 files changed

+10
-6
lines changed

2 files changed

+10
-6
lines changed

coderd/workspaceagents.go

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -68,11 +68,13 @@ func (api *API) workspaceAgent(rw http.ResponseWriter, r *http.Request) {
6868
return err
6969
})
7070
eg.Go(func() (err error) {
71-
scripts, err = api.Database.GetWorkspaceAgentScriptsByAgentIDs(ctx, []uuid.UUID{workspaceAgent.ID})
71+
//nolint:gocritic // TODO: can we make this not require system restricted?
72+
scripts, err = api.Database.GetWorkspaceAgentScriptsByAgentIDs(dbauthz.AsSystemRestricted(ctx), []uuid.UUID{workspaceAgent.ID})
7273
return err
7374
})
7475
eg.Go(func() (err error) {
75-
logSources, err = api.Database.GetWorkspaceAgentLogSourcesByAgentIDs(ctx, []uuid.UUID{workspaceAgent.ID})
76+
//nolint:gocritic // TODO: can we make this not require system restricted?
77+
logSources, err = api.Database.GetWorkspaceAgentLogSourcesByAgentIDs(dbauthz.AsSystemRestricted(ctx), []uuid.UUID{workspaceAgent.ID})
7678
return err
7779
})
7880
err := eg.Wait()

coderd/workspaceagents_test.go

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -65,16 +65,18 @@ func TestWorkspaceAgent(t *testing.T) {
6565
})
6666
template := coderdtest.CreateTemplate(t, client, user.OrganizationID, version.ID)
6767
coderdtest.AwaitTemplateVersionJobCompleted(t, client, version.ID)
68-
workspace := coderdtest.CreateWorkspace(t, client, user.OrganizationID, template.ID)
69-
coderdtest.AwaitWorkspaceBuildJobCompleted(t, client, workspace.LatestBuild.ID)
68+
69+
anotherClient, _ := coderdtest.CreateAnotherUser(t, client, user.OrganizationID)
70+
workspace := coderdtest.CreateWorkspace(t, anotherClient, user.OrganizationID, template.ID)
71+
coderdtest.AwaitWorkspaceBuildJobCompleted(t, anotherClient, workspace.LatestBuild.ID)
7072

7173
ctx, cancel := context.WithTimeout(context.Background(), testutil.WaitLong)
7274
defer cancel()
7375

74-
workspace, err := client.Workspace(ctx, workspace.ID)
76+
workspace, err := anotherClient.Workspace(ctx, workspace.ID)
7577
require.NoError(t, err)
7678
require.Equal(t, tmpDir, workspace.LatestBuild.Resources[0].Agents[0].Directory)
77-
_, err = client.WorkspaceAgent(ctx, workspace.LatestBuild.Resources[0].Agents[0].ID)
79+
_, err = anotherClient.WorkspaceAgent(ctx, workspace.LatestBuild.Resources[0].Agents[0].ID)
7880
require.NoError(t, err)
7981
require.True(t, workspace.LatestBuild.Resources[0].Agents[0].Health.Healthy)
8082
})

0 commit comments

Comments
 (0)