From e88ebef710fb98dbe8060b3739072b7b1acb7a55 Mon Sep 17 00:00:00 2001 From: Marcin Tojek Date: Fri, 19 Jul 2024 14:47:57 +0200 Subject: [PATCH 1/2] fix: test: does not listen on Prometheus port --- enterprise/cli/provisionerdaemons_test.go | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/enterprise/cli/provisionerdaemons_test.go b/enterprise/cli/provisionerdaemons_test.go index 67054938d9068..36fab2dade7c0 100644 --- a/enterprise/cli/provisionerdaemons_test.go +++ b/enterprise/cli/provisionerdaemons_test.go @@ -169,7 +169,7 @@ func TestProvisionerDaemon_SessionToken(t *testing.T) { t.Run("PrometheusEnabled", func(t *testing.T) { t.Parallel() - prometheusPort := testutil.RandomPort(t) + prometheusPort := testutil.RandomPortNoListen(t) // Configure CLI client client, admin := coderdenttest.New(t, &coderdenttest.Options{ @@ -203,14 +203,23 @@ func TestProvisionerDaemon_SessionToken(t *testing.T) { require.Equal(t, "daemon-with-prometheus", daemons[0].Name) // Fetch metrics from Prometheus endpoint + var req *http.Request var res *http.Response require.Eventually(t, func() bool { - req, err := http.NewRequestWithContext(ctx, "GET", fmt.Sprintf("http://127.0.0.1:%d", prometheusPort), nil) - assert.NoError(t, err) + req, err = http.NewRequestWithContext(ctx, "GET", fmt.Sprintf("http://127.0.0.1:%d", prometheusPort), nil) + if err != nil { + t.Logf("unable to create new HTTP request: %s", err.Error()) + return false + } + // nolint:bodyclose res, err = http.DefaultClient.Do(req) - return err == nil - }, testutil.WaitShort, testutil.IntervalFast) + if err != nil { + t.Logf("unable to call Prometheus endpoint: %s", err.Error()) + return false + } + return true + }, testutil.WaitShort, testutil.IntervalMedium) defer res.Body.Close() // Scan for metric patterns From 290bb1bdd5e5618014d44d68a7da951bd9fdc064 Mon Sep 17 00:00:00 2001 From: Marcin Tojek Date: Fri, 19 Jul 2024 15:02:27 +0200 Subject: [PATCH 2/2] fix --- enterprise/cli/provisionerdaemons_test.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/enterprise/cli/provisionerdaemons_test.go b/enterprise/cli/provisionerdaemons_test.go index 36fab2dade7c0..cc96f6e62b4cd 100644 --- a/enterprise/cli/provisionerdaemons_test.go +++ b/enterprise/cli/provisionerdaemons_test.go @@ -199,7 +199,7 @@ func TestProvisionerDaemon_SessionToken(t *testing.T) { return false } return len(daemons) == 1 - }, testutil.WaitShort, testutil.IntervalSlow) + }, testutil.WaitLong, testutil.IntervalSlow) require.Equal(t, "daemon-with-prometheus", daemons[0].Name) // Fetch metrics from Prometheus endpoint