From 73fd71488dadc28e0c8995d225b8ad845f26ad18 Mon Sep 17 00:00:00 2001 From: echoduck Date: Feb 26 2019 16:55:48 +0000 Subject: Fixed failing outbox tests by replacing send_html_mail Celery task with a Celery email backend --- diff --git a/happinesspackets/messaging/models.py b/happinesspackets/messaging/models.py index c11d1a0..e7890f9 100644 --- a/happinesspackets/messaging/models.py +++ b/happinesspackets/messaging/models.py @@ -80,7 +80,7 @@ class Message(TimeStampedModel): subject = ' '.join(subject.splitlines()) body_txt = render_to_string('messaging/sender_confirmation_mail.txt', context) body_html = render_to_string('messaging/sender_confirmation_mail.html', context) - send_html_mail.delay(subject, body_txt, body_html, self.sender_email) + send_html_mail(subject, body_txt, body_html, self.sender_email) self.save() def send_to_recipient(self, use_https, domain): @@ -103,7 +103,7 @@ class Message(TimeStampedModel): subject = ' '.join(subject.splitlines()) body_txt = render_to_string('messaging/recipient_mail.txt', context) body_html = render_to_string('messaging/recipient_mail.html', context) - send_html_mail.delay(subject, body_txt, body_html, self.recipient_email) + send_html_mail(subject, body_txt, body_html, self.recipient_email) self.save() diff --git a/happinesspackets/settings/base.py b/happinesspackets/settings/base.py index 0804aa6..e1e6202 100644 --- a/happinesspackets/settings/base.py +++ b/happinesspackets/settings/base.py @@ -50,7 +50,6 @@ MESSAGE_TAGS = { messages.ERROR: 'danger', } - MEDIA_ROOT = PROJECT_DIR.child('media') MEDIA_URL = '/media/' STATIC_ROOT = PROJECT_DIR.child('static') @@ -116,8 +115,12 @@ INSTALLED_APPS = [ 'django_extensions', 'crispy_forms', 'happinesspackets.messaging', + 'djcelery_email', ] + +EMAIL_BACKEND = 'djcelery_email.backends.CeleryEmailBackend' + AUTHENTICATION_BACKENDS = ( 'happinesspackets.messaging.auth.OIDC', ) diff --git a/happinesspackets/settings/dev.py b/happinesspackets/settings/dev.py index a7ccc0b..7b37258 100644 --- a/happinesspackets/settings/dev.py +++ b/happinesspackets/settings/dev.py @@ -15,7 +15,7 @@ DATABASES = { } } -EMAIL_BACKEND = "django.core.mail.backends.console.EmailBackend" +CELERY_EMAIL_BACKEND = "django.core.mail.backends.console.EmailBackend" SECRET_KEY = 'only-for-testing' diff --git a/happinesspackets/tasks.py b/happinesspackets/tasks.py index 989bab0..396a924 100644 --- a/happinesspackets/tasks.py +++ b/happinesspackets/tasks.py @@ -1,12 +1,10 @@ import logging -from happinesspackets._celery import app from email.mime.image import MIMEImage from django.conf import settings from django.core.mail import EmailMultiAlternatives -@app.task def send_html_mail(subject, body_txt, body_html, recipient): message = EmailMultiAlternatives(subject, body_txt, settings.DEFAULT_FROM_EMAIL, [recipient]) message.attach_alternative(body_html, 'text/html') diff --git a/requirements/base.txt b/requirements/base.txt index 77fcef5..31cec1a 100644 --- a/requirements/base.txt +++ b/requirements/base.txt @@ -35,3 +35,4 @@ opbeat==3.3 mozilla-django-oidc==1.0.0 fedmsg==1.1.1 celery[redis]==4.2.1 +django-celery-email==2.0.1