def test_send_email_and_fail(self, requests_post): backend = MailgunBackend() backend.open() email_message = EmailMultiAlternatives('subject', 'body', 'from_email', ['to_email']) email_message.attach_alternative('html_body', 'text/html') with self.assertRaises(MailgunAPIError): backend.send_messages([email_message]) backend.close()
def test_send_no_emails(self, requests_post): backend = MailgunBackend() backend.open() count = backend.send_messages([]) self.assertEqual(count, None) backend.close() requests_post.assert_not_called()
def test_send_no_recipients(self, requests_post): backend = MailgunBackend() backend.open() email_message = EmailMultiAlternatives('subject', 'body', 'from_email', []) email_message.attach_alternative('html_body', 'text/html') count = backend.send_messages([email_message]) backend.close() self.assertEqual(count, 0)
def test_send_attachment(self, requests_post): backend = MailgunBackend() backend.open() email_message = EmailMultiAlternatives('subject', 'body', 'from_email', ['to_email']) email_message.attach_alternative('html_body', 'text/html') email_message.attach('test.txt', '<test></test>', 'text/html') count = backend.send_messages([email_message]) backend.close() self.assertEqual(count, 1)
def test_send_email_and_fail_silently(self, requests_post): backend = MailgunBackend(fail_silently=True) backend.open() email_message = EmailMultiAlternatives('subject', 'body', 'from_email', ['to_email']) email_message.attach_alternative('html_body', 'text/html') count = backend.send_messages([email_message]) backend.close() self.assertEqual(count, 0) self.assertEqual(requests_post.call_args, mock.call( u'https://api.mailgun.net/v3/server/messages', auth=(u'api', 'key'), data=[(u'to', u'to_email'), (u'text', 'body'), (u'subject', 'subject'), (u'from', u'from_email'), (u'html', 'html_body')], headers=None))