diff options
author | kyleknap <kyleknap@amazon.com> | 2014-09-18 16:08:06 -0700 |
---|---|---|
committer | kyleknap <kyleknap@amazon.com> | 2014-09-22 17:19:17 -0700 |
commit | 1af7c058ac701d3cb3164c2b7f43055a2ec7e116 (patch) | |
tree | 11ab63ec7b08d7a1dd69399264010c7752c23b07 /tests/unit | |
parent | 445f6bf3dc1b61477407c375133d8e975564566c (diff) | |
download | boto-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')
-rw-r--r-- | tests/unit/route53/test_connection.py | 17 |
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): |