From 46ed5e1731fa0295a7f4b612457069db36bb8e64 Mon Sep 17 00:00:00 2001 From: Folker Bernitt Date: Sun, 9 Aug 2015 22:09:08 +0200 Subject: Worked on integration tests. --- service/pixelated/adapter/services/mail_service.py | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) (limited to 'service/pixelated/adapter/services/mail_service.py') diff --git a/service/pixelated/adapter/services/mail_service.py b/service/pixelated/adapter/services/mail_service.py index 6b011e11..1d161958 100644 --- a/service/pixelated/adapter/services/mail_service.py +++ b/service/pixelated/adapter/services/mail_service.py @@ -15,6 +15,7 @@ # along with Pixelated. If not, see . from twisted.internet import defer from pixelated.adapter.model.mail import InputMail +from pixelated.adapter.model.status import Status from pixelated.adapter.services.tag_service import extract_reserved_tags @@ -77,7 +78,11 @@ class MailService(object): @defer.inlineCallbacks def mail_exists(self, mail_id): - defer.returnValue(not(not((yield self.querier.get_header_by_chash(mail_id))))) + try: + mail = yield self.mail_store.get_mail(mail_id) + defer.returnValue(mail is not None) + except Exception, e: + defer.returnValue(False) @defer.inlineCallbacks def send_mail(self, content_dict): @@ -91,20 +96,21 @@ class MailService(object): @defer.inlineCallbacks def move_to_sent(self, last_draft_ident, mail): if last_draft_ident: - yield (yield self.mailboxes.drafts).remove(last_draft_ident) - defer.returnValue((yield (yield self.mailboxes.sent).add(mail))) + yield self.mail_store.delete_mail(last_draft_ident) + sent_mail = yield self.mail_store.add_mail('SENT', mail.raw) + defer.returnValue(sent_mail) @defer.inlineCallbacks def mark_as_read(self, mail_id): mail = yield self.mail(mail_id) - yield mail.mark_as_read() - self.search_engine.index_mail(mail) + mail.flags.add(Status.SEEN) + yield self.mail_store.update_mail(mail) @defer.inlineCallbacks def mark_as_unread(self, mail_id): mail = yield self.mail(mail_id) - yield mail.mark_as_unread() - self.search_engine.index_mail(mail) + mail.flags.remove(Status.SEEN) + yield self.mail_store.update_mail(mail) @defer.inlineCallbacks def delete_mail(self, mail_id): -- cgit v1.2.3