@@ -9,44 +9,46 @@ import (
9
9
10
10
"github.com/coder/coder/v2/coderd/database"
11
11
"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 "
13
13
)
14
14
15
15
func TestGenerator (t * testing.T ) {
16
16
t .Parallel ()
17
17
18
18
t .Run ("AuditLog" , func (t * testing.T ) {
19
19
t .Parallel ()
20
- db := dbmem . New ( )
20
+ db , _ := dbtestutil . NewDB ( t )
21
21
_ = dbgen .AuditLog (t , db , database.AuditLog {})
22
22
logs := must (db .GetAuditLogsOffset (context .Background (), database.GetAuditLogsOffsetParams {LimitOpt : 1 }))
23
23
require .Len (t , logs , 1 )
24
24
})
25
25
26
26
t .Run ("APIKey" , func (t * testing.T ) {
27
27
t .Parallel ()
28
- db := dbmem .New ()
28
+ db , _ := dbtestutil .NewDB (t )
29
+ dbtestutil .DisableForeignKeysAndTriggers (t , db )
29
30
exp , _ := dbgen .APIKey (t , db , database.APIKey {})
30
31
require .Equal (t , exp , must (db .GetAPIKeyByID (context .Background (), exp .ID )))
31
32
})
32
33
33
34
t .Run ("File" , func (t * testing.T ) {
34
35
t .Parallel ()
35
- db := dbmem . New ( )
36
+ db , _ := dbtestutil . NewDB ( t )
36
37
exp := dbgen .File (t , db , database.File {})
37
38
require .Equal (t , exp , must (db .GetFileByID (context .Background (), exp .ID )))
38
39
})
39
40
40
41
t .Run ("UserLink" , func (t * testing.T ) {
41
42
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 })
44
46
require .Equal (t , exp , must (db .GetUserLinkByLinkedID (context .Background (), exp .LinkedID )))
45
47
})
46
48
47
49
t .Run ("GitAuthLink" , func (t * testing.T ) {
48
50
t .Parallel ()
49
- db := dbmem . New ( )
51
+ db , _ := dbtestutil . NewDB ( t )
50
52
exp := dbgen .ExternalAuthLink (t , db , database.ExternalAuthLink {})
51
53
require .Equal (t , exp , must (db .GetExternalAuthLink (context .Background (), database.GetExternalAuthLinkParams {
52
54
ProviderID : exp .ProviderID ,
@@ -56,50 +58,55 @@ func TestGenerator(t *testing.T) {
56
58
57
59
t .Run ("WorkspaceResource" , func (t * testing.T ) {
58
60
t .Parallel ()
59
- db := dbmem .New ()
61
+ db , _ := dbtestutil .NewDB (t )
62
+ dbtestutil .DisableForeignKeysAndTriggers (t , db )
60
63
exp := dbgen .WorkspaceResource (t , db , database.WorkspaceResource {})
61
64
require .Equal (t , exp , must (db .GetWorkspaceResourceByID (context .Background (), exp .ID )))
62
65
})
63
66
64
67
t .Run ("WorkspaceApp" , func (t * testing.T ) {
65
68
t .Parallel ()
66
- db := dbmem .New ()
69
+ db , _ := dbtestutil .NewDB (t )
70
+ dbtestutil .DisableForeignKeysAndTriggers (t , db )
67
71
exp := dbgen .WorkspaceApp (t , db , database.WorkspaceApp {})
68
72
require .Equal (t , exp , must (db .GetWorkspaceAppsByAgentID (context .Background (), exp .AgentID ))[0 ])
69
73
})
70
74
71
75
t .Run ("WorkspaceResourceMetadata" , func (t * testing.T ) {
72
76
t .Parallel ()
73
- db := dbmem .New ()
77
+ db , _ := dbtestutil .NewDB (t )
78
+ dbtestutil .DisableForeignKeysAndTriggers (t , db )
74
79
exp := dbgen .WorkspaceResourceMetadatums (t , db , database.WorkspaceResourceMetadatum {})
75
80
require .Equal (t , exp , must (db .GetWorkspaceResourceMetadataByResourceIDs (context .Background (), []uuid.UUID {exp [0 ].WorkspaceResourceID })))
76
81
})
77
82
78
83
t .Run ("WorkspaceProxy" , func (t * testing.T ) {
79
84
t .Parallel ()
80
- db := dbmem . New ( )
85
+ db , _ := dbtestutil . NewDB ( t )
81
86
exp , secret := dbgen .WorkspaceProxy (t , db , database.WorkspaceProxy {})
82
87
require .Len (t , secret , 64 )
83
88
require .Equal (t , exp , must (db .GetWorkspaceProxyByID (context .Background (), exp .ID )))
84
89
})
85
90
86
91
t .Run ("Job" , func (t * testing.T ) {
87
92
t .Parallel ()
88
- db := dbmem . New ( )
93
+ db , _ := dbtestutil . NewDB ( t )
89
94
exp := dbgen .ProvisionerJob (t , db , nil , database.ProvisionerJob {})
90
95
require .Equal (t , exp , must (db .GetProvisionerJobByID (context .Background (), exp .ID )))
91
96
})
92
97
93
98
t .Run ("Group" , func (t * testing.T ) {
94
99
t .Parallel ()
95
- db := dbmem .New ()
100
+ db , _ := dbtestutil .NewDB (t )
101
+ dbtestutil .DisableForeignKeysAndTriggers (t , db )
96
102
exp := dbgen .Group (t , db , database.Group {})
97
103
require .Equal (t , exp , must (db .GetGroupByID (context .Background (), exp .ID )))
98
104
})
99
105
100
106
t .Run ("GroupMember" , func (t * testing.T ) {
101
107
t .Parallel ()
102
- db := dbmem .New ()
108
+ db , _ := dbtestutil .NewDB (t )
109
+ dbtestutil .DisableForeignKeysAndTriggers (t , db )
103
110
g := dbgen .Group (t , db , database.Group {})
104
111
u := dbgen .User (t , db , database.User {})
105
112
gm := dbgen .GroupMember (t , db , database.GroupMemberTable {GroupID : g .ID , UserID : u .ID })
@@ -113,15 +120,17 @@ func TestGenerator(t *testing.T) {
113
120
114
121
t .Run ("Organization" , func (t * testing.T ) {
115
122
t .Parallel ()
116
- db := dbmem . New ( )
123
+ db , _ := dbtestutil . NewDB ( t )
117
124
exp := dbgen .Organization (t , db , database.Organization {})
118
125
require .Equal (t , exp , must (db .GetOrganizationByID (context .Background (), exp .ID )))
119
126
})
120
127
121
128
t .Run ("OrganizationMember" , func (t * testing.T ) {
122
129
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 })
125
134
require .Equal (t , exp , must (database .ExpectOne (db .OrganizationMembers (context .Background (), database.OrganizationMembersParams {
126
135
OrganizationID : exp .OrganizationID ,
127
136
UserID : exp .UserID ,
@@ -130,63 +139,98 @@ func TestGenerator(t *testing.T) {
130
139
131
140
t .Run ("Workspace" , func (t * testing.T ) {
132
141
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 )
136
173
})
137
174
138
175
t .Run ("WorkspaceAgent" , func (t * testing.T ) {
139
176
t .Parallel ()
140
- db := dbmem .New ()
177
+ db , _ := dbtestutil .NewDB (t )
178
+ dbtestutil .DisableForeignKeysAndTriggers (t , db )
141
179
exp := dbgen .WorkspaceAgent (t , db , database.WorkspaceAgent {})
142
180
require .Equal (t , exp , must (db .GetWorkspaceAgentByID (context .Background (), exp .ID )))
143
181
})
144
182
145
183
t .Run ("Template" , func (t * testing.T ) {
146
184
t .Parallel ()
147
- db := dbmem .New ()
185
+ db , _ := dbtestutil .NewDB (t )
186
+ dbtestutil .DisableForeignKeysAndTriggers (t , db )
148
187
exp := dbgen .Template (t , db , database.Template {})
149
188
require .Equal (t , exp , must (db .GetTemplateByID (context .Background (), exp .ID )))
150
189
})
151
190
152
191
t .Run ("TemplateVersion" , func (t * testing.T ) {
153
192
t .Parallel ()
154
- db := dbmem .New ()
193
+ db , _ := dbtestutil .NewDB (t )
194
+ dbtestutil .DisableForeignKeysAndTriggers (t , db )
155
195
exp := dbgen .TemplateVersion (t , db , database.TemplateVersion {})
156
196
require .Equal (t , exp , must (db .GetTemplateVersionByID (context .Background (), exp .ID )))
157
197
})
158
198
159
199
t .Run ("WorkspaceBuild" , func (t * testing.T ) {
160
200
t .Parallel ()
161
- db := dbmem .New ()
201
+ db , _ := dbtestutil .NewDB (t )
202
+ dbtestutil .DisableForeignKeysAndTriggers (t , db )
162
203
exp := dbgen .WorkspaceBuild (t , db , database.WorkspaceBuild {})
163
204
require .Equal (t , exp , must (db .GetWorkspaceBuildByID (context .Background (), exp .ID )))
164
205
})
165
206
166
207
t .Run ("User" , func (t * testing.T ) {
167
208
t .Parallel ()
168
- db := dbmem . New ( )
209
+ db , _ := dbtestutil . NewDB ( t )
169
210
exp := dbgen .User (t , db , database.User {})
170
211
require .Equal (t , exp , must (db .GetUserByID (context .Background (), exp .ID )))
171
212
})
172
213
173
214
t .Run ("SSHKey" , func (t * testing.T ) {
174
215
t .Parallel ()
175
- db := dbmem .New ()
216
+ db , _ := dbtestutil .NewDB (t )
217
+ dbtestutil .DisableForeignKeysAndTriggers (t , db )
176
218
exp := dbgen .GitSSHKey (t , db , database.GitSSHKey {})
177
219
require .Equal (t , exp , must (db .GetGitSSHKey (context .Background (), exp .UserID )))
178
220
})
179
221
180
222
t .Run ("WorkspaceBuildParameters" , func (t * testing.T ) {
181
223
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" }})
184
227
require .Equal (t , exp , must (db .GetWorkspaceBuildParameters (context .Background (), exp [0 ].WorkspaceBuildID )))
185
228
})
186
229
187
230
t .Run ("TemplateVersionParameter" , func (t * testing.T ) {
188
231
t .Parallel ()
189
- db := dbmem .New ()
232
+ db , _ := dbtestutil .NewDB (t )
233
+ dbtestutil .DisableForeignKeysAndTriggers (t , db )
190
234
exp := dbgen .TemplateVersionParameter (t , db , database.TemplateVersionParameter {})
191
235
actual := must (db .GetTemplateVersionParameters (context .Background (), exp .TemplateVersionID ))
192
236
require .Len (t , actual , 1 )
0 commit comments