From 414f210a908427da10a90fb4c8c83d58e1496b26 Mon Sep 17 00:00:00 2001 From: Folker Bernitt Date: Wed, 22 Jul 2015 09:37:24 +0000 Subject: Fixed test_delete_mail integration test. --- service/pixelated/resources/mail_resource.py | 11 +++++++++-- service/pixelated/resources/mails_resource.py | 14 ++++++++++++-- 2 files changed, 21 insertions(+), 4 deletions(-) (limited to 'service/pixelated/resources') diff --git a/service/pixelated/resources/mail_resource.py b/service/pixelated/resources/mail_resource.py index f11862af..436842fb 100644 --- a/service/pixelated/resources/mail_resource.py +++ b/service/pixelated/resources/mail_resource.py @@ -2,6 +2,7 @@ import json from pixelated.resources import respond_json, respond_json_deferred from twisted.web.resource import Resource from twisted.web.server import NOT_DONE_YET +from twisted.python.log import err class MailTags(Resource): @@ -42,8 +43,14 @@ class Mail(Resource): return NOT_DONE_YET def render_DELETE(self, request): - self._mail_service.delete_mail(self._mail_id) - return respond_json(None, request) + def response_failed(failure): + err(failure, 'something failed') + request.finish() + + d = self._mail_service.delete_mail(self._mail_id) + d.addCallback(lambda _: respond_json_deferred(None, request)) + d.addErrback(response_failed) + return NOT_DONE_YET class MailResource(Resource): diff --git a/service/pixelated/resources/mails_resource.py b/service/pixelated/resources/mails_resource.py index 27232ffc..1056dcdb 100644 --- a/service/pixelated/resources/mails_resource.py +++ b/service/pixelated/resources/mails_resource.py @@ -6,6 +6,7 @@ from pixelated.resources import respond_json, respond_json_deferred from twisted.web.resource import Resource from twisted.web import server from twisted.internet import defer +from twisted.python.log import err from leap.common.events import ( register, catalog as events @@ -60,10 +61,19 @@ class MailsDeleteResource(Resource): self._mail_service = mail_service def render_POST(self, request): + def response_failed(failure): + err(failure, 'something failed') + request.finish() + idents = json.loads(request.content.read())['idents'] + deferreds = [] for ident in idents: - self._mail_service.delete_mail(ident) - return respond_json(None, request) + deferreds.append(self._mail_service.delete_mail(ident)) + + d = defer.gatherResults(deferreds, consumeErrors=True) + d.addCallback(lambda _: respond_json_deferred(None, request)) + d.addErrback(response_failed) + return NOT_DONE_YET class MailsRecoverResource(Resource): -- cgit v1.2.3