@@ -202,7 +202,7 @@ func containsAgentLog(daemons []database.WorkspaceAgentLog, output string) bool
202
202
func TestDeleteOldProvisionerDaemons (t * testing.T ) {
203
203
t .Parallel ()
204
204
205
- db ,_ := dbtestutil .NewDB (t )
205
+ db ,_ := dbtestutil .NewDB (t , dbtestutil . WithDumpOnFailure () )
206
206
defaultOrg := dbgen .Organization (t ,db , database.Organization {})
207
207
logger := slogtest .Make (t ,& slogtest.Options {IgnoreErrors :true })
208
208
@@ -214,11 +214,12 @@ func TestDeleteOldProvisionerDaemons(t *testing.T) {
214
214
// given
215
215
_ ,err := db .UpsertProvisionerDaemon (ctx , database.UpsertProvisionerDaemonParams {
216
216
// Provisioner daemon created 14 days ago, and checked in just before 7 days deadline.
217
- Name :"external-0" ,
218
- Provisioners : []database.ProvisionerType {"echo" },
219
- Tags : database.StringMap {provisionersdk .TagScope :provisionersdk .ScopeOrganization },
220
- CreatedAt :now .Add (- 14 * 24 * time .Hour ),
221
- LastSeenAt : sql.NullTime {Valid :true ,Time :now .Add (- 7 * 24 * time .Hour ).Add (time .Minute )},
217
+ Name :"external-0" ,
218
+ Provisioners : []database.ProvisionerType {"echo" },
219
+ Tags : database.StringMap {provisionersdk .TagScope :provisionersdk .ScopeOrganization },
220
+ CreatedAt :now .AddDate (0 ,0 ,- 14 ),
221
+ // Note: adding an hour and a minute to account for DST variations
222
+ LastSeenAt : sql.NullTime {Valid :true ,Time :now .AddDate (0 ,0 ,- 7 ).Add (61 * time .Minute )},
222
223
Version :"1.0.0" ,
223
224
APIVersion :proto .CurrentVersion .String (),
224
225
OrganizationID :defaultOrg .ID ,
@@ -229,8 +230,8 @@ func TestDeleteOldProvisionerDaemons(t *testing.T) {
229
230
Name :"external-1" ,
230
231
Provisioners : []database.ProvisionerType {"echo" },
231
232
Tags : database.StringMap {provisionersdk .TagScope :provisionersdk .ScopeOrganization },
232
- CreatedAt :now .Add ( - 8 * 24 * time . Hour ),
233
- LastSeenAt : sql.NullTime {Valid :true ,Time :now .Add ( - 8 * 24 * time . Hour ).Add (time .Hour )},
233
+ CreatedAt :now .AddDate ( 0 , 0 , - 8 ),
234
+ LastSeenAt : sql.NullTime {Valid :true ,Time :now .AddDate ( 0 , 0 , - 8 ).Add (time .Hour )},
234
235
Version :"1.0.0" ,
235
236
APIVersion :proto .CurrentVersion .String (),
236
237
OrganizationID :defaultOrg .ID ,
@@ -244,7 +245,7 @@ func TestDeleteOldProvisionerDaemons(t *testing.T) {
244
245
provisionersdk .TagScope :provisionersdk .ScopeUser ,
245
246
provisionersdk .TagOwner :uuid .NewString (),
246
247
},
247
- CreatedAt :now .Add ( - 9 * 24 * time . Hour ),
248
+ CreatedAt :now .AddDate ( 0 , 0 , - 9 ),
248
249
Version :"1.0.0" ,
249
250
APIVersion :proto .CurrentVersion .String (),
250
251
OrganizationID :defaultOrg .ID ,
@@ -258,8 +259,8 @@ func TestDeleteOldProvisionerDaemons(t *testing.T) {
258
259
provisionersdk .TagScope :provisionersdk .ScopeUser ,
259
260
provisionersdk .TagOwner :uuid .NewString (),
260
261
},
261
- CreatedAt :now .Add ( - 6 * 24 * time . Hour ),
262
- LastSeenAt : sql.NullTime {Valid :true ,Time :now .Add ( - 6 * 24 * time . Hour )},
262
+ CreatedAt :now .AddDate ( 0 , 0 , - 6 ),
263
+ LastSeenAt : sql.NullTime {Valid :true ,Time :now .AddDate ( 0 , 0 , - 6 )},
263
264
Version :"1.0.0" ,
264
265
APIVersion :proto .CurrentVersion .String (),
265
266
OrganizationID :defaultOrg .ID ,
@@ -276,11 +277,18 @@ func TestDeleteOldProvisionerDaemons(t *testing.T) {
276
277
if err != nil {
277
278
return false
278
279
}
280
+
281
+ daemonNames := make ([]string ,0 ,len (daemons ))
282
+ for _ ,d := range daemons {
283
+ daemonNames = append (daemonNames ,d .Name )
284
+ }
285
+ t .Logf ("found %d daemons: %v" ,len (daemons ),daemonNames )
286
+
279
287
return containsProvisionerDaemon (daemons ,"external-0" )&&
280
288
! containsProvisionerDaemon (daemons ,"external-1" )&&
281
289
! containsProvisionerDaemon (daemons ,"alice-provisioner" )&&
282
290
containsProvisionerDaemon (daemons ,"bob-provisioner" )
283
- },testutil .WaitShort ,testutil .IntervalFast )
291
+ },testutil .WaitShort ,testutil .IntervalSlow )
284
292
}
285
293
286
294
func containsProvisionerDaemon (daemons []database.ProvisionerDaemon ,name string )bool {