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

Function setupTestDBWorkspaceBuild

coderd/autobuild/lifecycle_executor_test.go:1597–1663  ·  view source on GitHub ↗
(
	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,
)

Source from the content-addressed store, hash-verified

1595}
1596
1597func 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",

Callers 2

TestExecutorPrebuildsFunction · 0.85

Calls 9

ProvisionerJobFunction · 0.92
WorkspaceBuildFunction · 0.92
WorkspaceBuildParametersFunction · 0.92
WorkspaceResourceFunction · 0.92
WorkspaceAgentFunction · 0.92
HelperMethod · 0.65
AddMethod · 0.65
IsMethod · 0.45

Tested by

no test coverage detected