1
0
mirror of https://github.com/labstack/echo.git synced 2024-12-26 20:54:00 +02:00

Add tests for group routing with middleware and match any routes

This commit is contained in:
Roland Lammel 2019-10-04 01:15:54 +02:00
parent 16ed3a8049
commit 2bc8d10b21

View File

@ -65,3 +65,41 @@ func TestGroupRouteMiddleware(t *testing.T) {
c, _ = request(http.MethodGet, "/group/405", e) c, _ = request(http.MethodGet, "/group/405", e)
assert.Equal(t, 405, c) assert.Equal(t, 405, c)
} }
func TestGroupRouteMiddlewareWithMatchAny(t *testing.T) {
// Ensure middleware and match any routes do not conflict
e := New()
g := e.Group("/group")
m1 := func(next HandlerFunc) HandlerFunc {
return func(c Context) error {
return next(c)
}
}
m2 := func(next HandlerFunc) HandlerFunc {
return func(c Context) error {
return c.String(http.StatusOK, c.Path())
}
}
h := func(c Context) error {
return c.String(http.StatusOK, c.Path())
}
g.Use(m1)
g.GET("/help", h, m2)
g.GET("/*", h, m2)
g.GET("", h, m2)
e.GET("*", h, m2)
_, m := request(http.MethodGet, "/group/help", e)
assert.Equal(t, "/group/help", m)
_, m = request(http.MethodGet, "/group/help/other", e)
assert.Equal(t, "/group/*", m)
_, m = request(http.MethodGet, "/group/404", e)
assert.Equal(t, "/group/*", m)
_, m = request(http.MethodGet, "/group", e)
assert.Equal(t, "/group", m)
_, m = request(http.MethodGet, "/other", e)
assert.Equal(t, "/*", m)
_, m = request(http.MethodGet, "/", e)
assert.Equal(t, "/*", m)
}