Skip to content

Commit 45b3ea3

Browse files
committed
chore: convert dbfake.ProvisionerJobResources to builder
1 parent 10bf872 commit 45b3ea3

File tree

1 file changed

+29
-8
lines changed

1 file changed

+29
-8
lines changed

coderd/database/dbfake/dbfake.go

Lines changed: 29 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -187,28 +187,49 @@ func (b WorkspaceBuildBuilder) Do() database.WorkspaceBuild {
187187
Valid: true,
188188
},
189189
})
190-
ProvisionerJobResources(b.t, b.db, jobID, b.seed.Transition, b.resources...)
190+
NewProvisionerJobResourcesBuilder(b.t, b.db, jobID, b.seed.Transition, b.resources...).Do()
191191
b.seed.TemplateVersionID = templateVersion.ID
192192
}
193193
build := dbgen.WorkspaceBuild(b.t, b.db, b.seed)
194-
ProvisionerJobResources(b.t, b.db, job.ID, b.seed.Transition, b.resources...)
194+
NewProvisionerJobResourcesBuilder(b.t, b.db, job.ID, b.seed.Transition, b.resources...).Do()
195195
if b.ps != nil {
196196
err = b.ps.Publish(codersdk.WorkspaceNotifyChannel(build.WorkspaceID), []byte{})
197197
require.NoError(b.t, err)
198198
}
199199
return build
200200
}
201201

202-
// ProvisionerJobResources inserts a series of resources into a provisioner job.
203-
func ProvisionerJobResources(t testing.TB, db database.Store, job uuid.UUID, transition database.WorkspaceTransition, resources ...*sdkproto.Resource) {
204-
t.Helper()
202+
type ProvisionerJobResourcesBuilder struct {
203+
t testing.TB
204+
db database.Store
205+
jobID uuid.UUID
206+
transition database.WorkspaceTransition
207+
resources []*sdkproto.Resource
208+
}
209+
210+
// NewProvisionerJobResourcesBuilder inserts a series of resources into a provisioner job.
211+
func NewProvisionerJobResourcesBuilder(
212+
t testing.TB, db database.Store, jobID uuid.UUID, transition database.WorkspaceTransition, resources ...*sdkproto.Resource,
213+
) ProvisionerJobResourcesBuilder {
214+
return ProvisionerJobResourcesBuilder{
215+
t: t,
216+
db: db,
217+
jobID: jobID,
218+
transition: transition,
219+
resources: resources,
220+
}
221+
}
222+
223+
func (b ProvisionerJobResourcesBuilder) Do() {
224+
b.t.Helper()
225+
transition := b.transition
205226
if transition == "" {
206227
// Default to start!
207228
transition = database.WorkspaceTransitionStart
208229
}
209-
for _, resource := range resources {
230+
for _, resource := range b.resources {
210231
//nolint:gocritic // This is only used by tests.
211-
err := provisionerdserver.InsertWorkspaceResource(dbauthz.AsSystemRestricted(context.Background()), db, job, transition, resource, &telemetry.Snapshot{})
212-
require.NoError(t, err)
232+
err := provisionerdserver.InsertWorkspaceResource(dbauthz.AsSystemRestricted(context.Background()), b.db, b.jobID, transition, resource, &telemetry.Snapshot{})
233+
require.NoError(b.t, err)
213234
}
214235
}

0 commit comments

Comments
 (0)