diff options
author | Bruno Wagner Goncalves <bwagner@thoughtworks.com> | 2014-08-07 18:31:22 -0300 |
---|---|---|
committer | Bruno Wagner Goncalves <bwagner@thoughtworks.com> | 2014-08-07 18:32:15 -0300 |
commit | 5a0d81e35b97113df983d8fd3fcbdb995606f56a (patch) | |
tree | bfb2227e302931e51e4d893e066fef9020050bbf /service/test/adapter | |
parent | d4cf82682a1cc586628922f18fd0f501772717eb (diff) |
Closes #2 +@shyba +@bwagner - Implemented behavior when calling get /mails, only works with basic tag search yet
Diffstat (limited to 'service/test/adapter')
-rw-r--r-- | service/test/adapter/mail_service_test.py | 53 |
1 files changed, 47 insertions, 6 deletions
diff --git a/service/test/adapter/mail_service_test.py b/service/test/adapter/mail_service_test.py index dfaee058..84822038 100644 --- a/service/test/adapter/mail_service_test.py +++ b/service/test/adapter/mail_service_test.py @@ -1,16 +1,57 @@ import sys import os import unittest +from mock import patch +from mock import Mock from app.adapter.mail_service import MailService +class MailboxCollision(Exception): + pass + + +class MailboxException(Exception): + pass + + class TestMailService(unittest.TestCase): - def test_initialization(self): - mail_service = MailService() + def setUp(self): + self.mail_service = MailService() + + def test_request_mail_has_mailbox(self): + with patch.object(self.mail_service, '_switch_mailbox', return_value=Mock()): + mails = self.mail_service.mails({'tags': ['inbox']}) + self.assertIsNotNone(mails) + + def test_request_mail_has_mailbox(self): + with patch.object(self.mail_service, '_switch_mailbox', return_value=None): + mails = self.mail_service.mails({'tags': ['inbox']}) + self.assertEqual(mails, []) + + def test_switch_mailbox_special_tag(self): + mailbox = Mock() + with patch.object(self.mail_service.account, 'getMailbox', return_value=mailbox): + new_mailbox = self.mail_service._switch_mailbox('sent') + self.assertEqual(new_mailbox, mailbox) + + def test_switch_mailbox_custom_tag_exists(self): + mailbox = Mock() + with patch.object(self.mail_service.account, 'getMailbox', return_value=mailbox): + returned_mailbox = self.mail_service._switch_mailbox('custom') + self.assertEqual(mailbox, returned_mailbox) + + def test_switch_mailbox_custom_tag_not_exists(self): + mailbox = Mock() + with patch.object(self.mail_service.account, 'getMailbox', side_effect=MailboxException()): + mailbox = self.mail_service._switch_mailbox('custom') + self.assertIsNone(mailbox) + + def test_create_new_mailbox(self): + with patch.object(self.mail_service.account, 'addMailbox', return_value=True) as addMailbox: + self.assertTrue(self.mail_service._create_mailbox('teste')) - def test_receive_mail(self): - mail_service = MailService() - mails = mail_service.mails("") - self.assertIsNotNone(mails) + def test_create_existing_mailbox(self): + with patch.object(self.mail_service.account, 'addMailbox', side_effect=MailboxCollision()) as addMailbox: + self.assertFalse(self.mail_service._create_mailbox('teste')) |