From ac5d2cec44d9dbd6aded5664bb37d3b5eee69877 Mon Sep 17 00:00:00 2001 From: Wojciech Tyczynski Date: Mon, 9 May 2016 09:31:49 +0200 Subject: [PATCH] Test if headers are set --- pkg/client/restclient/request_test.go | 33 ++++++++++++++++++++++----- 1 file changed, 27 insertions(+), 6 deletions(-) diff --git a/pkg/client/restclient/request_test.go b/pkg/client/restclient/request_test.go index b7cb6a2ac01..236d9eef8ba 100644 --- a/pkg/client/restclient/request_test.go +++ b/pkg/client/restclient/request_test.go @@ -58,6 +58,33 @@ func TestNewRequestSetsAccept(t *testing.T) { } } +type clientFunc func(req *http.Request) (*http.Response, error) + +func (f clientFunc) Do(req *http.Request) (*http.Response, error) { + return f(req) +} + +func TestRequestSetsHeaders(t *testing.T) { + server := clientFunc(func(req *http.Request) (*http.Response, error) { + if req.Header.Get("Accept") != "application/other, */*" { + t.Errorf("unexpected headers: %#v", req.Header) + } + return &http.Response{ + StatusCode: http.StatusForbidden, + Body: ioutil.NopCloser(bytes.NewReader([]byte{})), + }, nil + }) + config := defaultContentConfig() + config.ContentType = "application/other" + serializers := defaultSerializers() + r := NewRequest(server, "get", &url.URL{Path: "/path"}, "", config, serializers, nil, nil) + + // Check if all "issue" methods are setting headers. + _ = r.Do() + _, _ = r.Watch() + _, _ = r.Stream() +} + func TestRequestWithErrorWontChange(t *testing.T) { original := Request{ err: errors.New("test"), @@ -463,12 +490,6 @@ func TestTransformUnstructuredError(t *testing.T) { } } -type clientFunc func(req *http.Request) (*http.Response, error) - -func (f clientFunc) Do(req *http.Request) (*http.Response, error) { - return f(req) -} - func TestRequestWatch(t *testing.T) { testCases := []struct { Request *Request