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

Function setupWorkspaceAndAgent

support/support_test.go:227–283  ·  view source on GitHub ↗
(ctx context.Context, t *testing.T, client *codersdk.Client, db database.Store, user codersdk.CreateFirstUserResponse)

Source from the content-addressed store, hash-verified

225}
226
227func setupWorkspaceAndAgent(ctx context.Context, t *testing.T, client *codersdk.Client, db database.Store, user codersdk.CreateFirstUserResponse) (codersdk.Workspace, codersdk.WorkspaceAgent) {
228 // This is a valid zip file
229 zipBytes := make([]byte, 22)
230 zipBytes[0] = 80
231 zipBytes[1] = 75
232 zipBytes[2] = 0o5
233 zipBytes[3] = 0o6
234 uploadRes, err := client.Upload(ctx, codersdk.ContentTypeZip, bytes.NewReader(zipBytes))
235 require.NoError(t, err)
236
237 tv := dbfake.TemplateVersion(t, db).
238 FileID(uploadRes.ID).
239 Seed(database.TemplateVersion{
240 OrganizationID: user.OrganizationID,
241 CreatedBy: user.UserID,
242 }).
243 Do()
244 wbr := dbfake.WorkspaceBuild(t, db, database.WorkspaceTable{
245 OrganizationID: user.OrganizationID,
246 OwnerID: user.UserID,
247 TemplateID: tv.Template.ID,
248 }).Resource().WithAgent().Do()
249 ws, err := client.Workspace(ctx, wbr.Workspace.ID)
250 require.NoError(t, err)
251 agt := ws.LatestBuild.Resources[0].Agents[0]
252
253 // Insert a provisioner job log
254 _, err = db.InsertProvisionerJobLogs(ctx, database.InsertProvisionerJobLogsParams{
255 JobID: wbr.Build.JobID,
256 CreatedAt: []time.Time{dbtime.Now()},
257 Source: []database.LogSource{database.LogSourceProvisionerDaemon},
258 Level: []database.LogLevel{database.LogLevelInfo},
259 Stage: []string{"The World"},
260 Output: []string{"Players"},
261 })
262 require.NoError(t, err)
263 // Insert an agent log
264 _, err = db.InsertWorkspaceAgentLogs(ctx, database.InsertWorkspaceAgentLogsParams{
265 AgentID: agt.ID,
266 CreatedAt: dbtime.Now(),
267 Output: []string{"Bond, James Bond"},
268 Level: []database.LogLevel{database.LogLevelInfo},
269 LogSourceID: wbr.Build.JobID,
270 OutputLength: 0o7,
271 })
272 require.NoError(t, err)
273
274 tempDir := t.TempDir()
275 logPath := filepath.Join(tempDir, "coder-agent.log")
276 require.NoError(t, os.WriteFile(logPath, []byte("hello from the agent"), 0o600))
277 _ = agenttest.New(t, client.URL, wbr.AgentToken, func(o *agent.Options) {
278 o.LogDir = tempDir
279 })
280 coderdtest.NewWorkspaceAgentWaiter(t, client, wbr.Workspace.ID).Wait()
281
282 return ws, agt
283}
284

Callers 1

TestRunFunction · 0.85

Calls 15

TemplateVersionFunction · 0.92
WorkspaceBuildFunction · 0.92
NowFunction · 0.92
NewFunction · 0.92
NewWorkspaceAgentWaiterFunction · 0.92
FileIDMethod · 0.80
WithAgentMethod · 0.80
ResourceMethod · 0.80
WorkspaceMethod · 0.80
UploadMethod · 0.65
DoMethod · 0.65

Tested by

no test coverage detected