Skip to content

Commit 3a0a4dd

Browse files
authored
chore: convert dbfake.ProvisionerJobResources to builder (#10881)
Convert to builder for consistency with rest of the package. This will make it easier to use, and means we can drop "Builder" from function arguments since they are all builders in the package.
1 parent 4548ad7 commit 3a0a4dd

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)