(t *testing.T)
| 225 | } |
| 226 | |
| 227 | func TestHTTPHeaders(t *testing.T) { |
| 228 | var gotReq *http.Request |
| 229 | ts := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { |
| 230 | gotReq = r |
| 231 | w.WriteHeader(http.StatusNoContent) |
| 232 | })) |
| 233 | defer ts.Close() |
| 234 | |
| 235 | ios, _, _, stderr := iostreams.Test() |
| 236 | httpClient, err := NewHTTPClient(HTTPClientOptions{ |
| 237 | AppVersion: "v1.2.3", |
| 238 | Config: tinyConfig{ts.URL[7:] + ":oauth_token": "MYTOKEN"}, |
| 239 | Log: ios.ErrOut, |
| 240 | }) |
| 241 | assert.NoError(t, err) |
| 242 | client := NewClientFromHTTP(httpClient) |
| 243 | |
| 244 | err = client.REST(ts.URL, "GET", ts.URL+"/user/repos", nil, nil) |
| 245 | assert.NoError(t, err) |
| 246 | |
| 247 | wantHeader := map[string]string{ |
| 248 | "Accept": "application/vnd.github.merge-info-preview+json, application/vnd.github.nebula-preview", |
| 249 | "Authorization": "token MYTOKEN", |
| 250 | "Content-Type": "application/json; charset=utf-8", |
| 251 | "User-Agent": "GitHub CLI v1.2.3", |
| 252 | "X-GitHub-Api-Version": "2022-11-28", |
| 253 | } |
| 254 | for name, value := range wantHeader { |
| 255 | assert.Equal(t, value, gotReq.Header.Get(name), name) |
| 256 | } |
| 257 | assert.Equal(t, "", stderr.String()) |
| 258 | } |
nothing calls this directly
no test coverage detected