diff options
author | Jaime Martinez <jmartinez@gitlab.com> | 2020-02-19 04:27:47 +0300 |
---|---|---|
committer | Jaime Martinez <jmartinez@gitlab.com> | 2020-02-19 04:27:47 +0300 |
commit | 6dcd9b539eb211034c00a46818cdc32820a95d9a (patch) | |
tree | 13bb065106424e95b25479ea759a2426fdde56f7 /internal/request | |
parent | 52ec229a3cf3f5df82e31f00119259669113317c (diff) |
Remove request.WithHTTPSFlag and set directly in tests
Diffstat (limited to 'internal/request')
-rw-r--r-- | internal/request/request.go | 14 | ||||
-rw-r--r-- | internal/request/request_test.go | 60 |
2 files changed, 12 insertions, 62 deletions
diff --git a/internal/request/request.go b/internal/request/request.go index 4e5c553d..cbda16e5 100644 --- a/internal/request/request.go +++ b/internal/request/request.go @@ -20,20 +20,6 @@ const ( SchemeHTTPS = "https" ) -// WithHTTPSFlag saves https flag in request's context -func WithHTTPSFlag(r *http.Request, https bool) *http.Request { - // scheme should already be set but leaving this for testing scenarios that set this value explicitly - if r.URL.Scheme == "" { - if https { - r.URL.Scheme = SchemeHTTPS - } else { - r.URL.Scheme = SchemeHTTP - } - } - - return r -} - // IsHTTPS checks whether the request originated from HTTP or HTTPS. // It checks the value from r.URL.Scheme func IsHTTPS(r *http.Request) bool { diff --git a/internal/request/request_test.go b/internal/request/request_test.go index 86601554..a9ffb223 100644 --- a/internal/request/request_test.go +++ b/internal/request/request_test.go @@ -5,61 +5,25 @@ import ( "net/http/httptest" "testing" - "github.com/sirupsen/logrus/hooks/test" "github.com/stretchr/testify/require" "gitlab.com/gitlab-org/gitlab-pages/internal/domain" ) -func TestWithHTTPSFlag(t *testing.T) { - r, err := http.NewRequest("GET", "/", nil) - require.NoError(t, err) - - httpsRequest := WithHTTPSFlag(r, true) - httpsRequest.URL.Scheme = SchemeHTTPS - require.True(t, IsHTTPS(httpsRequest)) - - httpRequest := WithHTTPSFlag(r, false) - httpsRequest.URL.Scheme = SchemeHTTP - require.False(t, IsHTTPS(httpRequest)) - -} - func TestIsHTTPS(t *testing.T) { - hook := test.NewGlobal() - - tests := []struct { - name string - flag bool - scheme string - }{ - { - name: "https", - flag: true, - scheme: "https", - }, - { - name: "http", - flag: false, - scheme: "http", - }, - } - - for _, tt := range tests { - t.Run(tt.name, func(t *testing.T) { - hook.Reset() - - r, err := http.NewRequest("GET", "/", nil) - require.NoError(t, err) - r.URL.Scheme = tt.scheme - - httpsRequest := WithHTTPSFlag(r, tt.flag) - - got := IsHTTPS(httpsRequest) - require.Equal(t, tt.flag, got) - }) - } + t.Run("when scheme is http", func(t *testing.T) { + httpRequest, err := http.NewRequest("GET", "/", nil) + require.NoError(t, err) + httpRequest.URL.Scheme = SchemeHTTP + require.False(t, IsHTTPS(httpRequest)) + }) + t.Run("when scheme is https", func(t *testing.T) { + httpsRequest, err := http.NewRequest("GET", "/", nil) + require.NoError(t, err) + httpsRequest.URL.Scheme = SchemeHTTPS + require.True(t, IsHTTPS(httpsRequest)) + }) } func TestPanics(t *testing.T) { |