Skip to content

Commit 957b39f

Browse files
committed
Wrap test in try/finally, cleanup duration determination
1 parent 72fbefd commit 957b39f

File tree

2 files changed

+11
-12
lines changed

2 files changed

+11
-12
lines changed

rest_framework/views.py

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -363,10 +363,8 @@ def check_throttles(self, request):
363363
if duration is not None
364364
]
365365

366-
if durations:
367-
self.throttled(request, max(durations))
368-
else:
369-
self.throttled(request, None)
366+
duration = max(durations) if durations else None
367+
self.throttled(request, duration)
370368

371369
def determine_version(self, request, *args, **kwargs):
372370
"""

tests/test_throttling.py

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -168,16 +168,17 @@ def test_handle_negative_throttle_value(self):
168168
assert int(response['retry-after']) == 60
169169

170170
previous_rate = User3SecRateThrottle.rate
171-
User3SecRateThrottle.rate = '1/sec'
171+
try:
172+
User3SecRateThrottle.rate = '1/sec'
172173

173-
for dummy in range(24):
174-
response = MockView_DoubleThrottling.as_view()(request)
175-
176-
assert response.status_code == 429
177-
assert int(response['retry-after']) == 60
174+
for dummy in range(24):
175+
response = MockView_DoubleThrottling.as_view()(request)
178176

179-
# reset
180-
User3SecRateThrottle.rate = previous_rate
177+
assert response.status_code == 429
178+
assert int(response['retry-after']) == 60
179+
finally:
180+
# reset
181+
User3SecRateThrottle.rate = previous_rate
181182

182183
def ensure_response_header_contains_proper_throttle_field(self, view, expected_headers):
183184
"""

0 commit comments

Comments
 (0)