Example #1
0
class TestEmailPreview(TestCase):
    fixtures = ['base/addon_3615', 'base/users']

    def setUp(self):
        super(TestEmailPreview, self).setUp()
        assert self.client.login(email='*****@*****.**')
        addon = Addon.objects.get(pk=3615)
        self.topic = EmailPreviewTopic(addon)

    def test_csv(self):
        self.topic.send_mail('the subject',
                             u'Hello Ivan Krsti\u0107',
                             from_email='*****@*****.**',
                             recipient_list=['*****@*****.**'])
        r = self.client.get(
            reverse('zadmin.email_preview_csv', args=[self.topic.topic]))
        assert r.status_code == 200
        rdr = csv.reader(StringIO(r.content))
        assert rdr.next() == [
            'from_email', 'recipient_list', 'subject', 'body'
        ]
        assert rdr.next() == [
            '*****@*****.**', '*****@*****.**', 'the subject',
            'Hello Ivan Krsti\xc4\x87'
        ]
Example #2
0
def admin_email(all_recipients, subject, body, preview_only=False,
                from_email=settings.DEFAULT_FROM_EMAIL,
                preview_topic='admin_email', **kw):
    log.info('[%s@%s] admin_email about %r'
             % (len(all_recipients), admin_email.rate_limit, subject))
    if preview_only:
        send = EmailPreviewTopic(topic=preview_topic).send_mail
    else:
        send = send_mail
    for recipient in all_recipients:
        send(subject, body, recipient_list=[recipient], from_email=from_email)
Example #3
0
class TestEmailPreview(TestCase):
    fixtures = ['base/addon_3615', 'base/users']

    def setUp(self):
        super(TestEmailPreview, self).setUp()
        assert self.client.login(email='*****@*****.**')
        addon = Addon.objects.get(pk=3615)
        self.topic = EmailPreviewTopic(addon)

    def test_csv(self):
        self.topic.send_mail('the subject', u'Hello Ivan Krsti\u0107',
                             from_email='*****@*****.**',
                             recipient_list=['*****@*****.**'])
        r = self.client.get(reverse('zadmin.email_preview_csv',
                            args=[self.topic.topic]))
        assert r.status_code == 200
        rdr = csv.reader(StringIO(r.content))
        assert next(rdr) == ['from_email', 'recipient_list', 'subject', 'body']
        assert next(rdr) == ['*****@*****.**', '*****@*****.**',
                             'the subject', 'Hello Ivan Krsti\xc4\x87']
Example #4
0
 def test_preview(self):
     res = self.post(preview_only=True)
     self.assertNoFormErrors(res)
     preview = EmailPreviewTopic(topic='email-devs')
     assert [e.recipient_list for e in preview.filter()] == ['*****@*****.**']
     assert len(mail.outbox) == 0
Example #5
0
 def setUp(self):
     super(TestEmailPreview, self).setUp()
     assert self.client.login(email='*****@*****.**')
     addon = Addon.objects.get(pk=3615)
     self.topic = EmailPreviewTopic(addon)
Example #6
0
 def test_preview(self):
     res = self.post(preview_only=True)
     self.assertNoFormErrors(res)
     preview = EmailPreviewTopic(topic='email-devs')
     assert [e.recipient_list for e in preview.filter()] == ['*****@*****.**']
     assert len(mail.outbox) == 0
Example #7
0
 def setUp(self):
     super(TestEmailPreview, self).setUp()
     assert self.client.login(email='*****@*****.**')
     addon = Addon.objects.get(pk=3615)
     self.topic = EmailPreviewTopic(addon)