summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDenis Costa <deniscostadsc@gmail.com>2016-09-27 17:05:09 -0300
committerDenis Costa <deniscostadsc@gmail.com>2016-09-27 17:05:09 -0300
commitb9549559b136ddbe2cc5b81fe244457e556cd7ab (patch)
tree108ded15f9773e407099cbc0d98298cabe2c02ab
parente87b9993e58aeacdaa9bfc92d33fa6b2185a7a13 (diff)
Adds more tests for welcome mail.
-rw-r--r--service/test/unit/adapter/test_mail.py18
-rw-r--r--service/test/unit/fixtures/mail.latin112
-rw-r--r--service/test/unit/fixtures/mail.utf812
-rw-r--r--service/test/unit/test_application.py3
-rw-r--r--service/test/unit/test_welcome_mail.py4
5 files changed, 47 insertions, 2 deletions
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 <http://www.gnu.org/licenses/>.
+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 <pixelated-team@pixelated-project.org>
+Date: Sat, 21 Mar 2015 19:30:09 -0300
+Subject: Bem vindo ao Pixelated
+To: Replace <will.be@the.user>
+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 <pixelated-team@pixelated-project.org>
+Date: Sat, 21 Mar 2015 19:30:09 -0300
+Subject: Bem vindo ao Pixelated
+To: Replace <will.be@the.user>
+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)