(t *testing.T)
| 403 | } |
| 404 | |
| 405 | func TestNewHTTPClientTelemetryDisabler(t *testing.T) { |
| 406 | ts := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { |
| 407 | w.WriteHeader(http.StatusNoContent) |
| 408 | })) |
| 409 | defer ts.Close() |
| 410 | |
| 411 | tests := []struct { |
| 412 | name string |
| 413 | host string |
| 414 | wantDisabled bool |
| 415 | }{ |
| 416 | { |
| 417 | name: "enterprise host triggers disable", |
| 418 | host: "ghes.example.com", |
| 419 | wantDisabled: true, |
| 420 | }, |
| 421 | { |
| 422 | name: "github.com does not trigger disable", |
| 423 | host: "github.com", |
| 424 | wantDisabled: false, |
| 425 | }, |
| 426 | { |
| 427 | name: "tenancy host does not trigger disable", |
| 428 | host: "my-company.ghe.com", |
| 429 | wantDisabled: false, |
| 430 | }, |
| 431 | } |
| 432 | |
| 433 | for _, tt := range tests { |
| 434 | t.Run(tt.name, func(t *testing.T) { |
| 435 | disabler := &fakeTelemetryDisabler{} |
| 436 | client, err := NewHTTPClient(HTTPClientOptions{ |
| 437 | TelemetryDisabler: disabler, |
| 438 | }) |
| 439 | require.NoError(t, err) |
| 440 | |
| 441 | req, err := http.NewRequest("GET", ts.URL, nil) |
| 442 | require.NoError(t, err) |
| 443 | req.Host = tt.host |
| 444 | |
| 445 | res, err := client.Do(req) |
| 446 | require.NoError(t, err) |
| 447 | assert.Equal(t, 204, res.StatusCode) |
| 448 | assert.Equal(t, tt.wantDisabled, disabler.disabled, "Disable() called") |
| 449 | }) |
| 450 | } |
| 451 | } |
| 452 | |
| 453 | func TestNewHTTPClientWithoutTelemetryDisabler(t *testing.T) { |
| 454 | ts := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { |
nothing calls this directly
no test coverage detected