From 6b9c490f92adb5ef1b373e9ffc0b4a6eea41b742 Mon Sep 17 00:00:00 2001 From: Jens Kleineheismann Date: Thu, 21 May 2026 16:29:37 +0200 Subject: [PATCH] dav_base.emails: make coverage happy --- dav_base/emails.py | 9 +++------ dav_base/templates/dav_base/tests/mail.txt | 2 +- dav_base/tests/test_emails.py | 22 +++++++++++++++++++++- 3 files changed, 25 insertions(+), 8 deletions(-) diff --git a/dav_base/emails.py b/dav_base/emails.py index 22029c2..8f01f9e 100644 --- a/dav_base/emails.py +++ b/dav_base/emails.py @@ -48,7 +48,7 @@ class AbstractMail: # pylint: disable=too-few-public-methods def _get_reply_to(self): return None - def send(self, fail_silently=False): + def send(self): subject = self._get_subject() body = self._get_body() sender = self._get_sender() @@ -56,8 +56,5 @@ class AbstractMail: # pylint: disable=too-few-public-methods reply_to = self._get_reply_to() email = EmailMessage(subject=subject, body=body, from_email=sender, to=recipients, reply_to=reply_to) - if fail_silently: - logger.info('Fake sending %s to %s', self.__class__.__name__, recipients) - else: - logger.info('Send %s to %s', self.__class__.__name__, recipients) - email.send(fail_silently=fail_silently) + logger.info('Send %s to %s', self.__class__.__name__, recipients) + email.send() diff --git a/dav_base/templates/dav_base/tests/mail.txt b/dav_base/templates/dav_base/tests/mail.txt index f39f8b3..afc67a6 100644 --- a/dav_base/templates/dav_base/tests/mail.txt +++ b/dav_base/templates/dav_base/tests/mail.txt @@ -1 +1 @@ -{# This template is used by software tests #}MAILBODY \ No newline at end of file +{# This template is used by software tests #}{{ var1 }}{{ var2 }}MAILBODY diff --git a/dav_base/tests/test_emails.py b/dav_base/tests/test_emails.py index 306aa85..ea898e3 100644 --- a/dav_base/tests/test_emails.py +++ b/dav_base/tests/test_emails.py @@ -43,4 +43,24 @@ class TestCase(EmailTestMixin, SimpleTestCase): self.assertSender(mail) self.assertRecipients(mail, [recipient]) self.assertSubject(mail, '') - self.assertBody(mail, 'MAILBODY') + self.assertBody(mail, 'MAILBODY\n') + + def test_send_extra_context(self): + recipient = 'root@localhost' + + class ConcreteMail(AbstractMail): # pylint: disable=too-few-public-methods + _template_name = MAIL_TEMPLATE + + def _get_recipients(self): + return [recipient] + + def _get_body(self, context=None): + context = {'var1': 'Here is', + 'var2': ' extra context. '} + return super()._get_body(context) + + email = ConcreteMail() + email.send() + + mail = django_mail.outbox[0] + self.assertBody(mail, 'Here is extra context. MAILBODY\n')