diff options
Diffstat (limited to 'service/test')
-rw-r--r-- | service/test/adapter/mail_service_test.py | 19 | ||||
-rw-r--r-- | service/test/adapter/pixelated_mail_test.py | 7 | ||||
-rw-r--r-- | service/test/user_agent_test.py | 34 |
3 files changed, 60 insertions, 0 deletions
diff --git a/service/test/adapter/mail_service_test.py b/service/test/adapter/mail_service_test.py index d736e0d0..225c08f8 100644 --- a/service/test/adapter/mail_service_test.py +++ b/service/test/adapter/mail_service_test.py @@ -77,3 +77,22 @@ class TestMailService(unittest.TestCase): # then self.assertEqual(1, len(mails)) self.assertEqual(set([Tag('custom_tag')]), mails[0].tags) + + + def test_send_mail(self): + leap_session = Mock(account_email=lambda: "username@leap_server") + mail_service = MailService(leap_session) + mail_service._create_smtp_server = lambda: None + mail_service._create_smtp_server = lambda: None + + mail_service.smtp_client = Mock() + mail = Mock( + to_smtp_format=lambda _from=None: "mail as string", + get_to=lambda: 'to@pixelated.org' + ) + + mail_service.send(mail) + + mail_service.smtp_client.sendmail.assert_called_with('username@leap_server', 'to@pixelated.org', "mail as string") + + diff --git a/service/test/adapter/pixelated_mail_test.py b/service/test/adapter/pixelated_mail_test.py index b6bf623f..7dfdc6d9 100644 --- a/service/test/adapter/pixelated_mail_test.py +++ b/service/test/adapter/pixelated_mail_test.py @@ -85,3 +85,10 @@ class TestPixelatedMail(unittest.TestCase): self.assertRegexpMatches(mime_multipart.as_string(), "\nSubject: Oi\n") self.assertRegexpMatches(mime_multipart.as_string(), "\nEste \xe9 o corpo") + def test_smtp_format(self): + mail = PixelatedMail.from_dict(self.mail_dict) + + smtp_format = mail.to_smtp_format(_from='pixelated@org') + + self.assertRegexpMatches(smtp_format, "\nFrom: pixelated@org") + diff --git a/service/test/user_agent_test.py b/service/test/user_agent_test.py new file mode 100644 index 00000000..7c701a54 --- /dev/null +++ b/service/test/user_agent_test.py @@ -0,0 +1,34 @@ +# +# Copyright (c) 2014 ThoughtWorks, Inc. +# +# Pixelated is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# Pixelated is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with Pixelated. If not, see <http://www.gnu.org/licenses/>. + +import unittest +import pixelated.user_agent +from mock import Mock +import pixelated.adapter.pixelated_mail + + +class UserAgentTest(unittest.TestCase): + + def setUp(self): + self.app = pixelated.user_agent.app.test_client() + + def test_send_mail_should_add_user_account(self): + pixelated.user_agent.mail_service = Mock() + pixelated.adapter.pixelated_mail.from_dict = lambda self: 'mail' + + self.app.post('/mails', data='{}', content_type="application/json") + + pixelated.user_agent.mail_service.send.assert_called_with('mail') |