summaryrefslogtreecommitdiff
path: root/service/test/unit/adapter/mail_test.py
diff options
context:
space:
mode:
authorAlexandre Pretto Nunes <anunes@thoughtworks.com>2014-12-03 16:04:54 -0200
committerAlexandre Pretto Nunes <anunes@thoughtworks.com>2014-12-03 16:04:54 -0200
commit7594b311441ca0c0eee39b4e953c52645213ffc3 (patch)
treef3e0f5640abf68027172795ca9ffd054d3d5db53 /service/test/unit/adapter/mail_test.py
parentf7472aed29c525bc630fe1ea05833f840bc42dc4 (diff)
parentfada5155d78336ea4796e934520636472df17348 (diff)
Merge pull request #166 from pixelated-project/fix_reply_to_all_recipients
Fix reply to all recipients
Diffstat (limited to 'service/test/unit/adapter/mail_test.py')
-rw-r--r--service/test/unit/adapter/mail_test.py57
1 files changed, 46 insertions, 11 deletions
diff --git a/service/test/unit/adapter/mail_test.py b/service/test/unit/adapter/mail_test.py
index e0879b44..332fad8a 100644
--- a/service/test/unit/adapter/mail_test.py
+++ b/service/test/unit/adapter/mail_test.py
@@ -69,9 +69,13 @@ class TestPixelatedMail(unittest.TestCase):
self.assertEquals(mail.fdoc.content['flags'], [])
def test_as_dict(self):
- fdoc, hdoc, bdoc = test_helper.leap_mail(flags=['\\Recent'])
- hdoc.content['headers']['Subject'] = 'The subject'
- hdoc.content['headers']['From'] = 'me@pixelated.org'
+ headers = {'Subject': 'The subject',
+ 'From': 'someone@pixelated.org',
+ 'To': 'me@pixelated.org'}
+ fdoc, hdoc, bdoc = test_helper.leap_mail(flags=['\\Recent'],
+ extra_headers=headers)
+
+ InputMail.FROM_EMAIL_ADDRESS = 'me@pixelated.org'
mail = PixelatedMail.from_soledad(fdoc, hdoc, bdoc, soledad_querier=self.querier)
@@ -80,16 +84,45 @@ class TestPixelatedMail(unittest.TestCase):
self.assertEquals(_dict, {'body': 'body',
'header': {
'date': dateparser.parse(hdoc.content['date']).isoformat(),
- 'from': 'me@pixelated.org',
- 'subject': 'The subject'
+ 'from': 'someone@pixelated.org',
+ 'subject': 'The subject',
+ 'to': ['me@pixelated.org'],
+ 'cc': [],
+ 'bcc': []
},
'ident': 'chash',
'mailbox': 'inbox',
'security_casing': {'imprints': [], 'locks': []},
'status': ['recent'],
'tags': [],
- 'attachments': []
- })
+ 'attachments': [],
+ 'replying': {
+ 'single': 'someone@pixelated.org',
+ 'all': {
+ 'to-field': ['someone@pixelated.org'],
+ 'cc-field': []
+ }
+ }})
+
+ def test_use_reply_to_address_for_replying(self):
+ headers = {'Subject': 'The subject',
+ 'From': 'someone@pixelated.org',
+ 'Reply-To': 'reply-to-this-address@pixelated.org',
+ 'To': 'me@pixelated.org, \nalice@pixelated.org'}
+ fdoc, hdoc, bdoc = test_helper.leap_mail(flags=['\\Recent'],
+ extra_headers=headers)
+
+ InputMail.FROM_EMAIL_ADDRESS = 'me@pixelated.org'
+
+ mail = PixelatedMail.from_soledad(fdoc, hdoc, bdoc, soledad_querier=self.querier)
+
+ _dict = mail.as_dict()
+
+ self.assertEquals(_dict['replying'], {'single': 'reply-to-this-address@pixelated.org',
+ 'all': {
+ 'to-field': ['alice@pixelated.org', 'reply-to-this-address@pixelated.org'],
+ 'cc-field': []
+ }})
def test_alternatives_body(self):
parts = {'alternatives': [], 'attachments': []}
@@ -113,10 +146,12 @@ class TestPixelatedMail(unittest.TestCase):
self.assertRegexpMatches(mail.body, '([\s\S]*100%){2}')
def test_clean_line_breaks_on_address_headers(self):
- fdoc, hdoc, bdoc = test_helper.leap_mail(flags=['\\Recent'])
- hdoc.content['headers']['To'] = 'One <one@mail.com>,\nTwo <two@mail.com>, Normal <normal@mail.com>,\nalone@mail.com'
- hdoc.content['headers']['Bcc'] = hdoc.content['headers']['To']
- hdoc.content['headers']['Cc'] = hdoc.content['headers']['To']
+ many_recipients = 'One <one@mail.com>,\nTwo <two@mail.com>, Normal <normal@mail.com>,\nalone@mail.com'
+ headers = {'Cc': many_recipients,
+ 'Bcc': many_recipients,
+ 'To': many_recipients}
+ fdoc, hdoc, bdoc = test_helper.leap_mail(flags=['\\Recent'],
+ extra_headers=headers)
mail = PixelatedMail.from_soledad(fdoc, hdoc, bdoc, soledad_querier=self.querier)