mirror of
https://github.com/pacnpal/django-anymail.git
synced 2025-12-20 03:41:05 -05:00
Fix fail_silently when session/client creation fails
Make sure backends actually fail silently when asked (rather than raising inaccurate errors suggesting coding problems). Fixes #308
This commit is contained in:
@@ -1,3 +1,5 @@
|
||||
from unittest import mock
|
||||
|
||||
from django.test import SimpleTestCase, override_settings, tag
|
||||
|
||||
from anymail.backends.base_requests import AnymailRequestsBackend, RequestsPayload
|
||||
@@ -69,6 +71,14 @@ class RequestsBackendBaseTestCase(RequestsBackendMockAPITestCase):
|
||||
timeout = self.get_api_call_arg("timeout")
|
||||
self.assertEqual(timeout, 5)
|
||||
|
||||
@mock.patch(f"{__name__}.MinimalRequestsBackend.create_session")
|
||||
def test_create_session_error_fail_silently(self, mock_create_session):
|
||||
# If create_session fails and fail_silently is True,
|
||||
# make sure _send doesn't raise a misleading error.
|
||||
mock_create_session.side_effect = ValueError("couldn't create session")
|
||||
sent = self.message.send(fail_silently=True)
|
||||
self.assertEqual(sent, 0)
|
||||
|
||||
|
||||
@tag("live")
|
||||
@override_settings(EMAIL_BACKEND="tests.test_base_backends.MinimalRequestsBackend")
|
||||
|
||||
Reference in New Issue
Block a user