diff options
Diffstat (limited to 'oslo_db/tests/old_import_api/test_api.py')
-rw-r--r-- | oslo_db/tests/old_import_api/test_api.py | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/oslo_db/tests/old_import_api/test_api.py b/oslo_db/tests/old_import_api/test_api.py index 3664e24..1fe3bf3 100644 --- a/oslo_db/tests/old_import_api/test_api.py +++ b/oslo_db/tests/old_import_api/test_api.py @@ -279,3 +279,24 @@ class DBDeadlockTestCase(DBAPITestCase): self.assertEqual( 0, self.test_db_api.error_counter, 'Counter not decremented, retry logic probably failed.') + + +class DBRetryRequestCase(DBAPITestCase): + def test_retry_wrapper_succeeds(self): + @api.wrap_db_retry(max_retries=10, retry_on_request=True) + def some_method(): + pass + + some_method() + + def test_retry_wrapper_reaches_limit(self): + max_retries = 10 + + @api.wrap_db_retry(max_retries=10, retry_on_request=True) + def some_method(res): + res['result'] += 1 + raise exception.RetryRequest(ValueError()) + + res = {'result': 0} + self.assertRaises(ValueError, some_method, res) + self.assertEqual(max_retries + 1, res['result']) |