From f4d7541c9b6dcf67b57b13f7ca7434ec68eeb59c Mon Sep 17 00:00:00 2001 From: Roald de Vries Date: Thu, 6 Oct 2016 17:03:44 -0300 Subject: use test client in test case through composition instead of inheritance --- .../adapter/mailstore/test_leap_attachment_store.py | 10 ++++++---- .../unit/adapter/mailstore/test_leap_mailstore.py | 21 +++++++++++++-------- 2 files changed, 19 insertions(+), 12 deletions(-) (limited to 'service/test/unit/adapter') diff --git a/service/test/unit/adapter/mailstore/test_leap_attachment_store.py b/service/test/unit/adapter/mailstore/test_leap_attachment_store.py index 4e9b56b1..f442b687 100644 --- a/service/test/unit/adapter/mailstore/test_leap_attachment_store.py +++ b/service/test/unit/adapter/mailstore/test_leap_attachment_store.py @@ -20,13 +20,14 @@ import u1db from leap.mail.adaptors.soledad_indexes import MAIL_INDEXES from leap.soledad.common.document import SoledadDocument +from mock import patch from mockito import mock, when, verify -import test.support.mockito from twisted.internet import defer from twisted.trial.unittest import TestCase from leap.mail.adaptors.soledad import SoledadMailAdaptor, MailboxWrapper, ContentDocWrapper from pixelated.adapter.mailstore.leap_attachment_store import LeapAttachmentStore +from test.support.mockito import AnswerSelector class TestLeapAttachmentStore(TestCase): @@ -37,7 +38,8 @@ class TestLeapAttachmentStore(TestCase): self.mbox_uuid_by_name = {} self.mbox_soledad_docs = [] - when(self.soledad).get_from_index('by-type', 'mbox').thenAnswer(lambda: defer.succeed(self.mbox_soledad_docs)) + with patch('mockito.invocation.AnswerSelector', AnswerSelector): + when(self.soledad).get_from_index('by-type', 'mbox').thenAnswer(lambda: defer.succeed(self.mbox_soledad_docs)) self._mock_get_mailbox('INBOX') @defer.inlineCallbacks @@ -134,7 +136,7 @@ class TestLeapAttachmentStore(TestCase): def _mock_get_soledad_doc(self, doc_id, doc): soledad_doc = SoledadDocument(doc_id, json=json.dumps(doc.serialize())) - # when(self.soledad).get_doc(doc_id).thenReturn(defer.succeed(soledad_doc)) - when(self.soledad).get_doc(doc_id).thenAnswer(lambda: defer.succeed(soledad_doc)) + with patch('mockito.invocation.AnswerSelector', AnswerSelector): + when(self.soledad).get_doc(doc_id).thenAnswer(lambda: defer.succeed(soledad_doc)) self.doc_by_id[doc_id] = soledad_doc diff --git a/service/test/unit/adapter/mailstore/test_leap_mailstore.py b/service/test/unit/adapter/mailstore/test_leap_mailstore.py index bde4f59b..62c8ac7a 100644 --- a/service/test/unit/adapter/mailstore/test_leap_mailstore.py +++ b/service/test/unit/adapter/mailstore/test_leap_mailstore.py @@ -30,14 +30,15 @@ from twisted.internet.defer import FirstError from twisted.trial.unittest import TestCase from leap.mail import constants from twisted.internet import defer +from mock import patch from mockito import mock, when, verify, any as ANY -import test.support.mockito from leap.mail.adaptors.soledad import SoledadMailAdaptor, MailboxWrapper, ContentDocWrapper import pkg_resources from leap.mail.mail import Message from pixelated.adapter.mailstore import underscore_uuid from pixelated.adapter.mailstore.leap_mailstore import LeapMailStore, LeapMail +from test.support.mockito import AnswerSelector class TestLeapMailStore(TestCase): @@ -48,12 +49,14 @@ class TestLeapMailStore(TestCase): self.mbox_uuid_by_name = {} self.mbox_soledad_docs = [] - when(self.soledad).get_from_index('by-type', 'mbox').thenAnswer(lambda: defer.succeed(self.mbox_soledad_docs)) + with patch('mockito.invocation.AnswerSelector', AnswerSelector): + when(self.soledad).get_from_index('by-type', 'mbox').thenAnswer(lambda: defer.succeed(self.mbox_soledad_docs)) self._mock_get_mailbox('INBOX') @defer.inlineCallbacks def test_get_mail_not_exist(self): - when(self.soledad).get_doc(ANY()).thenAnswer(lambda: defer.succeed(None)) + with patch('mockito.invocation.AnswerSelector', AnswerSelector): + when(self.soledad).get_doc(ANY()).thenAnswer(lambda: defer.succeed(None)) store = LeapMailStore(self.soledad) mail = yield store.get_mail(_format_mdoc_id(uuid4(), 1)) @@ -171,8 +174,9 @@ class TestLeapMailStore(TestCase): when(self.soledad).list_indexes().thenReturn(defer.succeed(MAIL_INDEXES)).thenReturn(defer.succeed(MAIL_INDEXES)) when(self.soledad).get_from_index('by-type-and-mbox', 'mbox', 'TEST').thenReturn(defer.succeed([])) self._mock_create_soledad_doc(self.mbox_uuid, MailboxWrapper(mbox='TEST')) - when(self.soledad).get_doc(self.mbox_uuid).thenAnswer(lambda: defer.succeed(self.doc_by_id[self.mbox_uuid])) - when(self.soledad).put_doc(ANY()).thenAnswer(lambda: defer.succeed(None)) + with patch('mockito.invocation.AnswerSelector', AnswerSelector): + when(self.soledad).get_doc(self.mbox_uuid).thenAnswer(lambda: defer.succeed(self.doc_by_id[self.mbox_uuid])) + when(self.soledad).put_doc(ANY()).thenAnswer(lambda: defer.succeed(None)) store = LeapMailStore(self.soledad) mbox = yield store.add_mailbox('TEST') @@ -388,7 +392,8 @@ class TestLeapMailStore(TestCase): def test_all_mail_graceful_error_handling(self): mail_id, fdoc_id = self._add_mail_fixture_to_soledad_from_file('mbox00000000') when(self.soledad).get_from_index('by-type', 'meta').thenReturn(defer.succeed([self.doc_by_id[mail_id]])) - when(self.soledad).get_doc(self.doc_by_id[mail_id].content['cdocs'][0]).thenAnswer(lambda: defer.fail(Exception('fail loading attachment'))) + with patch('mockito.invocation.AnswerSelector', AnswerSelector): + when(self.soledad).get_doc(self.doc_by_id[mail_id].content['cdocs'][0]).thenAnswer(lambda: defer.fail(Exception('fail loading attachment'))) store = LeapMailStore(self.soledad) mails = yield store.all_mails(gracefully_ignore_errors=True) @@ -476,8 +481,8 @@ class TestLeapMailStore(TestCase): def _mock_get_soledad_doc(self, doc_id, doc): soledad_doc = SoledadDocument(doc_id, json=json.dumps(doc.serialize())) - # when(self.soledad).get_doc(doc_id).thenReturn(defer.succeed(soledad_doc)) - when(self.soledad).get_doc(doc_id).thenAnswer(lambda: defer.succeed(soledad_doc)) + with patch('mockito.invocation.AnswerSelector', AnswerSelector): + when(self.soledad).get_doc(doc_id).thenAnswer(lambda: defer.succeed(soledad_doc)) self.doc_by_id[doc_id] = soledad_doc -- cgit v1.2.3