@@ -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
1515func 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