From b9e04ef83d40edefed972da7c0ac69fda5a5ad3f Mon Sep 17 00:00:00 2001 From: "Babak K. Shandiz" Date: Mon, 13 Oct 2025 16:33:03 +0100 Subject: [PATCH] test(api): improve `NewHTTPClient` test assertions The assertions should check for header values instead of single string, because when getting a single header value, we get an empty string if the header is not set or is set to an empty string. So, to make sure a header is not set we should check the `Values` slice which is `nil` only if the header is missing. Signed-off-by: Babak K. Shandiz --- api/http_client_test.go | 44 ++++++++++++++++++++--------------------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/api/http_client_test.go b/api/http_client_test.go index ce20a2684..216024699 100644 --- a/api/http_client_test.go +++ b/api/http_client_test.go @@ -26,7 +26,7 @@ func TestNewHTTPClient(t *testing.T) { name string args args host string - wantHeader map[string]string + wantHeader map[string][]string wantStderr string }{ { @@ -37,10 +37,10 @@ func TestNewHTTPClient(t *testing.T) { logVerboseHTTP: false, }, host: "github.com", - wantHeader: map[string]string{ - "authorization": "token MYTOKEN", - "user-agent": "GitHub CLI v1.2.3", - "accept": "application/vnd.github.merge-info-preview+json, application/vnd.github.nebula-preview", + wantHeader: map[string][]string{ + "authorization": {"token MYTOKEN"}, + "user-agent": {"GitHub CLI v1.2.3"}, + "accept": {"application/vnd.github.merge-info-preview+json, application/vnd.github.nebula-preview"}, }, wantStderr: "", }, @@ -51,10 +51,10 @@ func TestNewHTTPClient(t *testing.T) { appVersion: "v1.2.3", }, host: "example.com", - wantHeader: map[string]string{ - "authorization": "token GHETOKEN", - "user-agent": "GitHub CLI v1.2.3", - "accept": "application/vnd.github.merge-info-preview+json, application/vnd.github.nebula-preview", + wantHeader: map[string][]string{ + "authorization": {"token GHETOKEN"}, + "user-agent": {"GitHub CLI v1.2.3"}, + "accept": {"application/vnd.github.merge-info-preview+json, application/vnd.github.nebula-preview"}, }, wantStderr: "", }, @@ -66,10 +66,10 @@ func TestNewHTTPClient(t *testing.T) { logVerboseHTTP: false, }, host: "github.com", - wantHeader: map[string]string{ - "authorization": "", - "user-agent": "GitHub CLI v1.2.3", - "accept": "application/vnd.github.merge-info-preview+json, application/vnd.github.nebula-preview", + wantHeader: map[string][]string{ + "authorization": nil, // should not be set + "user-agent": {"GitHub CLI v1.2.3"}, + "accept": {"application/vnd.github.merge-info-preview+json, application/vnd.github.nebula-preview"}, }, wantStderr: "", }, @@ -81,10 +81,10 @@ func TestNewHTTPClient(t *testing.T) { logVerboseHTTP: false, }, host: "example.com", - wantHeader: map[string]string{ - "authorization": "", - "user-agent": "GitHub CLI v1.2.3", - "accept": "application/vnd.github.merge-info-preview+json, application/vnd.github.nebula-preview", + wantHeader: map[string][]string{ + "authorization": nil, // should not be set + "user-agent": {"GitHub CLI v1.2.3"}, + "accept": {"application/vnd.github.merge-info-preview+json, application/vnd.github.nebula-preview"}, }, wantStderr: "", }, @@ -96,10 +96,10 @@ func TestNewHTTPClient(t *testing.T) { logVerboseHTTP: true, }, host: "github.com", - wantHeader: map[string]string{ - "authorization": "token MYTOKEN", - "user-agent": "GitHub CLI v1.2.3", - "accept": "application/vnd.github.merge-info-preview+json, application/vnd.github.nebula-preview", + wantHeader: map[string][]string{ + "authorization": {"token MYTOKEN"}, + "user-agent": {"GitHub CLI v1.2.3"}, + "accept": {"application/vnd.github.merge-info-preview+json, application/vnd.github.nebula-preview"}, }, wantStderr: heredoc.Doc(` * Request at