Skip to content

Commit 875a44b

Browse files
committed
Add integration coverage for grouped middleware chain
1 parent 023feb3 commit 875a44b

1 file changed

Lines changed: 24 additions & 0 deletions

File tree

app_integration_test.go

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -138,6 +138,30 @@ func Test_Integration_App_ServerErrorHandler_PreservesRequestID(t *testing.T) {
138138
require.Equal(t, expectedRequestID, string(resp.Header.Peek("X-Request-ID")))
139139
}
140140

141+
func Test_Integration_App_ServerErrorHandler_GroupMiddlewareChain(t *testing.T) {
142+
app := fiber.New(fiber.Config{BodyLimit: 16})
143+
app.Use(helmet.New())
144+
145+
api := app.Group("/api")
146+
api.Use(requestid.New())
147+
api.Use(func(c fiber.Ctx) error {
148+
c.Set("X-Group-Middleware", "active")
149+
return c.Next()
150+
})
151+
api.Post("/resource", func(c fiber.Ctx) error {
152+
return c.SendStatus(fiber.StatusOK)
153+
})
154+
155+
resp := performOversizedRequest(t, app, func(req *fasthttp.Request) {
156+
req.SetRequestURI("http://example.com/api/resource")
157+
})
158+
159+
require.Equal(t, fiber.StatusRequestEntityTooLarge, resp.StatusCode())
160+
require.Equal(t, "nosniff", string(resp.Header.Peek(fiber.HeaderXContentTypeOptions)))
161+
require.NotEmpty(t, resp.Header.Peek("X-Request-ID"))
162+
require.Equal(t, "active", string(resp.Header.Peek("X-Group-Middleware")))
163+
}
164+
141165
func Test_Integration_App_ServerErrorHandler_RetainsHeadersFromSubsequentMiddleware(t *testing.T) {
142166
app := fiber.New(fiber.Config{BodyLimit: 8})
143167
app.Use(func(c fiber.Ctx) error {

0 commit comments

Comments
 (0)