Use specific ESP name in error messages.

Change  (e.g.,) "ESP API response 400"
to "Mailgun API response 400".
This commit is contained in:
medmunds
2017-01-22 10:21:19 -08:00
parent 79288603fb
commit 56d2b53c2b
14 changed files with 54 additions and 35 deletions

View File

@@ -227,9 +227,8 @@ class MailgunBackendStandardEmailTests(MailgunBackendMockAPITestCase):
def test_api_failure(self):
self.set_mock_response(status_code=400)
with self.assertRaises(AnymailAPIError):
sent = mail.send_mail('Subject', 'Body', 'from@example.com', ['to@example.com'])
self.assertEqual(sent, 0)
with self.assertRaisesMessage(AnymailAPIError, "Mailgun API response 400"):
mail.send_mail('Subject', 'Body', 'from@example.com', ['to@example.com'])
# Make sure fail_silently is respected
self.set_mock_response(status_code=400)

View File

@@ -236,9 +236,8 @@ class MandrillBackendStandardEmailTests(MandrillBackendMockAPITestCase):
def test_api_failure(self):
self.set_mock_response(status_code=400)
with self.assertRaises(AnymailAPIError):
sent = mail.send_mail('Subject', 'Body', 'from@example.com', ['to@example.com'])
self.assertEqual(sent, 0)
with self.assertRaisesMessage(AnymailAPIError, "Mandrill API response 400"):
mail.send_mail('Subject', 'Body', 'from@example.com', ['to@example.com'])
# Make sure fail_silently is respected
self.set_mock_response(status_code=400)

View File

@@ -273,9 +273,8 @@ class PostmarkBackendStandardEmailTests(PostmarkBackendMockAPITestCase):
def test_api_failure(self):
self.set_mock_response(status_code=500)
with self.assertRaises(AnymailAPIError):
sent = mail.send_mail('Subject', 'Body', 'from@example.com', ['to@example.com'])
self.assertEqual(sent, 0)
with self.assertRaisesMessage(AnymailAPIError, "Postmark API response 500"):
mail.send_mail('Subject', 'Body', 'from@example.com', ['to@example.com'])
# Make sure fail_silently is respected
self.set_mock_response(status_code=500)

View File

@@ -294,9 +294,8 @@ class SendGridBackendStandardEmailTests(SendGridBackendMockAPITestCase):
def test_api_failure(self):
self.set_mock_response(status_code=400)
with self.assertRaises(AnymailAPIError):
sent = mail.send_mail('Subject', 'Body', 'from@example.com', ['to@example.com'])
self.assertEqual(sent, 0)
with self.assertRaisesMessage(AnymailAPIError, "SendGrid API response 400"):
mail.send_mail('Subject', 'Body', 'from@example.com', ['to@example.com'])
# Make sure fail_silently is respected
self.set_mock_response(status_code=400)

View File

@@ -301,9 +301,8 @@ class SendGridBackendStandardEmailTests(SendGridBackendMockAPITestCase):
def test_api_failure(self):
self.set_mock_response(status_code=400)
with self.assertRaises(AnymailAPIError):
sent = mail.send_mail('Subject', 'Body', 'from@example.com', ['to@example.com'])
self.assertEqual(sent, 0)
with self.assertRaisesMessage(AnymailAPIError, "SendGrid API response 400"):
mail.send_mail('Subject', 'Body', 'from@example.com', ['to@example.com'])
# Make sure fail_silently is respected
self.set_mock_response(status_code=400)

View File

@@ -289,12 +289,8 @@ class SparkPostBackendStandardEmailTests(SparkPostBackendMockAPITestCase):
self.assertNotIn('recipients', params)
def test_api_failure(self):
failure_response = b"""{ "errors": [ {
"message": "Something went wrong",
"description": "Helpful explanation from your ESP"
} ] }"""
self.set_mock_failure(raw=failure_response)
with self.assertRaisesMessage(AnymailAPIError, "Helpful explanation from your ESP"):
self.set_mock_failure(status_code=400)
with self.assertRaisesMessage(AnymailAPIError, "SparkPost API response 400"):
self.message.send()
def test_api_failure_fail_silently(self):
@@ -303,6 +299,16 @@ class SparkPostBackendStandardEmailTests(SparkPostBackendMockAPITestCase):
sent = self.message.send(fail_silently=True)
self.assertEqual(sent, 0)
def test_api_error_includes_details(self):
"""AnymailAPIError should include ESP's error message"""
failure_response = b"""{ "errors": [ {
"message": "Something went wrong",
"description": "Helpful explanation from your ESP"
} ] }"""
self.set_mock_failure(raw=failure_response)
with self.assertRaisesMessage(AnymailAPIError, "Helpful explanation from your ESP"):
self.message.send()
class SparkPostBackendAnymailFeatureTests(SparkPostBackendMockAPITestCase):
"""Test backend support for Anymail added features"""