mirror of
https://github.com/Sagit-chu/flvx.git
synced 2026-10-03 09:06:36 +08:00
31 lines
806 B
Go
31 lines
806 B
Go
package conn
|
|
|
|
import (
|
|
"io"
|
|
"testing"
|
|
|
|
corelogger "github.com/go-gost/core/logger"
|
|
xlogger "github.com/go-gost/x/logger"
|
|
)
|
|
|
|
func TestIPLimitKeyCreatesIndependentLimiters(t *testing.T) {
|
|
limiter := NewConnLimiter(
|
|
LimitsOption("$$ 1"),
|
|
LoggerOption(xlogger.NewLogger(xlogger.OutputOption(io.Discard), xlogger.LevelOption(corelogger.ErrorLevel))),
|
|
)
|
|
first := limiter.Limiter("192.0.2.1")
|
|
second := limiter.Limiter("192.0.2.2")
|
|
if first == nil || second == nil {
|
|
t.Fatalf("expected non-nil per-IP limiters")
|
|
}
|
|
if !first.Allow(1) {
|
|
t.Fatalf("expected first IP first connection to be allowed")
|
|
}
|
|
if first.Allow(1) {
|
|
t.Fatalf("expected first IP second connection to be rejected")
|
|
}
|
|
if !second.Allow(1) {
|
|
t.Fatalf("expected second IP first connection to be allowed independently")
|
|
}
|
|
}
|