From da3cb330b6959cb7c84b6200fa2041aa9e4f7c9c Mon Sep 17 00:00:00 2001 From: Folker Bernitt Date: Tue, 21 Jul 2015 08:00:34 +0000 Subject: Fixed get_lastuid in test_soledad_querier.py. --- service/test/unit/adapter/test_soledad_querier.py | 51 ++++++++++++++++++----- 1 file changed, 40 insertions(+), 11 deletions(-) (limited to 'service/test/unit/adapter/test_soledad_querier.py') diff --git a/service/test/unit/adapter/test_soledad_querier.py b/service/test/unit/adapter/test_soledad_querier.py index 160cb767..e15484d4 100644 --- a/service/test/unit/adapter/test_soledad_querier.py +++ b/service/test/unit/adapter/test_soledad_querier.py @@ -13,19 +13,24 @@ # # You should have received a copy of the GNU Affero General Public License # along with Pixelated. If not, see . -import unittest +from twisted.trial import unittest import json import base64 import quopri +from uuid import uuid4 +import pixelated.adapter.soledad.soledad_facade_mixin from pixelated.adapter.soledad.soledad_querier import SoledadQuerier -from mockito import mock, when, any +from mockito import mock, when, any, unstub from twisted.internet import defer import os class SoledadQuerierTest(unittest.TestCase): + def tearDown(self): + unstub() + @defer.inlineCallbacks def test_extract_parts(self): soledad = mock() @@ -135,27 +140,51 @@ class SoledadQuerierTest(unittest.TestCase): yield call_with_bad_parameters(querier.idents_by_mailbox) yield call_with_bad_parameters(querier.get_mbox) - def test_get_lastuid(self): + def test_get_lastuid_broken(self): + # FIXME this is completely out of sync with the new implementation soledad = mock() mbox = mock() mbox.content = {'lastuid': 0} when(soledad).get_from_index('by-type-and-mbox', 'mbox', 'INBOX').thenReturn([mbox]) querier = SoledadQuerier(soledad) - self.assertEquals(querier.get_lastuid(querier.get_mbox('INBOX')[0]), 0) + self.assertEquals(querier.get_lastuid(querier.get_mbox('INBOX')), 0) mbox.content = {'lastuid': 1} - self.assertEquals(querier.get_lastuid(querier.get_mbox('INBOX')[0]), 1) + self.assertEquals(querier.get_lastuid(querier.get_mbox('INBOX')), 1) + + @defer.inlineCallbacks + def test_get_lastuid(self): + soledad = mock() + mbox = mock() + indexer = mock() + mbox.content = {'uuid': str(uuid4())} + when(soledad).get_from_index('by-type-and-mbox', 'mbox', 'INBOX').thenReturn(defer.succeed([mbox])) + querier = SoledadQuerier(soledad) - def test_create_mail_increments_uid(self): + when(pixelated.adapter.soledad.soledad_facade_mixin).MailboxIndexer(soledad).thenReturn(indexer) + when(indexer).create_table(any()).thenReturn(defer.succeed(None)) + when(indexer).get_last_uid(any()).thenReturn(defer.succeed(42)) + + last_uid = (yield querier.get_lastuid('INBOX')) + + self.assertEquals(42, last_uid) + + @defer.inlineCallbacks + def test_create_mail(self): soledad = mock() mbox = mock() mail = mock() + indexer = mock() + mbox.content = {'uuid': 'some uuid'} when(mail).get_for_save(next_uid=any(), mailbox='INBOX').thenReturn([]) - mbox.content = {'lastuid': 0} - when(soledad).get_from_index('by-type-and-mbox', 'mbox', 'INBOX').thenReturn([mbox]) + when(soledad).get_from_index('by-type-and-mbox', 'mbox', 'INBOX').thenReturn(defer.succeed([mbox])) querier = SoledadQuerier(soledad) when(querier).mail(any()).thenReturn([]) - self.assertEquals(querier.get_lastuid(querier.get_mbox('INBOX')[0]), 0) - querier.create_mail(mail, 'INBOX') - self.assertEquals(querier.get_lastuid(querier.get_mbox('INBOX')[0]), 1) + when(pixelated.adapter.soledad.soledad_facade_mixin).MailboxIndexer(soledad).thenReturn(indexer) + when(indexer).create_table(any()).thenReturn('') + when(indexer).get_last_uid('some uuid').thenReturn(defer.succeed(42)) + + mail_result = yield querier.create_mail(mail, 'INBOX') + + self.assertEquals([], mail_result) -- cgit v1.2.3