( ctx context.Context, t *testing.T, clock quartz.Clock, db database.Store, ps pubsub.Pubsub, orgID uuid.UUID, workspaceID uuid.UUID, templateVersionID uuid.UUID, presetID uuid.UUID, transition database.WorkspaceTransition, )
| 1595 | } |
| 1596 | |
| 1597 | func setupTestDBWorkspaceBuild( |
| 1598 | ctx context.Context, |
| 1599 | t *testing.T, |
| 1600 | clock quartz.Clock, |
| 1601 | db database.Store, |
| 1602 | ps pubsub.Pubsub, |
| 1603 | orgID uuid.UUID, |
| 1604 | workspaceID uuid.UUID, |
| 1605 | templateVersionID uuid.UUID, |
| 1606 | presetID uuid.UUID, |
| 1607 | transition database.WorkspaceTransition, |
| 1608 | ) (database.ProvisionerJob, database.WorkspaceBuild) { |
| 1609 | t.Helper() |
| 1610 | |
| 1611 | var buildNumber int32 = 1 |
| 1612 | latestWorkspaceBuild, err := db.GetLatestWorkspaceBuildByWorkspaceID(ctx, workspaceID) |
| 1613 | if !errors.Is(err, sql.ErrNoRows) { |
| 1614 | buildNumber = latestWorkspaceBuild.BuildNumber + 1 |
| 1615 | } |
| 1616 | |
| 1617 | job := dbgen.ProvisionerJob(t, db, ps, database.ProvisionerJob{ |
| 1618 | InitiatorID: database.PrebuildsSystemUserID, |
| 1619 | CreatedAt: clock.Now().Add(-time.Hour * 2), |
| 1620 | StartedAt: sql.NullTime{Time: clock.Now().Add(-time.Hour * 2), Valid: true}, |
| 1621 | CompletedAt: sql.NullTime{Time: clock.Now().Add(-time.Hour), Valid: true}, |
| 1622 | OrganizationID: orgID, |
| 1623 | JobStatus: database.ProvisionerJobStatusSucceeded, |
| 1624 | }) |
| 1625 | workspaceBuild := dbgen.WorkspaceBuild(t, db, database.WorkspaceBuild{ |
| 1626 | WorkspaceID: workspaceID, |
| 1627 | InitiatorID: database.PrebuildsSystemUserID, |
| 1628 | TemplateVersionID: templateVersionID, |
| 1629 | BuildNumber: buildNumber, |
| 1630 | JobID: job.ID, |
| 1631 | TemplateVersionPresetID: uuid.NullUUID{UUID: presetID, Valid: true}, |
| 1632 | Transition: transition, |
| 1633 | CreatedAt: clock.Now(), |
| 1634 | }) |
| 1635 | dbgen.WorkspaceBuildParameters(t, db, []database.WorkspaceBuildParameter{ |
| 1636 | { |
| 1637 | WorkspaceBuildID: workspaceBuild.ID, |
| 1638 | Name: "test", |
| 1639 | Value: "test", |
| 1640 | }, |
| 1641 | }) |
| 1642 | |
| 1643 | workspaceResource := dbgen.WorkspaceResource(t, db, database.WorkspaceResource{ |
| 1644 | JobID: job.ID, |
| 1645 | Transition: database.WorkspaceTransitionStart, |
| 1646 | Type: "compute", |
| 1647 | Name: "main", |
| 1648 | }) |
| 1649 | |
| 1650 | // Workspaces are eligible to be claimed once their agent is marked "ready" |
| 1651 | dbgen.WorkspaceAgent(t, db, database.WorkspaceAgent{ |
| 1652 | Name: "test", |
| 1653 | ResourceID: workspaceResource.ID, |
| 1654 | Architecture: "i386", |
no test coverage detected