forked from mirror/django-mailbox
Fixing test discovery, adding functionality allowing one to restict
message gathering (via the IMAP transport) to only messages matching a specified subject. Fixes #49.
This commit is contained in:
parent
634f2f4b26
commit
abad769fd6
4 changed files with 76 additions and 15 deletions
|
|
@ -1,15 +1,21 @@
|
|||
import os
|
||||
import urllib
|
||||
import uuid
|
||||
|
||||
from six.moves.urllib import parse
|
||||
|
||||
from django.conf import settings
|
||||
from django.core.mail import EmailMultiAlternatives
|
||||
|
||||
from django_mailbox.models import Mailbox
|
||||
from django_mailbox.tests.base import EmailMessageTestCase
|
||||
|
||||
|
||||
__all__ = ['TestImap']
|
||||
|
||||
|
||||
class TestImap(EmailMessageTestCase):
|
||||
def setUp(self):
|
||||
super(TestImap, self).setUp()
|
||||
self.test_imap_server = (
|
||||
os.environ['EMAIL_IMAP_SERVER']
|
||||
)
|
||||
|
|
@ -17,19 +23,25 @@ class TestImap(EmailMessageTestCase):
|
|||
name='Integration Test Imap',
|
||||
uri=self.get_connection_string()
|
||||
)
|
||||
self.arbitrary_identifier = str(uuid.uuid4())
|
||||
settings.DJANGO_MAILBOX_INTEGRATION_TESTING_SUBJECT = (
|
||||
self.arbitrary_identifier
|
||||
)
|
||||
|
||||
def tearDown(self):
|
||||
settings.DJANGO_MAILBOX_INTEGRATION_TESTING_SUBJECT = None
|
||||
|
||||
def get_connection_string(self):
|
||||
return "imap+ssl://{account}:{password}@{server}".format(
|
||||
account=urllib.quote(self.test_account),
|
||||
password=urllib.quote(self.test_password),
|
||||
account=parse.quote(self.test_account),
|
||||
password=parse.quote(self.test_password),
|
||||
server=self.test_imap_server,
|
||||
)
|
||||
|
||||
def test_get_imap_message(self):
|
||||
arbitrary_identifier = uuid.uuid4()
|
||||
text_content = 'This is some content'
|
||||
msg = EmailMultiAlternatives(
|
||||
arbitrary_identifier,
|
||||
self.arbitrary_identifier,
|
||||
text_content,
|
||||
self.test_from_email,
|
||||
[
|
||||
|
|
@ -38,8 +50,8 @@ class TestImap(EmailMessageTestCase):
|
|||
)
|
||||
msg.send()
|
||||
|
||||
messages = self.get_new_messages()
|
||||
messages = self._get_new_messages(self.mailbox)
|
||||
|
||||
self.assertEqual(1, len(messages))
|
||||
self.assertEqual(messages[0].subject, arbitrary_identifier)
|
||||
self.assertEqual(messages[0].subject, self.arbitrary_identifier)
|
||||
self.assertEqual(messages[0].text, text_content)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue