From 3d84acf1132649f4d43ba731d5260491954ddaab Mon Sep 17 00:00:00 2001 From: Adam Dobrawy Date: Wed, 6 Apr 2016 07:36:18 +0200 Subject: [PATCH 1/5] Clean up EmailMessageTestCase._get_email_as_text --- django_mailbox/tests/base.py | 32 ++++--------------------- django_mailbox/tests/test_transports.py | 2 +- 2 files changed, 6 insertions(+), 28 deletions(-) diff --git a/django_mailbox/tests/base.py b/django_mailbox/tests/base.py index 5e50fa4..62541cb 100644 --- a/django_mailbox/tests/base.py +++ b/django_mailbox/tests/base.py @@ -1,9 +1,8 @@ import email -import os.path +import os +from os.path import dirname, join import time -import six - from django.conf import settings from django.test import TestCase @@ -16,14 +15,7 @@ class EmailIntegrationTimeout(Exception): def get_email_as_text(name): - with open( - os.path.join( - os.path.dirname(__file__), - 'messages', - name, - ), - 'rb' - ) as f: + with open(join(dirname(__file__), 'messages', name), 'rb') as f: return f.read() @@ -65,23 +57,9 @@ class EmailMessageTestCase(TestCase): return messages time.sleep(5) - def _get_email_as_text(self, name): - with open( - os.path.join( - os.path.dirname(__file__), - 'messages', - name, - ), - 'rb' - ) as f: - return f.read() - def _get_email_object(self, name): - copy = self._get_email_as_text(name) - if six.PY3: - return email.message_from_bytes(copy) - else: - return email.message_from_string(copy) + with open(join(dirname(__file__), 'messages', name), 'rb') as f: + return email.message_from_files(f) def _headers_identical(self, left, right, header=None): """ Check if headers are (close enough to) identical. diff --git a/django_mailbox/tests/test_transports.py b/django_mailbox/tests/test_transports.py index aaa0d0d..8153a25 100644 --- a/django_mailbox/tests/test_transports.py +++ b/django_mailbox/tests/test_transports.py @@ -148,7 +148,7 @@ class TestPop3Transport(EmailMessageTestCase): '+OK message follows', [ line.encode('ascii') - for line in self._get_email_as_text( + for line in get_email_as_text( 'generic_message.eml' ).decode('ascii').split('\n') ], From 9b5faa0e5fb1de438729c1b0bfc57b947448cb4c Mon Sep 17 00:00:00 2001 From: Adam Dobrawy Date: Sat, 9 Apr 2016 22:43:00 +0200 Subject: [PATCH 2/5] Fix typo --- django_mailbox/tests/base.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/django_mailbox/tests/base.py b/django_mailbox/tests/base.py index 62541cb..ce51ce3 100644 --- a/django_mailbox/tests/base.py +++ b/django_mailbox/tests/base.py @@ -59,7 +59,7 @@ class EmailMessageTestCase(TestCase): def _get_email_object(self, name): with open(join(dirname(__file__), 'messages', name), 'rb') as f: - return email.message_from_files(f) + return email.message_from_file(f) def _headers_identical(self, left, right, header=None): """ Check if headers are (close enough to) identical. From d3189fea20296001ff92b163136487878dd57000 Mon Sep 17 00:00:00 2001 From: Adam Dobrawy Date: Sat, 9 Apr 2016 22:52:52 +0200 Subject: [PATCH 3/5] Update open mode in get_email_as_text --- django_mailbox/tests/base.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/django_mailbox/tests/base.py b/django_mailbox/tests/base.py index ce51ce3..f786b41 100644 --- a/django_mailbox/tests/base.py +++ b/django_mailbox/tests/base.py @@ -15,7 +15,7 @@ class EmailIntegrationTimeout(Exception): def get_email_as_text(name): - with open(join(dirname(__file__), 'messages', name), 'rb') as f: + with open(join(dirname(__file__), 'messages', name), 'r') as f: return f.read() From 22c2f01e90899711f7979a24777277bbfcd23bb0 Mon Sep 17 00:00:00 2001 From: Adam Dobrawy Date: Sat, 9 Apr 2016 23:01:12 +0200 Subject: [PATCH 4/5] Fix python3 compatbility in EmailMessageTestCase --- django_mailbox/tests/base.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/django_mailbox/tests/base.py b/django_mailbox/tests/base.py index f786b41..337cf30 100644 --- a/django_mailbox/tests/base.py +++ b/django_mailbox/tests/base.py @@ -2,6 +2,7 @@ import email import os from os.path import dirname, join import time +import six from django.conf import settings from django.test import TestCase @@ -59,7 +60,10 @@ class EmailMessageTestCase(TestCase): def _get_email_object(self, name): with open(join(dirname(__file__), 'messages', name), 'rb') as f: - return email.message_from_file(f) + if six.PY3: + return email.message_from_binary_file(f) + else: + return email.message_from_file(f) def _headers_identical(self, left, right, header=None): """ Check if headers are (close enough to) identical. From 0a532bbf53a785462d280e2e077bcad7b3acab9d Mon Sep 17 00:00:00 2001 From: Adam Dobrawy Date: Sat, 9 Apr 2016 23:10:11 +0200 Subject: [PATCH 5/5] Update base.py --- django_mailbox/tests/base.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/django_mailbox/tests/base.py b/django_mailbox/tests/base.py index 337cf30..a39d4f5 100644 --- a/django_mailbox/tests/base.py +++ b/django_mailbox/tests/base.py @@ -59,7 +59,7 @@ class EmailMessageTestCase(TestCase): time.sleep(5) def _get_email_object(self, name): - with open(join(dirname(__file__), 'messages', name), 'rb') as f: + with open(join(dirname(__file__), 'messages', name), 'r') as f: if six.PY3: return email.message_from_binary_file(f) else: