(t *testing.T)
| 316 | } |
| 317 | |
| 318 | func TestNewHTTPClientTelemetryDisabler(t *testing.T) { |
| 319 | ts := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { |
| 320 | w.WriteHeader(http.StatusNoContent) |
| 321 | })) |
| 322 | defer ts.Close() |
| 323 | |
| 324 | tests := []struct { |
| 325 | name string |
| 326 | host string |
| 327 | wantDisabled bool |
| 328 | }{ |
| 329 | { |
| 330 | name: "enterprise host triggers disable", |
| 331 | host: "ghes.example.com", |
| 332 | wantDisabled: true, |
| 333 | }, |
| 334 | { |
| 335 | name: "github.com does not trigger disable", |
| 336 | host: "github.com", |
| 337 | wantDisabled: false, |
| 338 | }, |
| 339 | { |
| 340 | name: "tenancy host does not trigger disable", |
| 341 | host: "my-company.ghe.com", |
| 342 | wantDisabled: false, |
| 343 | }, |
| 344 | } |
| 345 | |
| 346 | for _, tt := range tests { |
| 347 | t.Run(tt.name, func(t *testing.T) { |
| 348 | disabler := &fakeTelemetryDisabler{} |
| 349 | client, err := NewHTTPClient(HTTPClientOptions{ |
| 350 | TelemetryDisabler: disabler, |
| 351 | }) |
| 352 | require.NoError(t, err) |
| 353 | |
| 354 | req, err := http.NewRequest("GET", ts.URL, nil) |
| 355 | require.NoError(t, err) |
| 356 | req.Host = tt.host |
| 357 | |
| 358 | res, err := client.Do(req) |
| 359 | require.NoError(t, err) |
| 360 | assert.Equal(t, 204, res.StatusCode) |
| 361 | assert.Equal(t, tt.wantDisabled, disabler.disabled, "Disable() called") |
| 362 | }) |
| 363 | } |
| 364 | } |
| 365 | |
| 366 | func TestNewHTTPClientWithoutTelemetryDisabler(t *testing.T) { |
| 367 | ts := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { |
nothing calls this directly
no test coverage detected