diff options
Diffstat (limited to 'service/test/unit/adapter')
-rw-r--r-- | service/test/unit/adapter/test_mail.py | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/service/test/unit/adapter/test_mail.py b/service/test/unit/adapter/test_mail.py index c7910b7f..d77816cd 100644 --- a/service/test/unit/adapter/test_mail.py +++ b/service/test/unit/adapter/test_mail.py @@ -1,3 +1,4 @@ +# -*- coding: UTF-8 -*- # # Copyright (c) 2014 ThoughtWorks, Inc. # @@ -66,6 +67,28 @@ class TestPixelatedMail(unittest.TestCase): self.assertEqual(str(mail.headers['Date']), leap_mail_date_in_iso_format) + def test_use_datetime_now_as_fallback_for_invalid_date(self): + leap_mail_date = u'söme däte' + date_expected = "2014-09-03T13:11:15-03:00" + + when(pixelated.support.date).iso_now().thenReturn(date_expected) + leap_mail = test_helper.leap_mail(headers={'date': leap_mail_date}) + + mail = PixelatedMail.from_soledad(*leap_mail, soledad_querier=self.querier) + + self.assertEqual(str(mail.headers['Date']), date_expected) + + def test_fall_back_to_ascii_if_invalid_received_header(self): + leap_mail_received_header = u"söme invalid received heäder\n" + date_expected = "2014-09-03T13:11:15-03:00" + + when(pixelated.support.date).iso_now().thenReturn(date_expected) + leap_mail = test_helper.leap_mail(headers={'received': leap_mail_received_header}) + + mail = PixelatedMail.from_soledad(*leap_mail, soledad_querier=self.querier) + + self.assertEqual(mail.headers['Date'], date_expected) + def test_update_tags_return_a_set_with_the_current_tags(self): soledad_docs = test_helper.leap_mail(extra_headers={'X-tags': '["custom_1", "custom_2"]'}) pixelated_mail = PixelatedMail.from_soledad(*soledad_docs, soledad_querier=self.querier) @@ -334,6 +357,17 @@ class TestPixelatedMail(unittest.TestCase): mail.as_dict() + def test_parse_UTF8_headers_with_CharsetAscii(self): + leap_mail_from = u'"söme ümläuds" <lisa5@dev.pixelated-project.org>' + leap_mail_to = u'"söme ümläuds" <lisa5@dev.pixelated-project.org>,\n"söme ümläuds" <lisa5@dev.pixelated-project.org>' + + leap_mail = test_helper.leap_mail(extra_headers={'From': leap_mail_from, 'Subject': "some subject", 'To': leap_mail_to}) + + mail = PixelatedMail.from_soledad(*leap_mail, soledad_querier=self.querier) + + mail.headers['From'].encode('ascii') + self.assertEqual(mail.headers['To'], ['"sme mluds" <lisa5@dev.pixelated-project.org>', '"sme mluds" <lisa5@dev.pixelated-project.org>']) + def simple_mail_dict(): return { |