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

Function TestWorkspaceAgent

coderd/httpmw/workspaceagent_test.go:22–275  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

20)
21
22func TestWorkspaceAgent(t *testing.T) {
23 t.Parallel()
24
25 t.Run("None", func(t *testing.T) {
26 t.Parallel()
27 db, _ := dbtestutil.NewDB(t)
28
29 req, rtr, _, _ := setup(t, db, uuid.New(), httpmw.ExtractWorkspaceAgentAndLatestBuild(
30 httpmw.ExtractWorkspaceAgentAndLatestBuildConfig{
31 DB: db,
32 Optional: false,
33 }))
34
35 rw := httptest.NewRecorder()
36 req.Header.Set(codersdk.SessionTokenHeader, uuid.New().String())
37 rtr.ServeHTTP(rw, req)
38
39 res := rw.Result()
40 defer res.Body.Close()
41 require.Equal(t, http.StatusUnauthorized, res.StatusCode)
42 })
43
44 t.Run("Found", func(t *testing.T) {
45 t.Parallel()
46 db, _ := dbtestutil.NewDB(t)
47 authToken := uuid.New()
48 req, rtr, _, _ := setup(t, db, authToken, httpmw.ExtractWorkspaceAgentAndLatestBuild(
49 httpmw.ExtractWorkspaceAgentAndLatestBuildConfig{
50 DB: db,
51 Optional: false,
52 }))
53
54 rw := httptest.NewRecorder()
55 req.Header.Set(codersdk.SessionTokenHeader, authToken.String())
56 rtr.ServeHTTP(rw, req)
57
58 //nolint:bodyclose // Closed in `t.Cleanup`
59 res := rw.Result()
60 t.Cleanup(func() { _ = res.Body.Close() })
61 require.Equal(t, http.StatusOK, res.StatusCode)
62 })
63
64 t.Run("Latest", func(t *testing.T) {
65 t.Parallel()
66 db, _ := dbtestutil.NewDB(t)
67 authToken := uuid.New()
68 req, rtr, ws, tpv := setup(t, db, authToken, httpmw.ExtractWorkspaceAgentAndLatestBuild(
69 httpmw.ExtractWorkspaceAgentAndLatestBuildConfig{
70 DB: db,
71 Optional: false,
72 }),
73 )
74
75 // Create a newer build
76 job := dbgen.ProvisionerJob(t, db, nil, database.ProvisionerJob{
77 OrganizationID: ws.OrganizationID,
78 })
79 resource := dbgen.WorkspaceResource(t, db, database.WorkspaceResource{

Callers

nothing calls this directly

Calls 15

NewDBFunction · 0.92
ProvisionerJobFunction · 0.92
WorkspaceResourceFunction · 0.92
WorkspaceBuildFunction · 0.92
WorkspaceAgentFunction · 0.92
NowFunction · 0.92
OrganizationFunction · 0.92
UserFunction · 0.92
OrganizationMemberFunction · 0.92
TemplateVersionFunction · 0.92
TemplateFunction · 0.92

Tested by

no test coverage detected