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  }