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

Function TestGetPresetsBackoff

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

Source from the content-addressed store, hash-verified

6419}
6420
6421func TestGetPresetsBackoff(t *testing.T) {
6422 t.Parallel()
6423
6424 now := dbtime.Now()
6425 orgID := uuid.New()
6426 userID := uuid.New()
6427
6428 findBackoffByTmplVersionID := func(backoffs []database.GetPresetsBackoffRow, tmplVersionID uuid.UUID) *database.GetPresetsBackoffRow {
6429 for _, backoff := range backoffs {
6430 if backoff.TemplateVersionID == tmplVersionID {
6431 return &backoff
6432 }
6433 }
6434
6435 return nil
6436 }
6437
6438 t.Run("Single Workspace Build", func(t *testing.T) {
6439 t.Parallel()
6440
6441 db, _ := dbtestutil.NewDB(t)
6442 ctx := testutil.Context(t, testutil.WaitShort)
6443 dbgen.Organization(t, db, database.Organization{
6444 ID: orgID,
6445 })
6446 dbgen.User(t, db, database.User{
6447 ID: userID,
6448 })
6449
6450 tmpl := createTemplate(t, db, orgID, userID)
6451 tmplV1 := createTmplVersionAndPreset(t, db, tmpl, tmpl.ActiveVersionID, now, nil)
6452 createPrebuiltWorkspace(ctx, t, db, tmpl, tmplV1, orgID, now, &createPrebuiltWorkspaceOpts{
6453 failedJob: true,
6454 })
6455
6456 backoffs, err := db.GetPresetsBackoff(ctx, now.Add(-time.Hour))
6457 require.NoError(t, err)
6458
6459 require.Len(t, backoffs, 1)
6460 backoff := backoffs[0]
6461 require.Equal(t, backoff.TemplateVersionID, tmpl.ActiveVersionID)
6462 require.Equal(t, backoff.PresetID, tmplV1.preset.ID)
6463 require.Equal(t, int32(1), backoff.NumFailed)
6464 })
6465
6466 t.Run("Multiple Workspace Builds", func(t *testing.T) {
6467 t.Parallel()
6468
6469 db, _ := dbtestutil.NewDB(t)
6470 ctx := testutil.Context(t, testutil.WaitShort)
6471 dbgen.Organization(t, db, database.Organization{
6472 ID: orgID,
6473 })
6474 dbgen.User(t, db, database.User{
6475 ID: userID,
6476 })
6477
6478 tmpl := createTemplate(t, db, orgID, userID)

Callers

nothing calls this directly

Calls 15

NowFunction · 0.92
NewDBFunction · 0.92
ContextFunction · 0.92
OrganizationFunction · 0.92
UserFunction · 0.92
createPrebuiltWorkspaceFunction · 0.85
CompareMethod · 0.80
createTemplateFunction · 0.70
NewMethod · 0.65
RunMethod · 0.65
GetPresetsBackoffMethod · 0.65

Tested by

no test coverage detected