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

Function TestHTTPClientRedirectAuthenticationHeaderHandling

api/http_client_test.go:212–244  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

210}
211
212func TestHTTPClientRedirectAuthenticationHeaderHandling(t *testing.T) {
213 var request *http.Request
214 server := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
215 request = r
216 w.WriteHeader(http.StatusNoContent)
217 }))
218 defer server.Close()
219
220 var redirectRequest *http.Request
221 redirectServer := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
222 redirectRequest = r
223 http.Redirect(w, r, server.URL, http.StatusFound)
224 }))
225 defer redirectServer.Close()
226
227 client, err := NewHTTPClient(HTTPClientOptions{
228 Config: tinyConfig{
229 fmt.Sprintf("%s:oauth_token", strings.TrimPrefix(redirectServer.URL, "http://")): "REDIRECT-TOKEN",
230 fmt.Sprintf("%s:oauth_token", strings.TrimPrefix(server.URL, "http://")): "TOKEN",
231 },
232 })
233 require.NoError(t, err)
234
235 req, err := http.NewRequest("GET", redirectServer.URL, nil)
236 require.NoError(t, err)
237
238 res, err := client.Do(req)
239 require.NoError(t, err)
240
241 assert.Equal(t, "token REDIRECT-TOKEN", redirectRequest.Header.Get(authorization))
242 assert.Equal(t, "", request.Header.Get(authorization))
243 assert.Equal(t, 204, res.StatusCode)
244}
245
246func TestHTTPClientSanitizeJSONControlCharactersC0(t *testing.T) {
247 ts := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {

Callers

nothing calls this directly

Calls 5

DoMethod · 0.95
NewHTTPClientFunction · 0.85
EqualMethod · 0.80
CloseMethod · 0.65
GetMethod · 0.65

Tested by

no test coverage detected