Skip to content

Commit

Permalink
Wrap test in try/finally, cleanup duration determination
Browse files Browse the repository at this point in the history
  • Loading branch information
EnTeQuAk committed Jul 30, 2019
1 parent 72fbefd commit 957b39f
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 12 deletions.
6 changes: 2 additions & 4 deletions rest_framework/views.py
Expand Up @@ -363,10 +363,8 @@ def check_throttles(self, request):
if duration is not None
]

if durations:
self.throttled(request, max(durations))
else:
self.throttled(request, None)
duration = max(durations) if durations else None
self.throttled(request, duration)

def determine_version(self, request, *args, **kwargs):
"""
Expand Down
17 changes: 9 additions & 8 deletions tests/test_throttling.py
Expand Up @@ -168,16 +168,17 @@ def test_handle_negative_throttle_value(self):
assert int(response['retry-after']) == 60

previous_rate = User3SecRateThrottle.rate
User3SecRateThrottle.rate = '1/sec'
try:
User3SecRateThrottle.rate = '1/sec'

for dummy in range(24):
response = MockView_DoubleThrottling.as_view()(request)

assert response.status_code == 429
assert int(response['retry-after']) == 60
for dummy in range(24):
response = MockView_DoubleThrottling.as_view()(request)

# reset
User3SecRateThrottle.rate = previous_rate
assert response.status_code == 429
assert int(response['retry-after']) == 60
finally:
# reset
User3SecRateThrottle.rate = previous_rate

def ensure_response_header_contains_proper_throttle_field(self, view, expected_headers):
"""
Expand Down

0 comments on commit 957b39f

Please sign in to comment.