summaryrefslogtreecommitdiff
path: root/service/test/integration/test_drafts.py
diff options
context:
space:
mode:
authorVictor Shyba <victor.shyba@gmail.com>2015-07-18 00:19:25 +0200
committerFolker Bernitt <fbernitt@thoughtworks.com>2015-08-11 17:00:24 +0200
commitd415a3a89535278ee455c79f6ddf912cd383e4f0 (patch)
treecf06351c9c17e903ac8244b6e05b144ad2329744 /service/test/integration/test_drafts.py
parentad65388274feaea5f4e0c3df0aafeb800825491e (diff)
fix integration.test_drafts
Diffstat (limited to 'service/test/integration/test_drafts.py')
-rw-r--r--service/test/integration/test_drafts.py68
1 files changed, 34 insertions, 34 deletions
diff --git a/service/test/integration/test_drafts.py b/service/test/integration/test_drafts.py
index 3a0f120b..d0505d75 100644
--- a/service/test/integration/test_drafts.py
+++ b/service/test/integration/test_drafts.py
@@ -16,7 +16,7 @@
from test.support.integration import SoledadTestBase, MailBuilder
from mockito import unstub, when, any
-from twisted.internet.defer import Deferred
+from twisted.internet import defer
class DraftsTest(SoledadTestBase):
@@ -24,14 +24,15 @@ class DraftsTest(SoledadTestBase):
def tearDown(self):
unstub()
+ @defer.inlineCallbacks
def test_post_sends_mail_and_deletes_previous_draft_if_it_exists(self):
- # act is if sending the mail by SMTP succeeded
- sendmail_deferred = Deferred()
+ # act as if sending the mail by SMTP succeeded
+ sendmail_deferred = defer.Deferred()
when(self.mail_sender).sendmail(any()).thenReturn(sendmail_deferred)
# creates one draft
first_draft = MailBuilder().with_subject('First draft').build_json()
- first_draft_ident = self.put_mail(first_draft)[0]['ident']
+ first_draft_ident = (yield self.put_mail(first_draft)[0])['ident']
# sends an updated version of the draft
second_draft = MailBuilder().with_subject('Second draft').with_ident(first_draft_ident).build_json()
@@ -39,69 +40,68 @@ class DraftsTest(SoledadTestBase):
sendmail_deferred.callback(None) # SMTP succeeded
- def onSuccess(mail):
- sent_mails = self.get_mails_by_tag('sent')
- drafts = self.get_mails_by_tag('drafts')
+ yield deferred_res
- # make sure there is one email in the sent mailbox and it is the second draft
- self.assertEquals(1, len(sent_mails))
- self.assertEquals('Second draft', sent_mails[0].subject)
+ sent_mails = yield self.get_mails_by_tag('sent')
+ drafts = yield self.get_mails_by_tag('drafts')
- # make sure that there are no drafts in the draft mailbox
- self.assertEquals(0, len(drafts))
+ # make sure there is one email in the sent mailbox and it is the second draft
+ self.assertEquals(1, len(sent_mails))
+ self.assertEquals('Second draft', sent_mails[0].subject)
- deferred_res.addCallback(onSuccess)
- return deferred_res
+ # make sure that there are no drafts in the draft mailbox
+ self.assertEquals(0, len(drafts))
+ @defer.inlineCallbacks
def test_post_sends_mail_even_when_draft_does_not_exist(self):
- # act is if sending the mail by SMTP succeeded
- sendmail_deferred = Deferred()
+ # act as if sending the mail by SMTP succeeded
+ sendmail_deferred = defer.Deferred()
when(self.mail_sender).sendmail(any()).thenReturn(sendmail_deferred)
first_draft = MailBuilder().with_subject('First draft').build_json()
- deferred_res = self.post_mail(first_draft)
+ res = self.post_mail(first_draft)
sendmail_deferred.callback(True)
+ yield res
- def onSuccess(result):
- sent_mails = self.get_mails_by_tag('sent')
- drafts = self.get_mails_by_tag('drafts')
-
- self.assertEquals(1, len(sent_mails))
- self.assertEquals('First draft', sent_mails[0].subject)
- self.assertEquals(0, len(drafts))
+ sent_mails = yield self.get_mails_by_tag('sent')
+ drafts = yield self.get_mails_by_tag('drafts')
- deferred_res.addCallback(onSuccess)
- return deferred_res
+ self.assertEquals(1, len(sent_mails))
+ self.assertEquals('First draft', sent_mails[0].subject)
+ self.assertEquals(0, len(drafts))
def post_mail(self, data):
deferred_res, req = self.post('/mails', data)
- deferred_res.callback(None)
return deferred_res
+ @defer.inlineCallbacks
def test_put_creates_a_draft_if_it_does_not_exist(self):
mail = MailBuilder().with_subject('A new draft').build_json()
- self.put_mail(mail)
- mails = self.get_mails_by_tag('drafts')
+ yield self.put_mail(mail)[0]
+ mails = yield self.get_mails_by_tag('drafts')
self.assertEquals('A new draft', mails[0].subject)
+ @defer.inlineCallbacks
def test_put_updates_draft_if_it_already_exists(self):
draft = MailBuilder().with_subject('First draft').build_json()
- draft_ident = self.put_mail(draft)[0]['ident']
+ draft_ident = (yield self.put_mail(draft)[0])['ident']
updated_draft = MailBuilder().with_subject('First draft edited').with_ident(draft_ident).build_json()
- self.put_mail(updated_draft)
+ yield self.put_mail(updated_draft)[0]
- drafts = self.get_mails_by_tag('drafts')
+ drafts = yield self.get_mails_by_tag('drafts')
self.assertEquals(1, len(drafts))
self.assertEquals('First draft edited', drafts[0].subject)
+ @defer.inlineCallbacks
def test_respond_unprocessable_entity_if_draft_to_remove_doesnt_exist(self):
draft = MailBuilder().with_subject('First draft').build_json()
- self.put_mail(draft)
+ yield self.put_mail(draft)[0]
updated_draft = MailBuilder().with_subject('First draft edited').with_ident('NOTFOUND').build_json()
- _, request = self.put_mail(updated_draft)
+ response, request = self.put_mail(updated_draft)
+ yield response
self.assertEquals(422, request.code)