mirror of
https://github.com/labstack/echo.git
synced 2025-06-04 23:37:45 +02:00
Using httptest
Signed-off-by: Vishal Rana <vr@labstack.com>
This commit is contained in:
parent
8f5fb6395a
commit
cb9255e775
@ -36,7 +36,7 @@ func TestBodyLimit(t *testing.T) {
|
|||||||
assert.Equal(t, http.StatusRequestEntityTooLarge, he.Code)
|
assert.Equal(t, http.StatusRequestEntityTooLarge, he.Code)
|
||||||
|
|
||||||
// Based on content read (within limit)
|
// Based on content read (within limit)
|
||||||
req, _ = http.NewRequest(echo.POST, "/", bytes.NewReader(hw))
|
req = httptest.NewRequest(echo.POST, "/", bytes.NewReader(hw))
|
||||||
rec = httptest.NewRecorder()
|
rec = httptest.NewRecorder()
|
||||||
c = e.NewContext(req, rec)
|
c = e.NewContext(req, rec)
|
||||||
if assert.NoError(t, BodyLimit("2M")(h)(c)) {
|
if assert.NoError(t, BodyLimit("2M")(h)(c)) {
|
||||||
@ -45,7 +45,7 @@ func TestBodyLimit(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Based on content read (overlimit)
|
// Based on content read (overlimit)
|
||||||
req, _ = http.NewRequest(echo.POST, "/", bytes.NewReader(hw))
|
req = httptest.NewRequest(echo.POST, "/", bytes.NewReader(hw))
|
||||||
rec = httptest.NewRecorder()
|
rec = httptest.NewRecorder()
|
||||||
c = e.NewContext(req, rec)
|
c = e.NewContext(req, rec)
|
||||||
he = BodyLimit("2B")(h)(c).(*echo.HTTPError)
|
he = BodyLimit("2B")(h)(c).(*echo.HTTPError)
|
||||||
|
@ -27,7 +27,7 @@ func TestGzip(t *testing.T) {
|
|||||||
assert.Equal(t, "test", rec.Body.String())
|
assert.Equal(t, "test", rec.Body.String())
|
||||||
|
|
||||||
// Gzip
|
// Gzip
|
||||||
req, _ = http.NewRequest(echo.GET, "/", nil)
|
req = httptest.NewRequest(echo.GET, "/", nil)
|
||||||
req.Header.Set(echo.HeaderAcceptEncoding, gzipScheme)
|
req.Header.Set(echo.HeaderAcceptEncoding, gzipScheme)
|
||||||
rec = httptest.NewRecorder()
|
rec = httptest.NewRecorder()
|
||||||
c = e.NewContext(req, rec)
|
c = e.NewContext(req, rec)
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
package middleware
|
package middleware
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"net/http"
|
|
||||||
"net/http/httptest"
|
"net/http/httptest"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
@ -21,7 +20,7 @@ func TestCORS(t *testing.T) {
|
|||||||
assert.Equal(t, "*", rec.Header().Get(echo.HeaderAccessControlAllowOrigin))
|
assert.Equal(t, "*", rec.Header().Get(echo.HeaderAccessControlAllowOrigin))
|
||||||
|
|
||||||
// Allow origins
|
// Allow origins
|
||||||
req, _ = http.NewRequest(echo.GET, "/", nil)
|
req = httptest.NewRequest(echo.GET, "/", nil)
|
||||||
rec = httptest.NewRecorder()
|
rec = httptest.NewRecorder()
|
||||||
c = e.NewContext(req, rec)
|
c = e.NewContext(req, rec)
|
||||||
h = CORSWithConfig(CORSConfig{
|
h = CORSWithConfig(CORSConfig{
|
||||||
@ -32,7 +31,7 @@ func TestCORS(t *testing.T) {
|
|||||||
assert.Equal(t, "localhost", rec.Header().Get(echo.HeaderAccessControlAllowOrigin))
|
assert.Equal(t, "localhost", rec.Header().Get(echo.HeaderAccessControlAllowOrigin))
|
||||||
|
|
||||||
// Preflight request
|
// Preflight request
|
||||||
req, _ = http.NewRequest(echo.OPTIONS, "/", nil)
|
req = httptest.NewRequest(echo.OPTIONS, "/", nil)
|
||||||
rec = httptest.NewRecorder()
|
rec = httptest.NewRecorder()
|
||||||
c = e.NewContext(req, rec)
|
c = e.NewContext(req, rec)
|
||||||
req.Header.Set(echo.HeaderOrigin, "localhost")
|
req.Header.Set(echo.HeaderOrigin, "localhost")
|
||||||
|
@ -29,13 +29,13 @@ func TestCSRF(t *testing.T) {
|
|||||||
assert.Contains(t, rec.Header().Get(echo.HeaderSetCookie), "_csrf")
|
assert.Contains(t, rec.Header().Get(echo.HeaderSetCookie), "_csrf")
|
||||||
|
|
||||||
// Without CSRF cookie
|
// Without CSRF cookie
|
||||||
req, _ = http.NewRequest(echo.POST, "/", nil)
|
req = httptest.NewRequest(echo.POST, "/", nil)
|
||||||
rec = httptest.NewRecorder()
|
rec = httptest.NewRecorder()
|
||||||
c = e.NewContext(req, rec)
|
c = e.NewContext(req, rec)
|
||||||
assert.Error(t, h(c))
|
assert.Error(t, h(c))
|
||||||
|
|
||||||
// Empty/invalid CSRF token
|
// Empty/invalid CSRF token
|
||||||
req, _ = http.NewRequest(echo.POST, "/", nil)
|
req = httptest.NewRequest(echo.POST, "/", nil)
|
||||||
rec = httptest.NewRecorder()
|
rec = httptest.NewRecorder()
|
||||||
c = e.NewContext(req, rec)
|
c = e.NewContext(req, rec)
|
||||||
req.Header.Set(echo.HeaderXCSRFToken, "")
|
req.Header.Set(echo.HeaderXCSRFToken, "")
|
||||||
|
@ -43,7 +43,7 @@ func TestLogger(t *testing.T) {
|
|||||||
h(c)
|
h(c)
|
||||||
|
|
||||||
// Status 5xx with empty path
|
// Status 5xx with empty path
|
||||||
req, _ = http.NewRequest(echo.GET, "/", nil)
|
req = httptest.NewRequest(echo.GET, "/", nil)
|
||||||
rec = httptest.NewRecorder()
|
rec = httptest.NewRecorder()
|
||||||
c = e.NewContext(req, rec)
|
c = e.NewContext(req, rec)
|
||||||
h = Logger()(func(c echo.Context) error {
|
h = Logger()(func(c echo.Context) error {
|
||||||
|
@ -27,7 +27,7 @@ func TestMethodOverride(t *testing.T) {
|
|||||||
|
|
||||||
// Override with form parameter
|
// Override with form parameter
|
||||||
m = MethodOverrideWithConfig(MethodOverrideConfig{Getter: MethodFromForm("_method")})
|
m = MethodOverrideWithConfig(MethodOverrideConfig{Getter: MethodFromForm("_method")})
|
||||||
req, _ = http.NewRequest(echo.POST, "/", bytes.NewReader([]byte("_method="+echo.DELETE)))
|
req = httptest.NewRequest(echo.POST, "/", bytes.NewReader([]byte("_method="+echo.DELETE)))
|
||||||
rec = httptest.NewRecorder()
|
rec = httptest.NewRecorder()
|
||||||
req.Header.Set(echo.HeaderContentType, echo.MIMEApplicationForm)
|
req.Header.Set(echo.HeaderContentType, echo.MIMEApplicationForm)
|
||||||
c = e.NewContext(req, rec)
|
c = e.NewContext(req, rec)
|
||||||
@ -36,14 +36,14 @@ func TestMethodOverride(t *testing.T) {
|
|||||||
|
|
||||||
// Override with query parameter
|
// Override with query parameter
|
||||||
m = MethodOverrideWithConfig(MethodOverrideConfig{Getter: MethodFromQuery("_method")})
|
m = MethodOverrideWithConfig(MethodOverrideConfig{Getter: MethodFromQuery("_method")})
|
||||||
req, _ = http.NewRequest(echo.POST, "/?_method="+echo.DELETE, nil)
|
req = httptest.NewRequest(echo.POST, "/?_method="+echo.DELETE, nil)
|
||||||
rec = httptest.NewRecorder()
|
rec = httptest.NewRecorder()
|
||||||
c = e.NewContext(req, rec)
|
c = e.NewContext(req, rec)
|
||||||
m(h)(c)
|
m(h)(c)
|
||||||
assert.Equal(t, echo.DELETE, req.Method)
|
assert.Equal(t, echo.DELETE, req.Method)
|
||||||
|
|
||||||
// Ignore `GET`
|
// Ignore `GET`
|
||||||
req, _ = http.NewRequest(echo.GET, "/", nil)
|
req = httptest.NewRequest(echo.GET, "/", nil)
|
||||||
req.Header.Set(echo.HeaderXHTTPMethodOverride, echo.DELETE)
|
req.Header.Set(echo.HeaderXHTTPMethodOverride, echo.DELETE)
|
||||||
assert.Equal(t, echo.GET, req.Method)
|
assert.Equal(t, echo.GET, req.Method)
|
||||||
}
|
}
|
||||||
|
@ -11,7 +11,7 @@ import (
|
|||||||
|
|
||||||
func TestRequestID(t *testing.T) {
|
func TestRequestID(t *testing.T) {
|
||||||
e := echo.New()
|
e := echo.New()
|
||||||
req, _ := http.NewRequest(echo.GET, "/", nil)
|
req := httptest.NewRequest(echo.GET, "/", nil)
|
||||||
rec := httptest.NewRecorder()
|
rec := httptest.NewRecorder()
|
||||||
c := e.NewContext(req, rec)
|
c := e.NewContext(req, rec)
|
||||||
handler := func(c echo.Context) error {
|
handler := func(c echo.Context) error {
|
||||||
|
@ -22,7 +22,7 @@ func TestAddTrailingSlash(t *testing.T) {
|
|||||||
assert.Equal(t, "/add-slash/", req.RequestURI)
|
assert.Equal(t, "/add-slash/", req.RequestURI)
|
||||||
|
|
||||||
// With config
|
// With config
|
||||||
req, _ = http.NewRequest(echo.GET, "/add-slash?key=value", nil)
|
req = httptest.NewRequest(echo.GET, "/add-slash?key=value", nil)
|
||||||
rec = httptest.NewRecorder()
|
rec = httptest.NewRecorder()
|
||||||
c = e.NewContext(req, rec)
|
c = e.NewContext(req, rec)
|
||||||
h = AddTrailingSlashWithConfig(TrailingSlashConfig{
|
h = AddTrailingSlashWithConfig(TrailingSlashConfig{
|
||||||
@ -48,7 +48,7 @@ func TestRemoveTrailingSlash(t *testing.T) {
|
|||||||
assert.Equal(t, "/remove-slash", req.RequestURI)
|
assert.Equal(t, "/remove-slash", req.RequestURI)
|
||||||
|
|
||||||
// With config
|
// With config
|
||||||
req, _ = http.NewRequest(echo.GET, "/remove-slash/?key=value", nil)
|
req = httptest.NewRequest(echo.GET, "/remove-slash/?key=value", nil)
|
||||||
rec = httptest.NewRecorder()
|
rec = httptest.NewRecorder()
|
||||||
c = e.NewContext(req, rec)
|
c = e.NewContext(req, rec)
|
||||||
h = RemoveTrailingSlashWithConfig(TrailingSlashConfig{
|
h = RemoveTrailingSlashWithConfig(TrailingSlashConfig{
|
||||||
@ -61,7 +61,7 @@ func TestRemoveTrailingSlash(t *testing.T) {
|
|||||||
assert.Equal(t, "/remove-slash?key=value", rec.Header().Get(echo.HeaderLocation))
|
assert.Equal(t, "/remove-slash?key=value", rec.Header().Get(echo.HeaderLocation))
|
||||||
|
|
||||||
// With bare URL
|
// With bare URL
|
||||||
req, _ = http.NewRequest(echo.GET, "http://localhost", nil)
|
req = httptest.NewRequest(echo.GET, "http://localhost", nil)
|
||||||
rec = httptest.NewRecorder()
|
rec = httptest.NewRecorder()
|
||||||
c = e.NewContext(req, rec)
|
c = e.NewContext(req, rec)
|
||||||
h = RemoveTrailingSlash()(func(c echo.Context) error {
|
h = RemoveTrailingSlash()(func(c echo.Context) error {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user