@@ -187,28 +187,48 @@ func (b WorkspaceBuildBuilder) Do() database.WorkspaceBuild {
187
187
Valid : true ,
188
188
},
189
189
})
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 ( )
191
191
b .seed .TemplateVersionID = templateVersion .ID
192
192
}
193
193
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 ( )
195
195
if b .ps != nil {
196
196
err = b .ps .Publish (codersdk .WorkspaceNotifyChannel (build .WorkspaceID ), []byte {})
197
197
require .NoError (b .t , err )
198
198
}
199
199
return build
200
200
}
201
201
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 ()
205
- if transition == "" {
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
+ if b .transition == "" {
206
226
// Default to start!
207
- transition = database .WorkspaceTransitionStart
227
+ b . transition = database .WorkspaceTransitionStart
208
228
}
209
- for _ , resource := range resources {
229
+ for _ , resource := range b . resources {
210
230
//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 )
231
+ err := provisionerdserver .InsertWorkspaceResource (dbauthz .AsSystemRestricted (context .Background ()), b . db , b . jobID , b . transition , resource , & telemetry.Snapshot {})
232
+ require .NoError (b . t , err )
213
233
}
214
234
}
0 commit comments