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

Function TestArchiveVersions

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

Source from the content-addressed store, hash-verified

4590}
4591
4592func TestArchiveVersions(t *testing.T) {
4593 t.Parallel()
4594 if testing.Short() {
4595 t.SkipNow()
4596 }
4597
4598 t.Run("ArchiveFailedVersions", func(t *testing.T) {
4599 t.Parallel()
4600 sqlDB := testSQLDB(t)
4601 err := migrations.Up(sqlDB)
4602 require.NoError(t, err)
4603 db := database.New(sqlDB)
4604 ctx := context.Background()
4605
4606 org := dbgen.Organization(t, db, database.Organization{})
4607 user := dbgen.User(t, db, database.User{})
4608 tpl := dbgen.Template(t, db, database.Template{
4609 OrganizationID: org.ID,
4610 CreatedBy: user.ID,
4611 })
4612 // Create some versions
4613 failed := createTemplateVersion(t, db, tpl, tvArgs{
4614 Status: database.ProvisionerJobStatusFailed,
4615 CreateWorkspace: false,
4616 })
4617 unused := createTemplateVersion(t, db, tpl, tvArgs{
4618 Status: database.ProvisionerJobStatusSucceeded,
4619 CreateWorkspace: false,
4620 })
4621 createTemplateVersion(t, db, tpl, tvArgs{
4622 Status: database.ProvisionerJobStatusSucceeded,
4623 CreateWorkspace: true,
4624 })
4625 deleted := createTemplateVersion(t, db, tpl, tvArgs{
4626 Status: database.ProvisionerJobStatusSucceeded,
4627 CreateWorkspace: true,
4628 WorkspaceTransition: database.WorkspaceTransitionDelete,
4629 })
4630
4631 // Now archive failed versions
4632 archived, err := db.ArchiveUnusedTemplateVersions(ctx, database.ArchiveUnusedTemplateVersionsParams{
4633 UpdatedAt: dbtime.Now(),
4634 TemplateID: tpl.ID,
4635 // All versions
4636 TemplateVersionID: uuid.Nil,
4637 JobStatus: database.NullProvisionerJobStatus{
4638 ProvisionerJobStatus: database.ProvisionerJobStatusFailed,
4639 Valid: true,
4640 },
4641 })
4642 require.NoError(t, err, "archive failed versions")
4643 require.Len(t, archived, 1, "should only archive one version")
4644 require.Equal(t, failed.ID, archived[0], "should archive failed version")
4645
4646 // Archive all unused versions
4647 archived, err = db.ArchiveUnusedTemplateVersions(ctx, database.ArchiveUnusedTemplateVersionsParams{
4648 UpdatedAt: dbtime.Now(),
4649 TemplateID: tpl.ID,

Callers

nothing calls this directly

Calls 13

UpFunction · 0.92
NewFunction · 0.92
OrganizationFunction · 0.92
UserFunction · 0.92
TemplateFunction · 0.92
NowFunction · 0.92
SkipNowMethod · 0.80
testSQLDBFunction · 0.70
createTemplateVersionFunction · 0.70
RunMethod · 0.65
LenMethod · 0.45

Tested by

no test coverage detected