amey-sam/Flask-MailGun

View on GitHub
tests/test_send.py

Summary

Maintainability
A
0 mins
Test Coverage
# -*- coding: utf-8 -*-
"""
Created on Fri Apr 21 12:06:50 2017

@author: richard
"""
import unittest

from tests import MailgunTestBase
from flask_mailgun.message import Message


class SendMessageTest(MailgunTestBase):
    def test_send_simple_message(self):
        message = Message(subject="Hello",
                          sender="from@example.com",
                          recipients=["u1@example.com", "u2@example.com"],
                          bcc=["foo@bar.com"],
                          body="Testing some Mailgun awesomness!")
        self.mailgun.send(message)
        self.assertTrue(self.mock_post.called)
        url = self.mock_post.call_args[0][0]
        auth = self.mock_post.call_args[1]['auth']
        data = self.mock_post.call_args[1]['data']
        # files = self.mock_post.call_args[1]['files']
        self.assertEqual(url, 'https://api.mailgun.net/v3/example.com/messages')
        self.assertEqual(auth, ('api', b'testtesttest'))
        # self.assertEqual(files, [])
        self.assertEqual(data['from'], message.sender)
        self.assertEqual(data['to'], message.recipients)
        self.assertEqual(data['bcc'], message.bcc)
        self.assertEqual(data['cc'], [])
        self.assertEqual(data['subject'], message.subject)
        self.assertEqual(data['text'], message.body)

if __name__ == '__main__':
    unittest.main()