@@ -106,3 +106,32 @@ func TestGCPHealthcheckNotIngressPut(t *testing.T) {
106106
107107 assert.Equal(t, "test", rw.Body.String())
108108}
109+
110+func TestRedirectToHTTPSTrue(t *testing.T) {
111+ opts := NewOptions()
112+ opts.ForceHTTPS = true
113+ handler := func(w http.ResponseWriter, req *http.Request) {
114+ w.Write([]byte("test"))
115+ }
116+
117+ h := redirectToHTTPS(opts, http.HandlerFunc(handler))
118+ rw := httptest.NewRecorder()
119+ r, _ := http.NewRequest("GET", "/", nil)
120+ h.ServeHTTP(rw, r)
121+
122+ assert.Equal(t, http.StatusPermanentRedirect, rw.Code, "status code should be %d, got: %d", http.StatusPermanentRedirect, rw.Code)
123+}
124+
125+func TestRedirectToHTTPSFalse(t *testing.T) {
126+ opts := NewOptions()
127+ handler := func(w http.ResponseWriter, req *http.Request) {
128+ w.Write([]byte("test"))
129+ }
130+
131+ h := redirectToHTTPS(opts, http.HandlerFunc(handler))
132+ rw := httptest.NewRecorder()
133+ r, _ := http.NewRequest("GET", "/", nil)
134+ h.ServeHTTP(rw, r)
135+
136+ assert.Equal(t, http.StatusOK, rw.Code, "status code should be %d, got: %d", http.StatusOK, rw.Code)
137+}