From a76b7fb221facf8e0114c391efe8d554a448f23a Mon Sep 17 00:00:00 2001 From: Danny Kopping Date: Fri, 30 Aug 2024 16:05:06 +0200 Subject: [PATCH 1/2] WIP Signed-off-by: Danny Kopping --- coderd/notifications/dispatch/webhook_test.go | 28 +++++++++++++------ 1 file changed, 19 insertions(+), 9 deletions(-) diff --git a/coderd/notifications/dispatch/webhook_test.go b/coderd/notifications/dispatch/webhook_test.go index 546fbc2e88057..aad90f2afe988 100644 --- a/coderd/notifications/dispatch/webhook_test.go +++ b/coderd/notifications/dispatch/webhook_test.go @@ -1,6 +1,7 @@ package dispatch_test import ( + "context" "encoding/json" "fmt" "net/http" @@ -41,10 +42,10 @@ func TestWebhook(t *testing.T) { } tests := []struct { - name string - serverURL string - serverTimeout time.Duration - serverFn func(uuid.UUID, http.ResponseWriter, *http.Request) + name string + serverURL string + serverDeadline time.Time + serverFn func(uuid.UUID, http.ResponseWriter, *http.Request) expectSuccess bool expectRetryable bool @@ -76,9 +77,12 @@ func TestWebhook(t *testing.T) { }, { name: "timeout", - serverTimeout: time.Nanosecond, + serverDeadline: time.Now().Add(-time.Hour), expectSuccess: false, expectRetryable: true, + serverFn: func(u uuid.UUID, writer http.ResponseWriter, request *http.Request) { + t.Fatalf("should not get here") + }, expectErr: "request timeout", }, { @@ -99,14 +103,20 @@ func TestWebhook(t *testing.T) { t.Run(tc.name, func(t *testing.T) { t.Parallel() - timeout := testutil.WaitLong - if tc.serverTimeout > 0 { - timeout = tc.serverTimeout + var ( + ctx context.Context + cancel context.CancelFunc + ) + + if !tc.serverDeadline.IsZero() { + ctx, cancel = context.WithDeadline(context.Background(), tc.serverDeadline) + } else { + ctx, cancel = context.WithTimeout(context.Background(), testutil.WaitLong) } + t.Cleanup(cancel) var ( err error - ctx = testutil.Context(t, timeout) msgID = uuid.New() ) From 2571b86d16e8d4ff0357602775a5e99a91ea3275 Mon Sep 17 00:00:00 2001 From: Danny Kopping Date: Fri, 30 Aug 2024 16:24:04 +0200 Subject: [PATCH 2/2] make fmt Signed-off-by: Danny Kopping --- coderd/notifications/dispatch/webhook_test.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/coderd/notifications/dispatch/webhook_test.go b/coderd/notifications/dispatch/webhook_test.go index aad90f2afe988..3bfcfd8a2e621 100644 --- a/coderd/notifications/dispatch/webhook_test.go +++ b/coderd/notifications/dispatch/webhook_test.go @@ -83,7 +83,7 @@ func TestWebhook(t *testing.T) { serverFn: func(u uuid.UUID, writer http.ResponseWriter, request *http.Request) { t.Fatalf("should not get here") }, - expectErr: "request timeout", + expectErr: "request timeout", }, { name: "non-200 response",