(t *testing.T)
| 94 | } |
| 95 | |
| 96 | func TestBodyLimitReader(t *testing.T) { |
| 97 | hw := []byte("Hello, World!") |
| 98 | |
| 99 | config := BodyLimitConfig{ |
| 100 | Skipper: DefaultSkipper, |
| 101 | LimitBytes: 2, |
| 102 | } |
| 103 | reader := &limitedReader{ |
| 104 | BodyLimitConfig: config, |
| 105 | reader: io.NopCloser(bytes.NewReader(hw)), |
| 106 | } |
| 107 | |
| 108 | // read all should return ErrStatusRequestEntityTooLarge |
| 109 | _, err := io.ReadAll(reader) |
| 110 | he := err.(echo.HTTPStatusCoder) |
| 111 | assert.Equal(t, http.StatusRequestEntityTooLarge, he.StatusCode()) |
| 112 | |
| 113 | // reset reader and read two bytes must succeed |
| 114 | bt := make([]byte, 2) |
| 115 | reader.Reset(io.NopCloser(bytes.NewReader(hw))) |
| 116 | n, err := reader.Read(bt) |
| 117 | assert.Equal(t, 2, n) |
| 118 | assert.Equal(t, nil, err) |
| 119 | } |
| 120 | |
| 121 | func TestBodyLimit_skipper(t *testing.T) { |
| 122 | e := echo.New() |
nothing calls this directly
no test coverage detected
searching dependent graphs…