diff options
author | Erik Johnston <erikj@element.io> | 2024-05-18 12:03:30 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-05-18 12:03:30 +0100 |
commit | 52af16c56175160512420d8654ac558a1e5af541 (patch) | |
tree | 7c9a9e4dbae6265ebff3cb08809a6fbac7fcbfc6 /tests/api | |
parent | Federated Knocking Endpoints added (missing in Docu) (#17058) (diff) | |
download | synapse-52af16c56175160512420d8654ac558a1e5af541.tar.xz |
Add a short sleep if the request is rate-limited (#17210)
This helps prevent clients from "tight-looping" retrying their request.
Diffstat (limited to 'tests/api')
-rw-r--r-- | tests/api/test_ratelimiting.py | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/tests/api/test_ratelimiting.py b/tests/api/test_ratelimiting.py index a24638c9ef..a59e168db1 100644 --- a/tests/api/test_ratelimiting.py +++ b/tests/api/test_ratelimiting.py @@ -116,8 +116,9 @@ class TestRatelimiter(unittest.HomeserverTestCase): # Should raise with self.assertRaises(LimitExceededError) as context: self.get_success_or_raise( - limiter.ratelimit(None, key="test_id", _time_now_s=5) + limiter.ratelimit(None, key="test_id", _time_now_s=5), by=0.5 ) + self.assertEqual(context.exception.retry_after_ms, 5000) # Shouldn't raise @@ -192,7 +193,7 @@ class TestRatelimiter(unittest.HomeserverTestCase): # Second attempt, 1s later, will fail with self.assertRaises(LimitExceededError) as context: self.get_success_or_raise( - limiter.ratelimit(None, key=("test_id",), _time_now_s=1) + limiter.ratelimit(None, key=("test_id",), _time_now_s=1), by=0.5 ) self.assertEqual(context.exception.retry_after_ms, 9000) |