(t *testing.T)
| 6419 | } |
| 6420 | |
| 6421 | func 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) |
nothing calls this directly
no test coverage detected