Skip to content

Commit ca8d64d

Browse files
committed
Add helmet integration test for body-limit responses
1 parent 3a0c300 commit ca8d64d

1 file changed

Lines changed: 17 additions & 0 deletions

File tree

app_integration_test.go

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import (
1111

1212
"github.com/gofiber/fiber/v3"
1313
"github.com/gofiber/fiber/v3/middleware/cors"
14+
"github.com/gofiber/fiber/v3/middleware/helmet"
1415
"github.com/valyala/fasthttp"
1516
"github.com/valyala/fasthttp/fasthttputil"
1617
)
@@ -103,6 +104,22 @@ func Test_Integration_App_ServerErrorHandler_PreservesCORSHeadersOnBodyLimit(t *
103104
require.Equal(t, "Origin", string(resp.Header.Peek(fiber.HeaderVary)))
104105
}
105106

107+
func Test_Integration_App_ServerErrorHandler_PreservesHelmetHeadersOnBodyLimit(t *testing.T) {
108+
app := fiber.New(fiber.Config{BodyLimit: 16})
109+
app.Use(helmet.New())
110+
app.Post("/", func(c fiber.Ctx) error {
111+
return c.SendStatus(fiber.StatusOK)
112+
})
113+
114+
resp := performOversizedRequest(t, app, nil)
115+
116+
require.Equal(t, fiber.StatusRequestEntityTooLarge, resp.StatusCode())
117+
require.Equal(t, "nosniff", string(resp.Header.Peek(fiber.HeaderXContentTypeOptions)))
118+
require.Equal(t, "same-origin", string(resp.Header.Peek("Cross-Origin-Opener-Policy")))
119+
require.Equal(t, "same-origin", string(resp.Header.Peek("Cross-Origin-Resource-Policy")))
120+
require.Equal(t, "require-corp", string(resp.Header.Peek("Cross-Origin-Embedder-Policy")))
121+
}
122+
106123
func Test_Integration_App_ServerErrorHandler_RetainsHeadersFromSubsequentMiddleware(t *testing.T) {
107124
app := fiber.New(fiber.Config{BodyLimit: 8})
108125
app.Use(func(c fiber.Ctx) error {

0 commit comments

Comments
 (0)