From 6316248a65c06e6e08748a7a51358bb20441dc9e Mon Sep 17 00:00:00 2001 From: gcoinstash-cmd Date: Tue, 8 Sep 2026 04:42:20 -0700 Subject: [PATCH] test(rate-limit): add sliding window request burst clamping and cooldown specs --- .../rate_limiter_window_invariants_test.py | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 tests/unit/rate_limiter_window_invariants_test.py diff --git a/tests/unit/rate_limiter_window_invariants_test.py b/tests/unit/rate_limiter_window_invariants_test.py new file mode 100644 index 0000000..a059361 --- /dev/null +++ b/tests/unit/rate_limiter_window_invariants_test.py @@ -0,0 +1,18 @@ +import pytest +import time + +def test_sliding_window_burst_clamping(): + max_burst = 20 + window_seconds = 60 + incoming_requests = 25 + admitted = min(incoming_requests, max_burst) + + assert admitted == 20 + assert incoming_requests - admitted == 5 + +def test_cooldown_expiry_invariants(): + cooldown_seconds = 10 + start_time = 100 + current_time = 112 + + assert (current_time - start_time) >= cooldown_seconds