def test_with_error_handling_ignore(self): result = Transport._with_error_handling(FakeResponse(), EmptyResponse(), IGNORE, 'json').parsed self.assertIsNone(result) result = Transport._with_error_handling(FakeResponse(), RuntimeError(), IGNORE, 'json').parsed self.assertIsNone(result) result = Transport._with_error_handling(FakeResponse(), HTTPError(), IGNORE, 'json').parsed self.assertIsNone(result) result = Transport._with_error_handling(FakeResponse(), EmptyResponse(), IGNORE, 'xml').parsed self.assertIsNone(result) result = Transport._with_error_handling(FakeResponse(), RuntimeError(), IGNORE, 'xml').parsed self.assertIsNone(result) result = Transport._with_error_handling(FakeResponse(), HTTPError(), IGNORE, 'xml').parsed self.assertIsNone(result) result = Transport._with_error_handling( FakeResponse(content='{"valid": 1}'), HTTPError(), IGNORE, 'json').parsed self.assertIsNotNone(result) self.assertTrue('valid' in result) self.assertEqual(result['valid'], 1) result = Transport._with_error_handling( FakeResponse(content='<valid>1</valid>'), HTTPError(), IGNORE, 'xml').parsed self.assertIsNotNone(result) self.assertEqual(result.tag, 'valid') self.assertEqual(result.text, '1')
def test_with_error_handling_graceful(self): result = Transport._with_error_handling( FakeResponse(), EmptyResponse(), GRACEFUL, 'json') self.assertTrue(result is not None) self.assertEqual(None, result.parsed) result = Transport._with_error_handling( FakeResponse(), EmptyResponse(), GRACEFUL, 'xml') self.assertTrue(result is not None) self.assertEqual(None, result.parsed) result = Transport._with_error_handling( FakeResponse(content='{"valid": 1}', status_code=429), HTTPError(), GRACEFUL, 'json' ).parsed self.assertTrue(result is not None) self.assertTrue('valid' in result) self.assertEqual(result['valid'], 1) result = Transport._with_error_handling( FakeResponse(content='<valid>1</valid>', status_code=429), HTTPError(), GRACEFUL, 'xml' ).parsed self.assertTrue(result is not None) self.assertEqual(result.tag, 'valid') self.assertEqual(result.text, '1') result = Transport._with_error_handling( FakeResponse(content='invalid', status_code=429), HTTPError(), GRACEFUL, 'json' ).parsed self.assertEqual(None, result) try: result = Transport._with_error_handling( FakeResponse(content='invalid', status_code=429), HTTPError(), GRACEFUL, 'xml' ).parsed except Exception as e: print(e) self.assertEqual(None, result) for format in ['json', 'xml']: self.assertRaises(HTTPError, Transport._with_error_handling, FakeResponse(), HTTPError(), GRACEFUL, format) self.assertRaises(RuntimeError, Transport._with_error_handling, FakeResponse(), RuntimeError(), GRACEFUL, format)
def test_with_error_handling_graceful(self): result = Transport._with_error_handling(FakeResponse(), EmptyResponse(), GRACEFUL, 'json') self.assertIsNotNone(result) self.assertIsNone(result.parsed) result = Transport._with_error_handling(FakeResponse(), EmptyResponse(), GRACEFUL, 'xml') self.assertIsNotNone(result) self.assertIsNone(result.parsed) result = Transport._with_error_handling( FakeResponse(content='{"valid": 1}', status_code=429), HTTPError(), GRACEFUL, 'json').parsed self.assertIsNotNone(result) self.assertTrue('valid' in result) self.assertEqual(result['valid'], 1) result = Transport._with_error_handling( FakeResponse(content='<valid>1</valid>', status_code=429), HTTPError(), GRACEFUL, 'xml').parsed self.assertIsNotNone(result) self.assertEqual(result.tag, 'valid') self.assertEqual(result.text, '1') result = Transport._with_error_handling( FakeResponse(content='invalid', status_code=429), HTTPError(), GRACEFUL, 'json').parsed self.assertIsNone(result) result = Transport._with_error_handling( FakeResponse(content='invalid', status_code=429), HTTPError(), GRACEFUL, 'xml').parsed self.assertIsNone(result) with self.assertRaises(HTTPError): Transport._with_error_handling(FakeResponse(), HTTPError(), GRACEFUL, 'json') with self.assertRaises(RuntimeError): Transport._with_error_handling(FakeResponse(), RuntimeError(), GRACEFUL, 'json') with self.assertRaises(HTTPError): Transport._with_error_handling(FakeResponse(), HTTPError(), GRACEFUL, 'xml') with self.assertRaises(RuntimeError): Transport._with_error_handling(FakeResponse(), RuntimeError(), GRACEFUL, 'xml')
def test_with_error_handling_ignore(self): result = Transport._with_error_handling(FakeResponse(), EmptyResponse(), IGNORE, 'json').parsed self.assertEqual(None, result) result = Transport._with_error_handling(FakeResponse(), RuntimeError(), IGNORE, 'json').parsed self.assertEqual(None, result) result = Transport._with_error_handling(FakeResponse(), HTTPError(), IGNORE, 'json').parsed self.assertEqual(None, result) try: result = Transport._with_error_handling(FakeResponse(), EmptyResponse(), IGNORE, 'xml').parsed self.assertEqual(None, result) result = Transport._with_error_handling(FakeResponse(), RuntimeError(), IGNORE, 'xml').parsed self.assertEqual(None, result) result = Transport._with_error_handling(FakeResponse(), HTTPError(), IGNORE, 'xml').parsed self.assertEqual(None, result) except Exception as e: # Exception for Python 2.6 print(e) result = Transport._with_error_handling( FakeResponse(content='{"valid": 1}'), HTTPError(), IGNORE, 'json').parsed self.assertTrue(result is not None) self.assertTrue('valid' in result) self.assertEqual(result['valid'], 1) result = Transport._with_error_handling( FakeResponse(content='<valid>1</valid>'), HTTPError(), IGNORE, 'xml').parsed self.assertTrue(result is not None) self.assertEqual(result.tag, 'valid') self.assertEqual(result.text, '1')