summaryrefslogtreecommitdiff
path: root/service/pixelated/resources
diff options
context:
space:
mode:
authorFolker Bernitt <fbernitt@thoughtworks.com>2015-07-22 09:37:24 +0000
committerFolker Bernitt <fbernitt@thoughtworks.com>2015-08-11 17:00:27 +0200
commit414f210a908427da10a90fb4c8c83d58e1496b26 (patch)
tree45b6eb2e12a15232f732993658cbe9276cd4b4cc /service/pixelated/resources
parentcb0c0b7905be251191e9ef78908d84ed617283c8 (diff)
Fixed test_delete_mail integration test.
Diffstat (limited to 'service/pixelated/resources')
-rw-r--r--service/pixelated/resources/mail_resource.py11
-rw-r--r--service/pixelated/resources/mails_resource.py14
2 files changed, 21 insertions, 4 deletions
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):