(t *testing.T)
| 210 | } |
| 211 | |
| 212 | func 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 | |
| 246 | func TestHTTPClientSanitizeJSONControlCharactersC0(t *testing.T) { |
| 247 | ts := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { |
nothing calls this directly
no test coverage detected