summaryrefslogtreecommitdiff
path: root/tests/unit/route53/test_connection.py
diff options
context:
space:
mode:
authorkyleknap <kyleknap@amazon.com>2014-09-18 16:08:06 -0700
committerkyleknap <kyleknap@amazon.com>2014-09-22 17:19:17 -0700
commit1af7c058ac701d3cb3164c2b7f43055a2ec7e116 (patch)
tree11ab63ec7b08d7a1dd69399264010c7752c23b07 /tests/unit/route53/test_connection.py
parent445f6bf3dc1b61477407c375133d8e975564566c (diff)
downloadboto-1af7c058ac701d3cb3164c2b7f43055a2ec7e116.tar.gz
Added backoff support for route53 throttling.
Instead of erroring out on 400-Throttling responses from route53, perform exponential backoff retries on the request.
Diffstat (limited to 'tests/unit/route53/test_connection.py')
-rw-r--r--tests/unit/route53/test_connection.py17
1 files changed, 14 insertions, 3 deletions
diff --git a/tests/unit/route53/test_connection.py b/tests/unit/route53/test_connection.py
index a748f307..3c696c7a 100644
--- a/tests/unit/route53/test_connection.py
+++ b/tests/unit/route53/test_connection.py
@@ -54,7 +54,7 @@ class TestRoute53Connection(AWSMockServiceTestCase):
def test_typical_400(self):
self.set_http_response(status_code=400, header=[
- ['Code', 'Throttling'],
+ ['Code', 'AccessDenied'],
])
with self.assertRaises(DNSServerError) as err:
@@ -62,11 +62,22 @@ class TestRoute53Connection(AWSMockServiceTestCase):
self.assertTrue('It failed.' in str(err.exception))
- @mock.patch('time.sleep')
- def test_retryable_400(self, sleep_mock):
+ def test_retryable_400_prior_request_not_complete(self):
+ # Test ability to retry on ``PriorRequestNotComplete``.
self.set_http_response(status_code=400, header=[
['Code', 'PriorRequestNotComplete'],
])
+ self.do_retry_handler()
+
+ def test_retryable_400_throttling(self):
+ # Test ability to rety on ``Throttling``.
+ self.set_http_response(status_code=400, header=[
+ ['Code', 'Throttling'],
+ ])
+ self.do_retry_handler()
+
+ @mock.patch('time.sleep')
+ def do_retry_handler(self, sleep_mock):
def incr_retry_handler(func):
def _wrapper(*args, **kwargs):