package middleware import ( "net/http" "testing" . "github.com/yusing/go-proxy/internal/utils/testing" ) func TestRateLimit(t *testing.T) { opts := OptionsRaw{ "average": "10", "burst": "10", "period": "1s", } rl, err := RateLimiter.New(opts) ExpectNoError(t, err) for range 10 { result, err := newMiddlewareTest(rl, nil) ExpectNoError(t, err) ExpectEqual(t, result.ResponseStatus, http.StatusOK) } result, err := newMiddlewareTest(rl, nil) ExpectNoError(t, err) ExpectEqual(t, result.ResponseStatus, http.StatusTooManyRequests) }