github.com/hellofresh/janus@v0.0.0-20230925145208-ce8de8183c67/pkg/plugin/bodylmt/middleware_test.go (about) 1 package bodylmt 2 3 import ( 4 "bytes" 5 "net/http" 6 "net/http/httptest" 7 "testing" 8 9 "github.com/hellofresh/janus/pkg/test" 10 "github.com/stretchr/testify/assert" 11 ) 12 13 func TestBodyLmtValidSize(t *testing.T) { 14 mw := NewBodyLimitMiddleware("2M") 15 16 content := []byte("Hello, World!") 17 r := httptest.NewRequest(http.MethodPost, "/", bytes.NewReader(content)) 18 w := httptest.NewRecorder() 19 20 mw(http.HandlerFunc(test.Ping)).ServeHTTP(w, r) 21 22 assert.Equal(t, http.StatusOK, w.Code) 23 } 24 25 func TestBodyLmtInvalidSize(t *testing.T) { 26 mw := NewBodyLimitMiddleware("2B") 27 28 content := []byte("Hello, World!") 29 r := httptest.NewRequest(http.MethodPost, "/", bytes.NewReader(content)) 30 w := httptest.NewRecorder() 31 32 mw(http.HandlerFunc(test.Ping)).ServeHTTP(w, r) 33 34 assert.Equal(t, http.StatusRequestEntityTooLarge, w.Code) 35 }