Spaces:
Runtime error
Runtime error
File size: 604 Bytes
60e41bb | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | from waterleaf.rate_limit import SlidingWindowRateLimiter
def test_rate_limiter_blocks_after_limit_inside_window():
limiter = SlidingWindowRateLimiter(limit=2, window_seconds=60)
assert limiter.allow("203.0.113.10", now=100.0) is True
assert limiter.allow("203.0.113.10", now=110.0) is True
assert limiter.allow("203.0.113.10", now=120.0) is False
def test_rate_limiter_expires_old_attempts():
limiter = SlidingWindowRateLimiter(limit=1, window_seconds=60)
assert limiter.allow("203.0.113.10", now=100.0) is True
assert limiter.allow("203.0.113.10", now=161.0) is True
|