feat: add rate limiter utility

This commit is contained in:
Indiana
2026-07-20 15:47:56 +00:00
parent 10ac364a90
commit 53828dad19
2 changed files with 38 additions and 0 deletions

View File

@@ -0,0 +1,16 @@
from app.rate_limit import RateLimiter
def test_allows_up_to_limit_then_blocks():
limiter = RateLimiter(max_requests=3, window_seconds=60)
assert limiter.allow("user-1") is True
assert limiter.allow("user-1") is True
assert limiter.allow("user-1") is True
assert limiter.allow("user-1") is False
def test_different_keys_tracked_independently():
limiter = RateLimiter(max_requests=1, window_seconds=60)
assert limiter.allow("user-1") is True
assert limiter.allow("user-2") is True
assert limiter.allow("user-1") is False