Skip to content

Commit 2bf528c

Browse files
committed
test(internal/authflow): assert user-agent header is not modified/added
Signed-off-by: Babak K. Shandiz <babakks@github.com>
1 parent 4e8aa56 commit 2bf528c

File tree

1 file changed

+11
-17
lines changed

1 file changed

+11
-17
lines changed

internal/authflow/flow_test.go

Lines changed: 11 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -10,34 +10,28 @@ import (
1010
"github.com/stretchr/testify/require"
1111
)
1212

13-
func Test_getViewer_preservesUserAgent(t *testing.T) {
13+
func Test_getViewer_leavesUserAgent(t *testing.T) {
1414
var receivedUA string
1515
var receivedAuth string
1616

17-
// Outer transport sets User-Agent, simulating the factory-built client's header middleware.
18-
// Inner transport captures headers as-received to verify they survived the wrapping.
1917
plainClient := &http.Client{
2018
Transport: &roundTripper{roundTrip: func(req *http.Request) (*http.Response, error) {
21-
req.Header.Set("User-Agent", "GitHub CLI 1.2.3 Agent/copilot-cli")
22-
return (&http.Client{
23-
Transport: &roundTripper{roundTrip: func(req *http.Request) (*http.Response, error) {
24-
receivedUA = req.Header.Get("User-Agent")
25-
receivedAuth = req.Header.Get("Authorization")
26-
return &http.Response{
27-
StatusCode: 200,
28-
Header: http.Header{"Content-Type": []string{"application/json"}},
29-
Body: io.NopCloser(bytes.NewBufferString(`{"data":{"viewer":{"login":"monalisa"}}}`)),
30-
Request: req,
31-
}, nil
32-
}},
33-
}).Transport.RoundTrip(req)
19+
receivedUA = req.Header.Get("User-Agent")
20+
receivedAuth = req.Header.Get("Authorization")
21+
22+
return &http.Response{
23+
StatusCode: 200,
24+
Header: http.Header{"Content-Type": []string{"application/json"}},
25+
Body: io.NopCloser(bytes.NewBufferString(`{"data":{"viewer":{"login":"monalisa"}}}`)),
26+
Request: req,
27+
}, nil
3428
}},
3529
}
3630

3731
login, err := getViewer(plainClient, "github.com", "test-token")
3832
require.NoError(t, err)
3933
assert.Equal(t, "monalisa", login)
40-
assert.Equal(t, "GitHub CLI 1.2.3 Agent/copilot-cli", receivedUA)
34+
assert.Empty(t, receivedUA, "User-Agent header should be left unset so that downstream transports can set it")
4135
assert.Equal(t, "token test-token", receivedAuth)
4236
}
4337

0 commit comments

Comments
 (0)