From 2f7aa40d6f48f725eca629ff8a47eb8922467032 Mon Sep 17 00:00:00 2001 From: Folker Bernitt Date: Tue, 11 Aug 2015 10:17:55 +0200 Subject: Fixed unit test. --- service/test/integration/test_leap_mailstore.py | 2 +- .../unit/adapter/mailstore/test_leap_mailstore.py | 15 ++++++++++++- service/test/unit/adapter/test_mail_service.py | 26 ++++++++++++---------- 3 files changed, 29 insertions(+), 14 deletions(-) (limited to 'service/test') diff --git a/service/test/integration/test_leap_mailstore.py b/service/test/integration/test_leap_mailstore.py index 48764194..5b6c2f16 100644 --- a/service/test/integration/test_leap_mailstore.py +++ b/service/test/integration/test_leap_mailstore.py @@ -28,7 +28,7 @@ class LeapMailStoreTest(SoledadTestBase): self.maxDiff = None mail = load_mail_from_file('mbox00000000') mail_id = yield self._create_mail_in_soledad(mail) - expected_mail_dict = {'body': u'Dignissimos ducimus veritatis. Est tenetur consequatur quia occaecati. Vel sit sit voluptas.\n\nEarum distinctio eos. Accusantium qui sint ut quia assumenda. Facere dignissimos inventore autem sit amet. Pariatur voluptatem sint est.\n\nUt recusandae praesentium aspernatur. Exercitationem amet placeat deserunt quae consequatur eum. Unde doloremque suscipit quia.\n\n', 'header': {u'date': u'Tue, 21 Apr 2015 08:43:27 +0000 (UTC)', u'to': [u'carmel@murazikortiz.name'], u'x-tw-pixelated-tags': u'nite, macro, trash', u'from': u'darby.senger@zemlak.biz', u'subject': u'Itaque consequatur repellendus provident sunt quia.'}, 'ident': mail_id, 'status': [], 'tags': set([])} + expected_mail_dict = {'body': u'Dignissimos ducimus veritatis. Est tenetur consequatur quia occaecati. Vel sit sit voluptas.\n\nEarum distinctio eos. Accusantium qui sint ut quia assumenda. Facere dignissimos inventore autem sit amet. Pariatur voluptatem sint est.\n\nUt recusandae praesentium aspernatur. Exercitationem amet placeat deserunt quae consequatur eum. Unde doloremque suscipit quia.\n\n', 'header': {u'date': u'Tue, 21 Apr 2015 08:43:27 +0000 (UTC)', u'to': [u'carmel@murazikortiz.name'], u'x-tw-pixelated-tags': u'nite, macro, trash', u'from': u'darby.senger@zemlak.biz', u'subject': u'Itaque consequatur repellendus provident sunt quia.'}, 'ident': mail_id, 'status': [], 'tags': set([]), 'replying': {'all': {'cc-field': [], 'to-field': [u'carmel@murazikortiz.name', u'darby.senger@zemlak.biz']}, 'single': u'darby.senger@zemlak.biz'}, 'textPlainBody': u'Dignissimos ducimus veritatis. Est tenetur consequatur quia occaecati. Vel sit sit voluptas.\n\nEarum distinctio eos. Accusantium qui sint ut quia assumenda. Facere dignissimos inventore autem sit amet. Pariatur voluptatem sint est.\n\nUt recusandae praesentium aspernatur. Exercitationem amet placeat deserunt quae consequatur eum. Unde doloremque suscipit quia.\n\n'} result = yield self.mail_store.get_mail(mail_id, include_body=True) self.assertIsNotNone(result) diff --git a/service/test/unit/adapter/mailstore/test_leap_mailstore.py b/service/test/unit/adapter/mailstore/test_leap_mailstore.py index df9f8aeb..d8d724c6 100644 --- a/service/test/unit/adapter/mailstore/test_leap_mailstore.py +++ b/service/test/unit/adapter/mailstore/test_leap_mailstore.py @@ -75,7 +75,13 @@ class TestLeapMail(TestCase): 'ident': 'doc id', 'tags': {'foo', 'bar'}, 'status': [], - 'body': None + 'body': None, + 'textPlainBody': None, + 'replying': {'all': {'cc-field': [], + 'to-field': ['receiver@example.test', + 'receiver2@other.test', + 'test@example.test']}, + 'single': 'test@example.test'}, } self.assertEqual(expected, mail.as_dict()) @@ -95,6 +101,13 @@ class TestLeapMail(TestCase): expected_raw = 'To: receiver@example.test\nFrom: test@example.test\nSubject: A test Mail\n\nsome body content' self.assertEqual(expected_raw, result) + def test_headers_none_recipients_are_converted_to_empty_array(self): + mail = LeapMail('id', 'INBOX', {'To':None, 'Cc': None, 'Bcc': None}) + + self.assertEquals([], mail.headers['To']) + self.assertEquals([], mail.headers['Cc']) + self.assertEquals([], mail.headers['Bcc']) + class TestLeapMailStore(TestCase): def setUp(self): diff --git a/service/test/unit/adapter/test_mail_service.py b/service/test/unit/adapter/test_mail_service.py index ec386611..de140997 100644 --- a/service/test/unit/adapter/test_mail_service.py +++ b/service/test/unit/adapter/test_mail_service.py @@ -20,7 +20,7 @@ from pixelated.adapter.model.status import Status from pixelated.adapter.services.mail_service import MailService from test.support.test_helper import mail_dict, leap_mail -from mockito import mock, unstub, when, verify, verifyNoMoreInteractions, any, any as ANY +from mockito import mock, unstub, when, verify, verifyNoMoreInteractions, any as ANY from twisted.internet import defer @@ -44,8 +44,8 @@ class TestMailService(unittest.TestCase): unstub() def test_send_mail(self): - when(InputMail).from_dict(any()).thenReturn('inputmail') - when(self.mail_sender).sendmail(any()).thenReturn(defer.Deferred()) + when(InputMail).from_dict(ANY()).thenReturn('inputmail') + when(self.mail_sender).sendmail(ANY()).thenReturn(defer.Deferred()) sent_deferred = self.mail_service.send_mail(mail_dict()) @@ -59,12 +59,12 @@ class TestMailService(unittest.TestCase): def test_send_mail_removes_draft(self): mail = mock() when(mail).raw = 'raw mail' - when(InputMail).from_dict(any()).thenReturn(mail) + when(InputMail).from_dict(ANY()).thenReturn(mail) when(self.mail_store).delete_mail('12').thenReturn(defer.succeed(None)) when(self.mail_store).add_mail('SENT', ANY()).thenReturn(defer.succeed(None)) deferred_success = defer.succeed(None) - when(self.mail_sender).sendmail(any()).thenReturn(deferred_success) + when(self.mail_sender).sendmail(ANY()).thenReturn(deferred_success) yield self.mail_service.send_mail({'ident': '12'}) @@ -74,10 +74,10 @@ class TestMailService(unittest.TestCase): @defer.inlineCallbacks def test_send_mail_does_not_delete_draft_on_error(self): - when(InputMail).from_dict(any()).thenReturn('inputmail') + when(InputMail).from_dict(ANY()).thenReturn('inputmail') deferred_failure = defer.fail(Exception("Assume sending mail failed")) - when(self.mail_sender).sendmail(any()).thenReturn(deferred_failure) + when(self.mail_sender).sendmail(ANY()).thenReturn(deferred_failure) try: yield self.mail_service.send_mail({'ident': '12'}) @@ -86,19 +86,21 @@ class TestMailService(unittest.TestCase): verify(self.mail_sender).sendmail("inputmail") verifyNoMoreInteractions(self.drafts) + @defer.inlineCallbacks def test_mark_as_read(self): mail = LeapMail('id', 'INBOX') - when(self.mail_store).get_mail(any()).thenReturn(mail) - self.mail_service.mark_as_read(1) + when(self.mail_store).get_mail(ANY(), include_body=True).thenReturn(mail) + yield self.mail_service.mark_as_read(1) - verify(self.mail_store).update_mail(mail) self.assertIn(Status.SEEN, mail.flags) + verify(self.mail_store).update_mail(mail) + @defer.inlineCallbacks def test_delete_mail(self): mail_to_delete = LeapMail(1, 'INBOX') - when(self.mail_store).get_mail(1).thenReturn(defer.succeed(mail_to_delete)) + when(self.mail_store).get_mail(1, include_body=True).thenReturn(defer.succeed(mail_to_delete)) - self.mail_service.delete_mail(1) + yield self.mail_service.delete_mail(1) verify(self.mail_store).move_mail_to_mailbox(1, 'TRASH') -- cgit v1.2.3