From 42f4bffc6fbdb051c74969c99f8be8f169a78bbf Mon Sep 17 00:00:00 2001 From: Marcin Tojek Date: Mon, 8 Jul 2024 12:12:06 +0200 Subject: [PATCH 1/3] chore: refactor AgentHasNotConnectedSinceWeek_LogsExpired --- coderd/database/dbpurge/dbpurge_test.go | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/coderd/database/dbpurge/dbpurge_test.go b/coderd/database/dbpurge/dbpurge_test.go index 29f8dd9b80999..ba5745a145234 100644 --- a/coderd/database/dbpurge/dbpurge_test.go +++ b/coderd/database/dbpurge/dbpurge_test.go @@ -11,6 +11,7 @@ import ( "time" "github.com/google/uuid" + "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" "go.uber.org/goleak" "golang.org/x/exp/slices" @@ -183,20 +184,28 @@ func TestDeleteOldWorkspaceAgentLogs(t *testing.T) { // given agent := mustCreateAgentWithLogs(ctx, t, db, user, org, tmpl, tv, now.Add(-8*24*time.Hour), t.Name()) + // Make sure that agent logs have been collected. + agentLogs, err := db.GetWorkspaceAgentLogsAfter(ctx, database.GetWorkspaceAgentLogsAfterParams{ + AgentID: agent, + }) + require.NoError(t, err) + require.NotZero(t, agentLogs, "agent logs must be present") + // when closer := dbpurge.New(ctx, logger, db) defer closer.Close() // then - require.Eventually(t, func() bool { - agentLogs, err := db.GetWorkspaceAgentLogsAfter(ctx, database.GetWorkspaceAgentLogsAfterParams{ + assert.Eventually(t, func() bool { + agentLogs, err = db.GetWorkspaceAgentLogsAfter(ctx, database.GetWorkspaceAgentLogsAfterParams{ AgentID: agent, }) if err != nil { - return false + require.FailNow(t, "unable to get agent logs: %w", err) } return !containsAgentLog(agentLogs, t.Name()) }, testutil.WaitShort, testutil.IntervalFast) + require.NotContains(t, agentLogs, t.Name()) }) t.Run("AgentConnectedSixDaysAgo_LogsValid", func(t *testing.T) { From a72aca09d06c487e31fdb4b601cb81a7e2966213 Mon Sep 17 00:00:00 2001 From: Marcin Tojek Date: Mon, 8 Jul 2024 12:44:03 +0200 Subject: [PATCH 2/3] Use t.Fatal --- coderd/database/dbpurge/dbpurge_test.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/coderd/database/dbpurge/dbpurge_test.go b/coderd/database/dbpurge/dbpurge_test.go index ba5745a145234..45db0b7a474a2 100644 --- a/coderd/database/dbpurge/dbpurge_test.go +++ b/coderd/database/dbpurge/dbpurge_test.go @@ -201,7 +201,7 @@ func TestDeleteOldWorkspaceAgentLogs(t *testing.T) { AgentID: agent, }) if err != nil { - require.FailNow(t, "unable to get agent logs: %w", err) + t.Fatalf("unable to get agent logs: %v", err.Error()) } return !containsAgentLog(agentLogs, t.Name()) }, testutil.WaitShort, testutil.IntervalFast) From ab109096deda4a637ccec497a89ad50dd1946ec3 Mon Sep 17 00:00:00 2001 From: Marcin Tojek Date: Mon, 8 Jul 2024 12:51:52 +0200 Subject: [PATCH 3/3] NoError --- coderd/database/dbpurge/dbpurge_test.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/coderd/database/dbpurge/dbpurge_test.go b/coderd/database/dbpurge/dbpurge_test.go index 45db0b7a474a2..4705fb31eec81 100644 --- a/coderd/database/dbpurge/dbpurge_test.go +++ b/coderd/database/dbpurge/dbpurge_test.go @@ -201,10 +201,11 @@ func TestDeleteOldWorkspaceAgentLogs(t *testing.T) { AgentID: agent, }) if err != nil { - t.Fatalf("unable to get agent logs: %v", err.Error()) + return false } return !containsAgentLog(agentLogs, t.Name()) }, testutil.WaitShort, testutil.IntervalFast) + require.NoError(t, err) require.NotContains(t, agentLogs, t.Name()) })