def test_create_retry_for_operation(self): checker = retryhandler.create_checker_from_retry_config( self.retry_config, operation_name='OperationFoo') self.assertIsInstance(checker, retryhandler.MaxAttemptsDecorator) self.assertEqual(checker._max_attempts, 5) self.assertIsInstance(checker._checker, retryhandler.MultiChecker)
def test_retry_with_socket_errors(self): checker = retryhandler.create_checker_from_retry_config( self.retry_config, operation_name='OperationBar') self.assertIsInstance(checker, retryhandler.BaseChecker) all_checkers = checker._checker._checkers self.assertIsInstance(all_checkers[0], retryhandler.ServiceErrorCodeChecker) self.assertIsInstance(all_checkers[1], retryhandler.ExceptionRaiser)
def test_create_retry_single_checker_service_level(self): checker = retryhandler.create_checker_from_retry_config( self.retry_config, operation_name=None) self.assertIsInstance(checker, retryhandler.MaxAttemptsDecorator) # We're reaching into internal fields here, but only to check # that the object is created properly. self.assertEqual(checker._max_attempts, 5) self.assertIsInstance(checker._checker, retryhandler.ServiceErrorCodeChecker) self.assertEqual(checker._checker._error_code, 'Throttling') self.assertEqual(checker._checker._status_code, 400)