diff --git a/transport_test.go b/transport_test.go index 005b28a..1fb04e2 100644 --- a/transport_test.go +++ b/transport_test.go @@ -344,3 +344,25 @@ func TestRefreshTokenWithTrailingSlashBaseURL(t *testing.T) { t.Fatalf("Unexpected RoundTrip response code: %d", res.StatusCode) } } + +func TestRoundTripperContract(t *testing.T) { + tr := &Transport{ + token: &accessToken{ + ExpiresAt: time.Now().Add(1*time.Hour), + Token: "42", + }, + tr: roundTripperFunc(func(req *http.Request) (*http.Response, error) { + if accept := req.Header.Get("Accept"); accept != "42" { + t.Errorf("got unexpected Accept request header in parent RoundTripper: %q", accept) + } + return nil, nil + }), + } + req := http.NewRequest("GET", "http://localhost", nil) + req.Header.Set("Accept", "xxx") + tr(req) + if accept := req.Header.Get("Accept"); accept != "xxx" { + t.Errorf("got unexpected Accept request header in caller: %q", accept) + } +} +