mirror of
https://github.com/labstack/echo.git
synced 2025-07-13 01:30:31 +02:00
@ -2,61 +2,61 @@ package middleware
|
||||
|
||||
import (
|
||||
"net/http"
|
||||
"net/http/httptest"
|
||||
"testing"
|
||||
|
||||
"github.com/labstack/echo"
|
||||
"github.com/labstack/echo/test"
|
||||
"github.com/stretchr/testify/assert"
|
||||
)
|
||||
|
||||
func TestHTTPSRedirect(t *testing.T) {
|
||||
func TestRedirectHTTPSRedirect(t *testing.T) {
|
||||
e := echo.New()
|
||||
next := func(c echo.Context) (err error) {
|
||||
return c.NoContent(http.StatusOK)
|
||||
}
|
||||
req := test.NewRequest(echo.GET, "http://labstack.com", nil)
|
||||
res := test.NewResponseRecorder()
|
||||
req, _ := http.NewRequest(echo.GET, "http://labstack.com", nil)
|
||||
res := httptest.NewRecorder()
|
||||
c := e.NewContext(req, res)
|
||||
HTTPSRedirect()(next)(c)
|
||||
assert.Equal(t, http.StatusMovedPermanently, res.Status())
|
||||
assert.Equal(t, http.StatusMovedPermanently, res.Code)
|
||||
assert.Equal(t, "https://labstack.com", res.Header().Get(echo.HeaderLocation))
|
||||
}
|
||||
|
||||
func TestHTTPSWWWRedirect(t *testing.T) {
|
||||
func TestRedirectHTTPSWWWRedirect(t *testing.T) {
|
||||
e := echo.New()
|
||||
next := func(c echo.Context) (err error) {
|
||||
return c.NoContent(http.StatusOK)
|
||||
}
|
||||
req := test.NewRequest(echo.GET, "http://labstack.com", nil)
|
||||
res := test.NewResponseRecorder()
|
||||
req, _ := http.NewRequest(echo.GET, "http://labstack.com", nil)
|
||||
res := httptest.NewRecorder()
|
||||
c := e.NewContext(req, res)
|
||||
HTTPSWWWRedirect()(next)(c)
|
||||
assert.Equal(t, http.StatusMovedPermanently, res.Status())
|
||||
assert.Equal(t, http.StatusMovedPermanently, res.Code)
|
||||
assert.Equal(t, "https://www.labstack.com", res.Header().Get(echo.HeaderLocation))
|
||||
}
|
||||
|
||||
func TestWWWRedirect(t *testing.T) {
|
||||
func TestRedirectWWWRedirect(t *testing.T) {
|
||||
e := echo.New()
|
||||
next := func(c echo.Context) (err error) {
|
||||
return c.NoContent(http.StatusOK)
|
||||
}
|
||||
req := test.NewRequest(echo.GET, "http://labstack.com", nil)
|
||||
res := test.NewResponseRecorder()
|
||||
req, _ := http.NewRequest(echo.GET, "http://labstack.com", nil)
|
||||
res := httptest.NewRecorder()
|
||||
c := e.NewContext(req, res)
|
||||
WWWRedirect()(next)(c)
|
||||
assert.Equal(t, http.StatusMovedPermanently, res.Status())
|
||||
assert.Equal(t, http.StatusMovedPermanently, res.Code)
|
||||
assert.Equal(t, "http://www.labstack.com", res.Header().Get(echo.HeaderLocation))
|
||||
}
|
||||
|
||||
func TestNonWWWRedirect(t *testing.T) {
|
||||
func TestRedirectNonWWWRedirect(t *testing.T) {
|
||||
e := echo.New()
|
||||
next := func(c echo.Context) (err error) {
|
||||
return c.NoContent(http.StatusOK)
|
||||
}
|
||||
req := test.NewRequest(echo.GET, "http://www.labstack.com", nil)
|
||||
res := test.NewResponseRecorder()
|
||||
req, _ := http.NewRequest(echo.GET, "http://www.labstack.com", nil)
|
||||
res := httptest.NewRecorder()
|
||||
c := e.NewContext(req, res)
|
||||
NonWWWRedirect()(next)(c)
|
||||
assert.Equal(t, http.StatusMovedPermanently, res.Status())
|
||||
assert.Equal(t, http.StatusMovedPermanently, res.Code)
|
||||
assert.Equal(t, "http://labstack.com", res.Header().Get(echo.HeaderLocation))
|
||||
}
|
||||
|
Reference in New Issue
Block a user