@@ -15,23 +15,11 @@ import (
15
15
"github.com/coder/coder/v2/coderd/database/dbgen"
16
16
"github.com/coder/coder/v2/coderd/database/dbtime"
17
17
"github.com/coder/coder/v2/coderd/provisionerdserver"
18
- "github.com/coder/coder/v2/coderd/rbac"
19
18
"github.com/coder/coder/v2/coderd/telemetry"
20
19
"github.com/coder/coder/v2/provisionersdk/proto"
21
20
sdkproto "github.com/coder/coder/v2/provisionersdk/proto"
22
21
)
23
22
24
- // All methods take in a 'seed' object. Any provided fields in the seed will be
25
- // maintained. Any fields omitted will have sensible defaults generated.
26
-
27
- // genCtx is to give all generator functions permission if the db is a dbauthz db.
28
- var genCtx = dbauthz .As (context .Background (), rbac.Subject {
29
- ID : "owner" ,
30
- Roles : rbac .Roles (must (rbac.RoleNames {rbac .RoleOwner ()}.Expand ())),
31
- Groups : []string {},
32
- Scope : rbac .ExpandableScope (rbac .ScopeAll ),
33
- })
34
-
35
23
// Workspace inserts a workspace into the database.
36
24
func Workspace (t testing.TB , db database.Store , seed database.Workspace ) database.Workspace {
37
25
t .Helper ()
@@ -55,12 +43,12 @@ func TemplateWithVersion(t testing.TB, db database.Store, tpl database.Template,
55
43
56
44
template := dbgen .Template (t , db , tpl )
57
45
58
- tv .TemplateID = takeFirst (tv .TemplateID , uuid.NullUUID {UUID : template .ID , Valid : true })
59
- tv .OrganizationID = takeFirst (tv .OrganizationID , template .OrganizationID )
60
- tv .CreatedBy = takeFirst (tv .CreatedBy , template .CreatedBy )
46
+ tv .TemplateID = dbgen . TakeFirst (tv .TemplateID , uuid.NullUUID {UUID : template .ID , Valid : true })
47
+ tv .OrganizationID = dbgen . TakeFirst (tv .OrganizationID , template .OrganizationID )
48
+ tv .CreatedBy = dbgen . TakeFirst (tv .CreatedBy , template .CreatedBy )
61
49
version := TemplateVersion (t , db , tv , database.ProvisionerJob {}, resources ... )
62
50
63
- err := db .UpdateTemplateActiveVersionByID (genCtx , database.UpdateTemplateActiveVersionByIDParams {
51
+ err := db .UpdateTemplateActiveVersionByID (dbgen . Ctx , database.UpdateTemplateActiveVersionByIDParams {
64
52
ID : template .ID ,
65
53
ActiveVersionID : version .ID ,
66
54
UpdatedAt : dbtime .Now (),
@@ -77,11 +65,11 @@ func TemplateVersion(t testing.TB, db database.Store, tv database.TemplateVersio
77
65
})
78
66
require .NoError (t , err )
79
67
80
- job .ID = takeFirst (job .ID , templateVersion .JobID )
81
- job .OrganizationID = takeFirst (job .OrganizationID , templateVersion .OrganizationID )
82
- job .Input = takeFirstSlice (job .Input , payload )
83
- job .Type = takeFirst (job .Type , database .ProvisionerJobTypeTemplateVersionImport )
84
- job .CompletedAt = takeFirst (job .CompletedAt , sql.NullTime {
68
+ job .ID = dbgen . TakeFirst (job .ID , templateVersion .JobID )
69
+ job .OrganizationID = dbgen . TakeFirst (job .OrganizationID , templateVersion .OrganizationID )
70
+ job .Input = dbgen . TakeFirstSlice (job .Input , payload )
71
+ job .Type = dbgen . TakeFirst (job .Type , database .ProvisionerJobTypeTemplateVersionImport )
72
+ job .CompletedAt = dbgen . TakeFirst (job .CompletedAt , sql.NullTime {
85
73
Time : dbtime .Now (),
86
74
Valid : true ,
87
75
})
@@ -153,7 +141,7 @@ func WorkspaceBuild(t testing.TB, db database.Store, ws database.Workspace, seed
153
141
WorkspaceBuildID : seed .ID ,
154
142
})
155
143
require .NoError (t , err )
156
- job , err := db .InsertProvisionerJob (genCtx , database.InsertProvisionerJobParams {
144
+ job , err := db .InsertProvisionerJob (dbgen . Ctx , database.InsertProvisionerJobParams {
157
145
ID : jobID ,
158
146
CreatedAt : dbtime .Now (),
159
147
UpdatedAt : dbtime .Now (),
@@ -168,7 +156,7 @@ func WorkspaceBuild(t testing.TB, db database.Store, ws database.Workspace, seed
168
156
TraceMetadata : pqtype.NullRawMessage {},
169
157
})
170
158
require .NoError (t , err , "insert job" )
171
- err = db .UpdateProvisionerJobWithCompleteByID (genCtx , database.UpdateProvisionerJobWithCompleteByIDParams {
159
+ err = db .UpdateProvisionerJobWithCompleteByID (dbgen . Ctx , database.UpdateProvisionerJobWithCompleteByIDParams {
172
160
ID : job .ID ,
173
161
UpdatedAt : dbtime .Now (),
174
162
Error : sql.NullString {},
@@ -233,19 +221,3 @@ func takeFirstF[Value any](values []Value, take func(v Value) bool) Value {
233
221
var empty Value
234
222
return empty
235
223
}
236
-
237
- // takeFirst will take the first non-empty value.
238
- func takeFirst [Value comparable ](values ... Value ) Value {
239
- var empty Value
240
- return takeFirstF (values , func (v Value ) bool {
241
- return v != empty
242
- })
243
- }
244
-
245
- // takeFirstSlice implements takeFirst for []any.
246
- // []any is not a comparable type.
247
- func takeFirstSlice [T any ](values ... []T ) []T {
248
- return takeFirstF (values , func (v []T ) bool {
249
- return len (v ) != 0
250
- })
251
- }
0 commit comments