From b9549559b136ddbe2cc5b81fe244457e556cd7ab Mon Sep 17 00:00:00 2001 From: Denis Costa Date: Tue, 27 Sep 2016 17:05:09 -0300 Subject: Adds more tests for welcome mail. --- service/test/unit/adapter/test_mail.py | 18 ++++++++++++++++++ service/test/unit/fixtures/mail.latin1 | 12 ++++++++++++ service/test/unit/fixtures/mail.utf8 | 12 ++++++++++++ service/test/unit/test_application.py | 3 +++ service/test/unit/test_welcome_mail.py | 4 ++-- 5 files changed, 47 insertions(+), 2 deletions(-) create mode 100644 service/test/unit/fixtures/mail.latin1 create mode 100644 service/test/unit/fixtures/mail.utf8 (limited to 'service') diff --git a/service/test/unit/adapter/test_mail.py b/service/test/unit/adapter/test_mail.py index d66eddd9..22a56df5 100644 --- a/service/test/unit/adapter/test_mail.py +++ b/service/test/unit/adapter/test_mail.py @@ -14,6 +14,7 @@ # # You should have received a copy of the GNU Affero General Public License # along with Pixelated. If not, see . +from email import message_from_file from email.mime.nonmultipart import MIMENonMultipart from email.mime.multipart import MIMEMultipart @@ -22,6 +23,7 @@ from twisted.trial import unittest import pixelated.support.date from pixelated.adapter.model.mail import InputMail import base64 +import pkg_resources def simple_mail_dict(): @@ -152,3 +154,19 @@ class InputMailTest(unittest.TestCase): self.assertRegexpMatches(input_mail.raw, part_one) self.assertRegexpMatches(input_mail.raw, part_two) + + def test_charset_utf8(self): + mail_file = pkg_resources.resource_filename('test.unit.fixtures', 'mail.utf8') + with open(mail_file) as utf8_mail: + mail = message_from_file(utf8_mail) + input_mail = InputMail.from_python_mail(mail) + body = u'utf8 é çñ\n' + self.assertEqual(body, input_mail.body) + + def test_charset_latin1(self): + mail_file = pkg_resources.resource_filename('test.unit.fixtures', 'mail.latin1') + with open(mail_file) as latin1_mail: + mail = message_from_file(latin1_mail) + input_mail = InputMail.from_python_mail(mail) + body = u'latin1 é çñ\n' + self.assertEqual(body, input_mail.body) diff --git a/service/test/unit/fixtures/mail.latin1 b/service/test/unit/fixtures/mail.latin1 new file mode 100644 index 00000000..70c33503 --- /dev/null +++ b/service/test/unit/fixtures/mail.latin1 @@ -0,0 +1,12 @@ +From: Pixelated Team +Date: Sat, 21 Mar 2015 19:30:09 -0300 +Subject: Bem vindo ao Pixelated +To: Replace +Content-Type: multipart/alternative; boundary=000boundary000 + +--000boundary000 +Content-Type: text/plain; charset=ISO-8859-1 +Content-Transfer-Encoding: base64 + +bGF0aW4xIOkg5/EK +--000boundary000-- diff --git a/service/test/unit/fixtures/mail.utf8 b/service/test/unit/fixtures/mail.utf8 new file mode 100644 index 00000000..8c0d4ff2 --- /dev/null +++ b/service/test/unit/fixtures/mail.utf8 @@ -0,0 +1,12 @@ +From: Pixelated Team +Date: Sat, 21 Mar 2015 19:30:09 -0300 +Subject: Bem vindo ao Pixelated +To: Replace +Content-Type: multipart/alternative; boundary=000boundary000 + +--000boundary000 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: base64 + +dXRmOCDDqSDDp8OxCg== +--000boundary000-- diff --git a/service/test/unit/test_application.py b/service/test/unit/test_application.py index e10eae8a..80d9ec14 100644 --- a/service/test/unit/test_application.py +++ b/service/test/unit/test_application.py @@ -46,6 +46,7 @@ class ApplicationTest(unittest.TestCase): app_mock = MagicMock() services_factory_mock = MagicMock() leap_session = MagicMock() + leap_session.fresh_account = False config = ApplicationTest.MockConfig(12345, '127.0.0.1', leap_session) d = pixelated.application.start_user_agent_in_single_user_mode(app_mock, services_factory_mock, config.home, leap_session) @@ -64,6 +65,7 @@ class ApplicationTest(unittest.TestCase): app_mock = MagicMock() services_factory_mock = MagicMock() leap_session = MagicMock() + leap_session.fresh_account = False pixelated.application._ssl_options = lambda x, y: 'options' config = ApplicationTest.MockConfig(12345, '127.0.0.1', sslkey="sslkey", sslcert="sslcert") @@ -87,6 +89,7 @@ class ApplicationTest(unittest.TestCase): services_factory_mock.destroy_session = mock_service_log_user_out leap_session = MagicMock() + leap_session.fresh_account = False register_mock = events_mock.register register_mock.register.return_value = None diff --git a/service/test/unit/test_welcome_mail.py b/service/test/unit/test_welcome_mail.py index 05f05e98..6462dceb 100644 --- a/service/test/unit/test_welcome_mail.py +++ b/service/test/unit/test_welcome_mail.py @@ -30,7 +30,7 @@ class TestWelcomeMail(unittest.TestCase): mail_store = mock() input_mail = self._get_welcome_mail() - add_welcome_mail(mail_store, 'en-US') + add_welcome_mail(mail_store, 'pt-BR') capture = WelcomeMailCapture() verify(mail_store).add_mail('INBOX', capture) @@ -43,7 +43,7 @@ class TestWelcomeMail(unittest.TestCase): '..', 'pixelated', 'assets', - 'welcome.mail.en-US')) as mail_template_file: + 'welcome.mail.pt-BR')) as mail_template_file: mail_template = message_from_file(mail_template_file) return InputMail.from_python_mail(mail_template) -- cgit v1.2.3