mirror of
https://github.com/coddingtonbear/django-mailbox.git
synced 2026-07-09 22:38:19 +02:00
Adding a more-versatile condition-handling method for preventing integration tests from mashing on one another.
This commit is contained in:
parent
3e1f6b9909
commit
988cb7504f
6 changed files with 17 additions and 17 deletions
|
|
@ -16,10 +16,12 @@ class GenericFileMailbox(EmailTransport):
|
|||
def get_instance(self):
|
||||
return self._variant(self._path)
|
||||
|
||||
def get_message(self):
|
||||
def get_message(self, condition=None):
|
||||
repository = self.get_instance()
|
||||
repository.lock()
|
||||
for key, message in repository.items():
|
||||
if condition and not condition(message):
|
||||
continue
|
||||
repository.remove(key)
|
||||
yield message
|
||||
repository.unlock()
|
||||
|
|
|
|||
|
|
@ -82,7 +82,7 @@ class ImapTransport(EmailTransport):
|
|||
pass
|
||||
return safe_message_ids
|
||||
|
||||
def get_message(self):
|
||||
def get_message(self, condition=None):
|
||||
message_ids = self._get_all_message_ids()
|
||||
|
||||
if not message_ids:
|
||||
|
|
@ -105,10 +105,7 @@ class ImapTransport(EmailTransport):
|
|||
continue
|
||||
message = self.get_email_from_bytes(msg_contents[0][1])
|
||||
|
||||
if (
|
||||
self.integration_testing_subject and
|
||||
message['Subject'] != self.integration_testing_subject
|
||||
):
|
||||
if condition and not condition(message):
|
||||
continue
|
||||
|
||||
yield message
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@ class Pop3Transport(EmailTransport):
|
|||
return six.binary_type('\r\n', 'ascii').join(message_lines)
|
||||
return '\r\n'.join(message_lines)
|
||||
|
||||
def get_message(self):
|
||||
def get_message(self, condition=None):
|
||||
message_count = len(self.server.list()[1])
|
||||
for i in range(message_count):
|
||||
try:
|
||||
|
|
@ -36,6 +36,10 @@ class Pop3Transport(EmailTransport):
|
|||
self.server.retr(i + 1)[1]
|
||||
)
|
||||
message = self.get_email_from_bytes(msg_contents)
|
||||
|
||||
if condition and not condition(message):
|
||||
continue
|
||||
|
||||
yield message
|
||||
except MessageParseError:
|
||||
continue
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue