Skip to content

Commit a7cf10c

Browse files
authored
chore(coderd/database/dbpurge): fix failing test (#12530)
1 parent 35086f5 commit a7cf10c

File tree

1 file changed

+20
-12
lines changed

1 file changed

+20
-12
lines changed

coderd/database/dbpurge/dbpurge_test.go

Lines changed: 20 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -202,7 +202,7 @@ func containsAgentLog(daemons []database.WorkspaceAgentLog, output string) bool
202202
func TestDeleteOldProvisionerDaemons(t *testing.T) {
203203
t.Parallel()
204204

205-
db, _ := dbtestutil.NewDB(t)
205+
db, _ := dbtestutil.NewDB(t, dbtestutil.WithDumpOnFailure())
206206
defaultOrg := dbgen.Organization(t, db, database.Organization{})
207207
logger := slogtest.Make(t, &slogtest.Options{IgnoreErrors: true})
208208

@@ -214,11 +214,12 @@ func TestDeleteOldProvisionerDaemons(t *testing.T) {
214214
// given
215215
_, err := db.UpsertProvisionerDaemon(ctx, database.UpsertProvisionerDaemonParams{
216216
// 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)},
222223
Version: "1.0.0",
223224
APIVersion: proto.CurrentVersion.String(),
224225
OrganizationID: defaultOrg.ID,
@@ -229,8 +230,8 @@ func TestDeleteOldProvisionerDaemons(t *testing.T) {
229230
Name: "external-1",
230231
Provisioners: []database.ProvisionerType{"echo"},
231232
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)},
234235
Version: "1.0.0",
235236
APIVersion: proto.CurrentVersion.String(),
236237
OrganizationID: defaultOrg.ID,
@@ -244,7 +245,7 @@ func TestDeleteOldProvisionerDaemons(t *testing.T) {
244245
provisionersdk.TagScope: provisionersdk.ScopeUser,
245246
provisionersdk.TagOwner: uuid.NewString(),
246247
},
247-
CreatedAt: now.Add(-9 * 24 * time.Hour),
248+
CreatedAt: now.AddDate(0, 0, -9),
248249
Version: "1.0.0",
249250
APIVersion: proto.CurrentVersion.String(),
250251
OrganizationID: defaultOrg.ID,
@@ -258,8 +259,8 @@ func TestDeleteOldProvisionerDaemons(t *testing.T) {
258259
provisionersdk.TagScope: provisionersdk.ScopeUser,
259260
provisionersdk.TagOwner: uuid.NewString(),
260261
},
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)},
263264
Version: "1.0.0",
264265
APIVersion: proto.CurrentVersion.String(),
265266
OrganizationID: defaultOrg.ID,
@@ -276,11 +277,18 @@ func TestDeleteOldProvisionerDaemons(t *testing.T) {
276277
if err != nil {
277278
return false
278279
}
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+
279287
return containsProvisionerDaemon(daemons, "external-0") &&
280288
!containsProvisionerDaemon(daemons, "external-1") &&
281289
!containsProvisionerDaemon(daemons, "alice-provisioner") &&
282290
containsProvisionerDaemon(daemons, "bob-provisioner")
283-
}, testutil.WaitShort, testutil.IntervalFast)
291+
}, testutil.WaitShort, testutil.IntervalSlow)
284292
}
285293

286294
func containsProvisionerDaemon(daemons []database.ProvisionerDaemon, name string) bool {

0 commit comments

Comments
 (0)