summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--service/pixelated/adapter/services/mail_service.py6
-rw-r--r--service/pixelated/adapter/services/mailboxes.py11
-rw-r--r--service/test/unit/adapter/test_mailboxes.py16
3 files changed, 19 insertions, 14 deletions
diff --git a/service/pixelated/adapter/services/mail_service.py b/service/pixelated/adapter/services/mail_service.py
index 708297b9..23cbc5f7 100644
--- a/service/pixelated/adapter/services/mail_service.py
+++ b/service/pixelated/adapter/services/mail_service.py
@@ -29,13 +29,13 @@ class MailService(object):
@defer.inlineCallbacks
def all_mails(self):
- defer.returnValue((yield self.mail_store.all_mails()))
+ defer.returnValue((yield self.querier.all_mails()))
@defer.inlineCallbacks
def mails(self, query, window_size, page):
mail_ids, total = self.search_engine.search(query, window_size, page)
- mails = yield self.mail_store.get_mails(mail_ids)
+ mails = yield self.querier.mails(mail_ids)
defer.returnValue((mails, total))
@@ -72,7 +72,7 @@ class MailService(object):
@defer.inlineCallbacks
def mail_exists(self, mail_id):
- defer.returnValue(not (yield self.mail_store.get_mail(mail_id)))
+ defer.returnValue(not(not((yield self.querier.get_header_by_chash(mail_id)))))
@defer.inlineCallbacks
def send_mail(self, content_dict):
diff --git a/service/pixelated/adapter/services/mailboxes.py b/service/pixelated/adapter/services/mailboxes.py
index ce54055a..52c9c212 100644
--- a/service/pixelated/adapter/services/mailboxes.py
+++ b/service/pixelated/adapter/services/mailboxes.py
@@ -78,13 +78,14 @@ class Mailboxes(object):
return self._move_to(mail_id, self.trash)
def move_to_inbox(self, mail_id):
- # return self._move_to(mail_id, self.inbox)
- return self._move_to(mail_id, 'INBOX')
+ return self._move_to(mail_id, self.inbox)
@defer.inlineCallbacks
- def _move_to(self, mail_id, mailbox_name):
- yield self.mail_store.add_mailbox(mailbox_name)
- mail = yield self.mail_store.move_mail_to_mailbox(mail_id, mailbox_name)
+ def _move_to(self, mail_id, mailbox):
+ mailbox = yield mailbox
+ mail = yield self.querier.mail(mail_id)
+ mail.set_mailbox(mailbox.mailbox_name)
+ mail.save()
defer.returnValue(mail)
def mail(self, mail_id):
diff --git a/service/test/unit/adapter/test_mailboxes.py b/service/test/unit/adapter/test_mailboxes.py
index 4072893f..efd3df6b 100644
--- a/service/test/unit/adapter/test_mailboxes.py
+++ b/service/test/unit/adapter/test_mailboxes.py
@@ -13,12 +13,13 @@
#
# You should have received a copy of the GNU Affero General Public License
# along with Pixelated. If not, see <http://www.gnu.org/licenses/>.
-from twisted.trial import unittest
-from pixelated.adapter.mailstore.leap_mailstore import LeapMail
+import unittest
+from pixelated.adapter.model.mail import PixelatedMail
from pixelated.adapter.services.mailboxes import Mailboxes
from mockito import mock, when, verify
from twisted.internet import defer
+from test.support import test_helper
from mock import MagicMock
@@ -33,8 +34,11 @@ class PixelatedMailboxesTest(unittest.TestCase):
@defer.inlineCallbacks
def test_move_to_inbox(self):
- when(self.mail_store).move_mail_to_mailbox(1, 'INBOX').thenReturn(defer.succeed(LeapMail('2', None, 'OTHER')))
+ mail = PixelatedMail.from_soledad(*test_helper.leap_mail(), soledad_querier=self.querier)
+ when(self.querier).mail(1).thenReturn(mail)
+ when(mail).save().thenReturn(None)
- moved_mail = yield self.mailboxes.move_to_inbox(1)
-
- self.assertEqual('2', moved_mail.mail_id)
+ mail.set_mailbox('TRASH')
+ recovered_mail = yield self.mailboxes.move_to_inbox(1)
+ self.assertEquals('INBOX', recovered_mail.mailbox_name)
+ verify(mail).save()