MCPcopy Index your code
hub / github.com/cli/cli / Test_getViewer_leavesUserAgent

Function Test_getViewer_leavesUserAgent

internal/authflow/flow_test.go:13–36  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

11)
12
13func Test_getViewer_leavesUserAgent(t *testing.T) {
14 var receivedUA string
15 var receivedAuth string
16
17 plainClient := &http.Client{
18 Transport: &roundTripper{roundTrip: func(req *http.Request) (*http.Response, error) {
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
28 }},
29 }
30
31 login, err := getViewer(plainClient, "github.com", "test-token")
32 require.NoError(t, err)
33 assert.Equal(t, "monalisa", login)
34 assert.Empty(t, receivedUA, "User-Agent header should be left unset so that downstream transports can set it")
35 assert.Equal(t, "token test-token", receivedAuth)
36}
37
38type roundTripper struct {
39 roundTrip func(*http.Request) (*http.Response, error)

Callers

nothing calls this directly

Calls 3

getViewerFunction · 0.85
EqualMethod · 0.80
GetMethod · 0.65

Tested by

no test coverage detected