diff options
| author | Jefferson Stachelski <jstachel@thoughtworks.com> | 2015-11-17 11:30:55 -0200 | 
|---|---|---|
| committer | Jefferson Stachelski <jstachel@thoughtworks.com> | 2015-11-17 11:33:50 -0200 | 
| commit | c88514fdf18f39fb67101e3ea9741b3430f221b6 (patch) | |
| tree | 477291889c4a4524ad71fab80705b341c6e2d37d /service | |
| parent | 83c409e197da1784f9c3f8999a622a62003f85c6 (diff) | |
Issue #495 Giovane/Jeff: Fixed from undefined
Sent mail doesn't have a from field, so now we are adding it
Diffstat (limited to 'service')
| -rw-r--r-- | service/pixelated/adapter/services/mail_service.py | 1 | ||||
| -rw-r--r-- | service/pixelated/resources/mail_resource.py | 2 | ||||
| -rw-r--r-- | service/test/unit/adapter/test_mail_service.py | 14 | 
3 files changed, 9 insertions, 8 deletions
| diff --git a/service/pixelated/adapter/services/mail_service.py b/service/pixelated/adapter/services/mail_service.py index 5485ae18..bbaad2c5 100644 --- a/service/pixelated/adapter/services/mail_service.py +++ b/service/pixelated/adapter/services/mail_service.py @@ -88,6 +88,7 @@ class MailService(object):      @defer.inlineCallbacks      def send_mail(self, content_dict):          mail = InputMail.from_dict(content_dict) +        mail.headers['From'] = self.account_email          draft_id = content_dict.get('ident')          yield self.mail_sender.sendmail(mail) diff --git a/service/pixelated/resources/mail_resource.py b/service/pixelated/resources/mail_resource.py index 436842fb..14cb047a 100644 --- a/service/pixelated/resources/mail_resource.py +++ b/service/pixelated/resources/mail_resource.py @@ -37,9 +37,7 @@ class Mail(Resource):      def render_GET(self, request):          d = self._mail_service.mail(self._mail_id) -          d.addCallback(lambda mail: respond_json_deferred(mail.as_dict(), request)) -          return NOT_DONE_YET      def render_DELETE(self, request): diff --git a/service/test/unit/adapter/test_mail_service.py b/service/test/unit/adapter/test_mail_service.py index 1ec3806e..d1a37d3d 100644 --- a/service/test/unit/adapter/test_mail_service.py +++ b/service/test/unit/adapter/test_mail_service.py @@ -43,12 +43,13 @@ class TestMailService(unittest.TestCase):          unstub()      def test_send_mail(self): -        when(InputMail).from_dict(ANY()).thenReturn('inputmail') +        input_mail = InputMail() +        when(InputMail).from_dict(ANY()).thenReturn(input_mail)          when(self.mail_sender).sendmail(ANY()).thenReturn(defer.Deferred())          sent_deferred = self.mail_service.send_mail(mail_dict()) -        verify(self.mail_sender).sendmail("inputmail") +        verify(self.mail_sender).sendmail(input_mail)          sent_deferred.callback('Assume sending mail succeeded') @@ -73,11 +74,11 @@ class TestMailService(unittest.TestCase):      @defer.inlineCallbacks      def test_send_mail_marks_as_read(self): -        mail = LeapMail('id', 'INBOX') +        mail = InputMail()          when(mail).raw = 'raw mail'          when(InputMail).from_dict(ANY()).thenReturn(mail)          when(self.mail_store).delete_mail('12').thenReturn(defer.succeed(None)) -        when(self.mail_sender).sendmail(ANY()).thenReturn(defer.succeed(None)) +        when(self.mail_sender).sendmail(mail).thenReturn(defer.succeed(None))          sent_mail = LeapMail('id', 'INBOX')          add_mail_deferral = defer.succeed(sent_mail) @@ -90,7 +91,8 @@ class TestMailService(unittest.TestCase):      @defer.inlineCallbacks      def test_send_mail_does_not_delete_draft_on_error(self): -        when(InputMail).from_dict(ANY()).thenReturn('inputmail') +        input_mail = InputMail() +        when(InputMail).from_dict(ANY()).thenReturn(input_mail)          deferred_failure = defer.fail(Exception("Assume sending mail failed"))          when(self.mail_sender).sendmail(ANY()).thenReturn(deferred_failure) @@ -99,7 +101,7 @@ class TestMailService(unittest.TestCase):              yield self.mail_service.send_mail({'ident': '12'})              self.fail("send_mail is expected to raise if underlying call fails")          except: -            verify(self.mail_sender).sendmail("inputmail") +            verify(self.mail_sender).sendmail(input_mail)              verifyNoMoreInteractions(self.drafts)      @defer.inlineCallbacks | 
