Skip to content

Commit bdf227c

Browse files
authored
chore(coderd/database/dbgen): remove dbmem from tests (#18152)
Related to #15109
1 parent d3ed6fe commit bdf227c

File tree

1 file changed

+73
-29
lines changed

1 file changed

+73
-29
lines changed

coderd/database/dbgen/dbgen_test.go

Lines changed: 73 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -9,44 +9,46 @@ import (
99

1010
"github.com/coder/coder/v2/coderd/database"
1111
"github.com/coder/coder/v2/coderd/database/dbgen"
12-
"github.com/coder/coder/v2/coderd/database/dbmem"
12+
"github.com/coder/coder/v2/coderd/database/dbtestutil"
1313
)
1414

1515
func TestGenerator(t *testing.T) {
1616
t.Parallel()
1717

1818
t.Run("AuditLog", func(t *testing.T) {
1919
t.Parallel()
20-
db := dbmem.New()
20+
db, _ := dbtestutil.NewDB(t)
2121
_ = dbgen.AuditLog(t, db, database.AuditLog{})
2222
logs := must(db.GetAuditLogsOffset(context.Background(), database.GetAuditLogsOffsetParams{LimitOpt: 1}))
2323
require.Len(t, logs, 1)
2424
})
2525

2626
t.Run("APIKey", func(t *testing.T) {
2727
t.Parallel()
28-
db := dbmem.New()
28+
db, _ := dbtestutil.NewDB(t)
29+
dbtestutil.DisableForeignKeysAndTriggers(t, db)
2930
exp, _ := dbgen.APIKey(t, db, database.APIKey{})
3031
require.Equal(t, exp, must(db.GetAPIKeyByID(context.Background(), exp.ID)))
3132
})
3233

3334
t.Run("File", func(t *testing.T) {
3435
t.Parallel()
35-
db := dbmem.New()
36+
db, _ := dbtestutil.NewDB(t)
3637
exp := dbgen.File(t, db, database.File{})
3738
require.Equal(t, exp, must(db.GetFileByID(context.Background(), exp.ID)))
3839
})
3940

4041
t.Run("UserLink", func(t *testing.T) {
4142
t.Parallel()
42-
db := dbmem.New()
43-
exp := dbgen.UserLink(t, db, database.UserLink{})
43+
db, _ := dbtestutil.NewDB(t)
44+
u := dbgen.User(t, db, database.User{})
45+
exp := dbgen.UserLink(t, db, database.UserLink{UserID: u.ID})
4446
require.Equal(t, exp, must(db.GetUserLinkByLinkedID(context.Background(), exp.LinkedID)))
4547
})
4648

4749
t.Run("GitAuthLink", func(t *testing.T) {
4850
t.Parallel()
49-
db := dbmem.New()
51+
db, _ := dbtestutil.NewDB(t)
5052
exp := dbgen.ExternalAuthLink(t, db, database.ExternalAuthLink{})
5153
require.Equal(t, exp, must(db.GetExternalAuthLink(context.Background(), database.GetExternalAuthLinkParams{
5254
ProviderID: exp.ProviderID,
@@ -56,50 +58,55 @@ func TestGenerator(t *testing.T) {
5658

5759
t.Run("WorkspaceResource", func(t *testing.T) {
5860
t.Parallel()
59-
db := dbmem.New()
61+
db, _ := dbtestutil.NewDB(t)
62+
dbtestutil.DisableForeignKeysAndTriggers(t, db)
6063
exp := dbgen.WorkspaceResource(t, db, database.WorkspaceResource{})
6164
require.Equal(t, exp, must(db.GetWorkspaceResourceByID(context.Background(), exp.ID)))
6265
})
6366

6467
t.Run("WorkspaceApp", func(t *testing.T) {
6568
t.Parallel()
66-
db := dbmem.New()
69+
db, _ := dbtestutil.NewDB(t)
70+
dbtestutil.DisableForeignKeysAndTriggers(t, db)
6771
exp := dbgen.WorkspaceApp(t, db, database.WorkspaceApp{})
6872
require.Equal(t, exp, must(db.GetWorkspaceAppsByAgentID(context.Background(), exp.AgentID))[0])
6973
})
7074

7175
t.Run("WorkspaceResourceMetadata", func(t *testing.T) {
7276
t.Parallel()
73-
db := dbmem.New()
77+
db, _ := dbtestutil.NewDB(t)
78+
dbtestutil.DisableForeignKeysAndTriggers(t, db)
7479
exp := dbgen.WorkspaceResourceMetadatums(t, db, database.WorkspaceResourceMetadatum{})
7580
require.Equal(t, exp, must(db.GetWorkspaceResourceMetadataByResourceIDs(context.Background(), []uuid.UUID{exp[0].WorkspaceResourceID})))
7681
})
7782

7883
t.Run("WorkspaceProxy", func(t *testing.T) {
7984
t.Parallel()
80-
db := dbmem.New()
85+
db, _ := dbtestutil.NewDB(t)
8186
exp, secret := dbgen.WorkspaceProxy(t, db, database.WorkspaceProxy{})
8287
require.Len(t, secret, 64)
8388
require.Equal(t, exp, must(db.GetWorkspaceProxyByID(context.Background(), exp.ID)))
8489
})
8590

8691
t.Run("Job", func(t *testing.T) {
8792
t.Parallel()
88-
db := dbmem.New()
93+
db, _ := dbtestutil.NewDB(t)
8994
exp := dbgen.ProvisionerJob(t, db, nil, database.ProvisionerJob{})
9095
require.Equal(t, exp, must(db.GetProvisionerJobByID(context.Background(), exp.ID)))
9196
})
9297

9398
t.Run("Group", func(t *testing.T) {
9499
t.Parallel()
95-
db := dbmem.New()
100+
db, _ := dbtestutil.NewDB(t)
101+
dbtestutil.DisableForeignKeysAndTriggers(t, db)
96102
exp := dbgen.Group(t, db, database.Group{})
97103
require.Equal(t, exp, must(db.GetGroupByID(context.Background(), exp.ID)))
98104
})
99105

100106
t.Run("GroupMember", func(t *testing.T) {
101107
t.Parallel()
102-
db := dbmem.New()
108+
db, _ := dbtestutil.NewDB(t)
109+
dbtestutil.DisableForeignKeysAndTriggers(t, db)
103110
g := dbgen.Group(t, db, database.Group{})
104111
u := dbgen.User(t, db, database.User{})
105112
gm := dbgen.GroupMember(t, db, database.GroupMemberTable{GroupID: g.ID, UserID: u.ID})
@@ -113,15 +120,17 @@ func TestGenerator(t *testing.T) {
113120

114121
t.Run("Organization", func(t *testing.T) {
115122
t.Parallel()
116-
db := dbmem.New()
123+
db, _ := dbtestutil.NewDB(t)
117124
exp := dbgen.Organization(t, db, database.Organization{})
118125
require.Equal(t, exp, must(db.GetOrganizationByID(context.Background(), exp.ID)))
119126
})
120127

121128
t.Run("OrganizationMember", func(t *testing.T) {
122129
t.Parallel()
123-
db := dbmem.New()
124-
exp := dbgen.OrganizationMember(t, db, database.OrganizationMember{})
130+
db, _ := dbtestutil.NewDB(t)
131+
o := dbgen.Organization(t, db, database.Organization{})
132+
u := dbgen.User(t, db, database.User{})
133+
exp := dbgen.OrganizationMember(t, db, database.OrganizationMember{OrganizationID: o.ID, UserID: u.ID})
125134
require.Equal(t, exp, must(database.ExpectOne(db.OrganizationMembers(context.Background(), database.OrganizationMembersParams{
126135
OrganizationID: exp.OrganizationID,
127136
UserID: exp.UserID,
@@ -130,63 +139,98 @@ func TestGenerator(t *testing.T) {
130139

131140
t.Run("Workspace", func(t *testing.T) {
132141
t.Parallel()
133-
db := dbmem.New()
134-
exp := dbgen.Workspace(t, db, database.WorkspaceTable{})
135-
require.Equal(t, exp, must(db.GetWorkspaceByID(context.Background(), exp.ID)).WorkspaceTable())
142+
db, _ := dbtestutil.NewDB(t)
143+
u := dbgen.User(t, db, database.User{})
144+
org := dbgen.Organization(t, db, database.Organization{})
145+
tpl := dbgen.Template(t, db, database.Template{
146+
OrganizationID: org.ID,
147+
CreatedBy: u.ID,
148+
})
149+
exp := dbgen.Workspace(t, db, database.WorkspaceTable{
150+
OwnerID: u.ID,
151+
OrganizationID: org.ID,
152+
TemplateID: tpl.ID,
153+
})
154+
w := must(db.GetWorkspaceByID(context.Background(), exp.ID))
155+
table := database.WorkspaceTable{
156+
ID: w.ID,
157+
CreatedAt: w.CreatedAt,
158+
UpdatedAt: w.UpdatedAt,
159+
OwnerID: w.OwnerID,
160+
OrganizationID: w.OrganizationID,
161+
TemplateID: w.TemplateID,
162+
Deleted: w.Deleted,
163+
Name: w.Name,
164+
AutostartSchedule: w.AutostartSchedule,
165+
Ttl: w.Ttl,
166+
LastUsedAt: w.LastUsedAt,
167+
DormantAt: w.DormantAt,
168+
DeletingAt: w.DeletingAt,
169+
AutomaticUpdates: w.AutomaticUpdates,
170+
Favorite: w.Favorite,
171+
}
172+
require.Equal(t, exp, table)
136173
})
137174

138175
t.Run("WorkspaceAgent", func(t *testing.T) {
139176
t.Parallel()
140-
db := dbmem.New()
177+
db, _ := dbtestutil.NewDB(t)
178+
dbtestutil.DisableForeignKeysAndTriggers(t, db)
141179
exp := dbgen.WorkspaceAgent(t, db, database.WorkspaceAgent{})
142180
require.Equal(t, exp, must(db.GetWorkspaceAgentByID(context.Background(), exp.ID)))
143181
})
144182

145183
t.Run("Template", func(t *testing.T) {
146184
t.Parallel()
147-
db := dbmem.New()
185+
db, _ := dbtestutil.NewDB(t)
186+
dbtestutil.DisableForeignKeysAndTriggers(t, db)
148187
exp := dbgen.Template(t, db, database.Template{})
149188
require.Equal(t, exp, must(db.GetTemplateByID(context.Background(), exp.ID)))
150189
})
151190

152191
t.Run("TemplateVersion", func(t *testing.T) {
153192
t.Parallel()
154-
db := dbmem.New()
193+
db, _ := dbtestutil.NewDB(t)
194+
dbtestutil.DisableForeignKeysAndTriggers(t, db)
155195
exp := dbgen.TemplateVersion(t, db, database.TemplateVersion{})
156196
require.Equal(t, exp, must(db.GetTemplateVersionByID(context.Background(), exp.ID)))
157197
})
158198

159199
t.Run("WorkspaceBuild", func(t *testing.T) {
160200
t.Parallel()
161-
db := dbmem.New()
201+
db, _ := dbtestutil.NewDB(t)
202+
dbtestutil.DisableForeignKeysAndTriggers(t, db)
162203
exp := dbgen.WorkspaceBuild(t, db, database.WorkspaceBuild{})
163204
require.Equal(t, exp, must(db.GetWorkspaceBuildByID(context.Background(), exp.ID)))
164205
})
165206

166207
t.Run("User", func(t *testing.T) {
167208
t.Parallel()
168-
db := dbmem.New()
209+
db, _ := dbtestutil.NewDB(t)
169210
exp := dbgen.User(t, db, database.User{})
170211
require.Equal(t, exp, must(db.GetUserByID(context.Background(), exp.ID)))
171212
})
172213

173214
t.Run("SSHKey", func(t *testing.T) {
174215
t.Parallel()
175-
db := dbmem.New()
216+
db, _ := dbtestutil.NewDB(t)
217+
dbtestutil.DisableForeignKeysAndTriggers(t, db)
176218
exp := dbgen.GitSSHKey(t, db, database.GitSSHKey{})
177219
require.Equal(t, exp, must(db.GetGitSSHKey(context.Background(), exp.UserID)))
178220
})
179221

180222
t.Run("WorkspaceBuildParameters", func(t *testing.T) {
181223
t.Parallel()
182-
db := dbmem.New()
183-
exp := dbgen.WorkspaceBuildParameters(t, db, []database.WorkspaceBuildParameter{{}, {}, {}})
224+
db, _ := dbtestutil.NewDB(t)
225+
dbtestutil.DisableForeignKeysAndTriggers(t, db)
226+
exp := dbgen.WorkspaceBuildParameters(t, db, []database.WorkspaceBuildParameter{{Name: "name1", Value: "value1"}, {Name: "name2", Value: "value2"}, {Name: "name3", Value: "value3"}})
184227
require.Equal(t, exp, must(db.GetWorkspaceBuildParameters(context.Background(), exp[0].WorkspaceBuildID)))
185228
})
186229

187230
t.Run("TemplateVersionParameter", func(t *testing.T) {
188231
t.Parallel()
189-
db := dbmem.New()
232+
db, _ := dbtestutil.NewDB(t)
233+
dbtestutil.DisableForeignKeysAndTriggers(t, db)
190234
exp := dbgen.TemplateVersionParameter(t, db, database.TemplateVersionParameter{})
191235
actual := must(db.GetTemplateVersionParameters(context.Background(), exp.TemplateVersionID))
192236
require.Len(t, actual, 1)

0 commit comments

Comments
 (0)