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

Function TestGetWorkspaceBuildMetricsByResourceID

coderd/database/querier_test.go:11310–11428  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

11308}
11309
11310func TestGetWorkspaceBuildMetricsByResourceID(t *testing.T) {
11311 t.Parallel()
11312
11313 t.Run("OK", func(t *testing.T) {
11314 t.Parallel()
11315
11316 db, _ := dbtestutil.NewDB(t)
11317 ctx := context.Background()
11318
11319 org := dbgen.Organization(t, db, database.Organization{})
11320 user := dbgen.User(t, db, database.User{})
11321 tmpl := dbgen.Template(t, db, database.Template{
11322 OrganizationID: org.ID,
11323 CreatedBy: user.ID,
11324 })
11325 tv := dbgen.TemplateVersion(t, db, database.TemplateVersion{
11326 OrganizationID: org.ID,
11327 TemplateID: uuid.NullUUID{UUID: tmpl.ID, Valid: true},
11328 CreatedBy: user.ID,
11329 })
11330 ws := dbgen.Workspace(t, db, database.WorkspaceTable{
11331 OrganizationID: org.ID,
11332 TemplateID: tmpl.ID,
11333 OwnerID: user.ID,
11334 AutomaticUpdates: database.AutomaticUpdatesNever,
11335 })
11336 job := dbgen.ProvisionerJob(t, db, nil, database.ProvisionerJob{
11337 OrganizationID: org.ID,
11338 Type: database.ProvisionerJobTypeWorkspaceBuild,
11339 })
11340 _ = dbgen.WorkspaceBuild(t, db, database.WorkspaceBuild{
11341 WorkspaceID: ws.ID,
11342 TemplateVersionID: tv.ID,
11343 JobID: job.ID,
11344 InitiatorID: user.ID,
11345 })
11346 resource := dbgen.WorkspaceResource(t, db, database.WorkspaceResource{
11347 JobID: job.ID,
11348 })
11349
11350 parentReadyAt := dbtime.Now()
11351 parentStartedAt := parentReadyAt.Add(-time.Second)
11352 _ = dbgen.WorkspaceAgent(t, db, database.WorkspaceAgent{
11353 ResourceID: resource.ID,
11354 StartedAt: sql.NullTime{Time: parentStartedAt, Valid: true},
11355 ReadyAt: sql.NullTime{Time: parentReadyAt, Valid: true},
11356 LifecycleState: database.WorkspaceAgentLifecycleStateReady,
11357 })
11358
11359 row, err := db.GetWorkspaceBuildMetricsByResourceID(ctx, resource.ID)
11360 require.NoError(t, err)
11361 require.True(t, row.AllAgentsReady)
11362 require.True(t, parentReadyAt.Equal(row.LastAgentReadyAt))
11363 require.Equal(t, "success", row.WorstStatus)
11364 })
11365
11366 t.Run("SubAgentExcluded", func(t *testing.T) {
11367 t.Parallel()

Callers

nothing calls this directly

Calls 15

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

Tested by

no test coverage detected