summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--service/pixelated/adapter/services/mail_service.py1
-rw-r--r--service/pixelated/resources/mail_resource.py2
-rw-r--r--service/test/unit/adapter/test_mail_service.py14
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