diff options
author | Jefferson Stachelski <jstachel@thoughtworks.com> | 2015-11-13 15:24:06 -0200 |
---|---|---|
committer | Jefferson Stachelski <jstachel@thoughtworks.com> | 2015-11-13 16:01:27 -0200 |
commit | b7ff48dca546c97f78fb98ca83afd6c9684f2612 (patch) | |
tree | bc41d89c84fd2bc86850dd1254f113d82f8156dd | |
parent | 6f3e6e546457cacc35916bb7867edb1c5cfb9ab6 (diff) |
Issue #523 - Created python test for arhive mail
-rw-r--r-- | service/pixelated/resources/mails_resource.py | 1 | ||||
-rw-r--r-- | service/test/unit/resources/test_archive_resource.py | 32 |
2 files changed, 33 insertions, 0 deletions
diff --git a/service/pixelated/resources/mails_resource.py b/service/pixelated/resources/mails_resource.py index f65041f5..5b5335b9 100644 --- a/service/pixelated/resources/mails_resource.py +++ b/service/pixelated/resources/mails_resource.py @@ -95,6 +95,7 @@ class MailsRecoverResource(Resource): class MailsArchiveResource(Resource): + isLeaf = True def __init__(self, mail_service): Resource.__init__(self) diff --git a/service/test/unit/resources/test_archive_resource.py b/service/test/unit/resources/test_archive_resource.py new file mode 100644 index 00000000..28078222 --- /dev/null +++ b/service/test/unit/resources/test_archive_resource.py @@ -0,0 +1,32 @@ +import unittest +import json +from mockito import mock, when, verify +from test.unit.resources import DummySite +from twisted.web.test.requesthelper import DummyRequest +from pixelated.resources.mails_resource import MailsArchiveResource +from twisted.internet import defer + + +class TestArchiveResource(unittest.TestCase): + def setUp(self): + self.mail_service = mock() + self.web = DummySite(MailsArchiveResource(self.mail_service)) + + def test_render_POST_should_archive_mails(self): + request = DummyRequest(['/mails/archive']) + request.method = 'POST' + content = mock() + when(content).read().thenReturn(json.dumps({'idents': ['1', '2']})) + + when(self.mail_service).archive_mail('1').thenReturn(defer.Deferred()) + when(self.mail_service).archive_mail('2').thenReturn(defer.Deferred()) + + request.content = content + d = self.web.get(request) + + def assert_response(_): + verify(self.mail_service).archive_mail('1') + verify(self.mail_service).archive_mail('2') + + d.addCallback(assert_response) + return d |