Skip to content

Commit 11612d1

Browse files
committed
reference instead of duplicate
1 parent 5a2d6d0 commit 11612d1

File tree

2 files changed

+292
-320
lines changed

2 files changed

+292
-320
lines changed

coderd/database/dbfake/dbfake.go

Lines changed: 11 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -15,23 +15,11 @@ import (
1515
"github.com/coder/coder/v2/coderd/database/dbgen"
1616
"github.com/coder/coder/v2/coderd/database/dbtime"
1717
"github.com/coder/coder/v2/coderd/provisionerdserver"
18-
"github.com/coder/coder/v2/coderd/rbac"
1918
"github.com/coder/coder/v2/coderd/telemetry"
2019
"github.com/coder/coder/v2/provisionersdk/proto"
2120
sdkproto "github.com/coder/coder/v2/provisionersdk/proto"
2221
)
2322

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-
3523
// Workspace inserts a workspace into the database.
3624
func Workspace(t testing.TB, db database.Store, seed database.Workspace) database.Workspace {
3725
t.Helper()
@@ -55,12 +43,12 @@ func TemplateWithVersion(t testing.TB, db database.Store, tpl database.Template,
5543

5644
template := dbgen.Template(t, db, tpl)
5745

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)
6149
version := TemplateVersion(t, db, tv, database.ProvisionerJob{}, resources...)
6250

63-
err := db.UpdateTemplateActiveVersionByID(genCtx, database.UpdateTemplateActiveVersionByIDParams{
51+
err := db.UpdateTemplateActiveVersionByID(dbgen.Ctx, database.UpdateTemplateActiveVersionByIDParams{
6452
ID: template.ID,
6553
ActiveVersionID: version.ID,
6654
UpdatedAt: dbtime.Now(),
@@ -77,11 +65,11 @@ func TemplateVersion(t testing.TB, db database.Store, tv database.TemplateVersio
7765
})
7866
require.NoError(t, err)
7967

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{
8573
Time: dbtime.Now(),
8674
Valid: true,
8775
})
@@ -153,7 +141,7 @@ func WorkspaceBuild(t testing.TB, db database.Store, ws database.Workspace, seed
153141
WorkspaceBuildID: seed.ID,
154142
})
155143
require.NoError(t, err)
156-
job, err := db.InsertProvisionerJob(genCtx, database.InsertProvisionerJobParams{
144+
job, err := db.InsertProvisionerJob(dbgen.Ctx, database.InsertProvisionerJobParams{
157145
ID: jobID,
158146
CreatedAt: dbtime.Now(),
159147
UpdatedAt: dbtime.Now(),
@@ -168,7 +156,7 @@ func WorkspaceBuild(t testing.TB, db database.Store, ws database.Workspace, seed
168156
TraceMetadata: pqtype.NullRawMessage{},
169157
})
170158
require.NoError(t, err, "insert job")
171-
err = db.UpdateProvisionerJobWithCompleteByID(genCtx, database.UpdateProvisionerJobWithCompleteByIDParams{
159+
err = db.UpdateProvisionerJobWithCompleteByID(dbgen.Ctx, database.UpdateProvisionerJobWithCompleteByIDParams{
172160
ID: job.ID,
173161
UpdatedAt: dbtime.Now(),
174162
Error: sql.NullString{},
@@ -233,19 +221,3 @@ func takeFirstF[Value any](values []Value, take func(v Value) bool) Value {
233221
var empty Value
234222
return empty
235223
}
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

Comments
 (0)