def test_is_retriable_exception_false(self, mock_client_error):
     mock_client_error.response = {
         'Error': {
             'Code': 'NotRetriableException'
         },
         'ResponseMetadata': {
             'HTTPStatusCode': 200
         }
     }
     self.assertFalse(is_retriable_exception(mock_client_error))
 def test_is_retriable_exception_is_500_response_code(
         self, mock_client_error):
     mock_client_error.response = {
         'ResponseMetadata': {
             'HTTPStatusCode': 500
         },
         'Error': {
             'Code': 'NotRetriableException'
         }
     }
     self.assertTrue(is_retriable_exception(mock_client_error))
 def test_is_retriable_exception_is_SocketTimeoutException(
         self, mock_client_error):
     mock_client_error.response = {
         'Error': {
             'Code': 'SocketTimeoutException'
         },
         'ResponseMetadata': {
             'HTTPStatusCode': 200
         }
     }
     self.assertTrue(is_retriable_exception(mock_client_error))
 def test_is_retryable_exception_false(self):
     clientError = ClientError(
         {
             'Error': {
                 'Code': 'NotRetriableException'
             },
             'ResponseMetadata': {
                 'HTTPStatusCode': 200
             }
         }, 'SendCommand')
     self.assertFalse(is_retriable_exception(clientError))
 def test_is_retryable_exception_is_500_response_code(self):
     clientError = ClientError(
         {
             'ResponseMetadata': {
                 'HTTPStatusCode': 500
             },
             'Error': {
                 'Code': 'RetryableException'
             }
         }, 'SendCommand')
     self.assertTrue(is_retriable_exception(clientError))
 def test_is_retryable_exception_is_invalid_session_exception(self):
     clientError = ClientError(
         {
             'Error': {
                 'Code': 'InvalidSessionException'
             },
             'ResponseMetadata': {
                 'HTTPStatusCode': 100
             }
         }, 'SendCommand')
     self.assertTrue(is_retriable_exception(clientError))
 def test_is_retryable_exception_is_occ_conflict_exception(self):
     clientError = ClientError(
         {
             'Error': {
                 'Code': 'OccConflictException'
             },
             'ResponseMetadata': {
                 'HTTPStatusCode': 100
             }
         }, 'SendCommand')
     self.assertTrue(is_retriable_exception(clientError))
 def test_is_retryable_exception_is_SocketTimeoutException(self):
     clientError = ClientError(
         {
             'Error': {
                 'Code': 'SocketTimeoutException'
             },
             'ResponseMetadata': {
                 'HTTPStatusCode': 200
             }
         }, 'SendCommand')
     self.assertTrue(is_retriable_exception(clientError))
 def test_is_retryable_exception_is_expired_transaction_exception(self):
     clientError = ClientError(
         {
             'Error': {
                 'Code': 'InvalidSessionException',
                 'Message': 'Transaction xyz has expired'
             },
             'ResponseMetadata': {
                 'HTTPStatusCode': 100
             }
         }, 'SendCommand')
     self.assertFalse(is_retriable_exception(clientError))
 def test_is_retryable_exception_not_client_exception(self):
     self.assertFalse(is_retriable_exception(Exception()))