mirror of
https://github.com/yusing/godoxy.git
synced 2026-03-18 15:23:51 +01:00
28 lines
562 B
Go
28 lines
562 B
Go
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)
|
|
}
|