MCPcopy
hub / github.com/labstack/echo / TestDecompress_ExceedsLimit

Function TestDecompress_ExceedsLimit

middleware/decompress_test.go:275–299  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

273}
274
275func TestDecompress_ExceedsLimit(t *testing.T) {
276 e := echo.New()
277 // Create 2KB of data but limit to 1KB
278 largeBody := strings.Repeat("A", 2*1024)
279 gz, _ := gzipString(largeBody)
280
281 req := httptest.NewRequest(http.MethodPost, "/", bytes.NewReader(gz))
282 req.Header.Set(echo.HeaderContentEncoding, GZIPEncoding)
283 rec := httptest.NewRecorder()
284 c := e.NewContext(req, rec)
285
286 h, err := DecompressConfig{MaxDecompressedSize: 1024}.ToMiddleware() // 1KB limit
287 assert.NoError(t, err)
288
289 err = h(func(c *echo.Context) error {
290 _, readErr := io.ReadAll(c.Request().Body)
291 return readErr
292 })(c)
293
294 // Should return 413 error
295 assert.Error(t, err)
296 he, ok := err.(echo.HTTPStatusCoder)
297 assert.True(t, ok)
298 assert.Equal(t, http.StatusRequestEntityTooLarge, he.StatusCode())
299}
300
301func TestDecompress_AtExactLimit(t *testing.T) {
302 e := echo.New()

Callers

nothing calls this directly

Calls 7

RequestMethod · 0.95
gzipStringFunction · 0.85
SetMethod · 0.80
NewContextMethod · 0.80
ToMiddlewareMethod · 0.65
StatusCodeMethod · 0.65
ErrorMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…