diff options
author | Jon Dufresne <jon.dufresne@gmail.com> | 2019-11-06 00:33:07 -0800 |
---|---|---|
committer | Carlton Gibson <carlton.gibson@noumenal.es> | 2019-11-06 09:33:07 +0100 |
commit | fbbff7f80870bc3e98de4a2fc9cd853949842fd0 (patch) | |
tree | 1bfdfcf3819aea82a8a3704ea9d5187f22edf7c3 /tests/mail | |
parent | 422b875c6586a6548c6bf34a0851ae82198a8818 (diff) | |
download | django-fbbff7f80870bc3e98de4a2fc9cd853949842fd0.tar.gz |
Refs #29983 -- Added pathlib.Path support to the file email backend.
Diffstat (limited to 'tests/mail')
-rw-r--r-- | tests/mail/tests.py | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/tests/mail/tests.py b/tests/mail/tests.py index 6de819965a..567a012b8d 100644 --- a/tests/mail/tests.py +++ b/tests/mail/tests.py @@ -12,6 +12,7 @@ from email.header import Header from email.mime.text import MIMEText from email.utils import parseaddr from io import StringIO +from pathlib import Path from smtplib import SMTP, SMTPAuthenticationError, SMTPException from ssl import SSLError from unittest import mock @@ -567,6 +568,10 @@ class MailTests(HeadersCheckMixin, SimpleTestCase): mail.get_connection('django.core.mail.backends.filebased.EmailBackend', file_path=tmp_dir), filebased.EmailBackend ) + + msg = 'expected str, bytes or os.PathLike object, not object' + with self.assertRaisesMessage(TypeError, msg): + mail.get_connection('django.core.mail.backends.filebased.EmailBackend', file_path=object()) self.assertIsInstance(mail.get_connection(), locmem.EmailBackend) @override_settings( @@ -1154,7 +1159,7 @@ class FileBackendTests(BaseEmailBackendTests, SimpleTestCase): def setUp(self): super().setUp() - self.tmp_dir = tempfile.mkdtemp() + self.tmp_dir = self.mkdtemp() self.addCleanup(shutil.rmtree, self.tmp_dir) self._settings_override = override_settings(EMAIL_FILE_PATH=self.tmp_dir) self._settings_override.enable() @@ -1163,6 +1168,9 @@ class FileBackendTests(BaseEmailBackendTests, SimpleTestCase): self._settings_override.disable() super().tearDown() + def mkdtemp(self): + return tempfile.mkdtemp() + def flush_mailbox(self): for filename in os.listdir(self.tmp_dir): os.unlink(os.path.join(self.tmp_dir, filename)) @@ -1209,6 +1217,12 @@ class FileBackendTests(BaseEmailBackendTests, SimpleTestCase): connection.close() +class FileBackendPathLibTests(FileBackendTests): + def mkdtemp(self): + tmp_dir = super().mkdtemp() + return Path(tmp_dir) + + class ConsoleBackendTests(BaseEmailBackendTests, SimpleTestCase): email_backend = 'django.core.mail.backends.console.EmailBackend' |