Extract MessageBuilder
This commit is contained in:
parent
a6deeed793
commit
77f28932b5
@ -193,32 +193,10 @@ def fake_magic_from_buffer(buffer, mime=False):
|
|||||||
return "Some verbose file description"
|
return "Some verbose file description"
|
||||||
|
|
||||||
|
|
||||||
@mock.patch("paperless_mail.mail.magic.from_buffer", fake_magic_from_buffer)
|
class MessageBuilder:
|
||||||
class TestMail(
|
def __init__(self):
|
||||||
DirectoriesMixin,
|
|
||||||
FileSystemAssertsMixin,
|
|
||||||
TestCase,
|
|
||||||
):
|
|
||||||
def setUp(self):
|
|
||||||
self._used_uids = set()
|
self._used_uids = set()
|
||||||
|
|
||||||
self.bogus_mailbox = BogusMailBox()
|
|
||||||
|
|
||||||
patcher = mock.patch("paperless_mail.mail.MailBox")
|
|
||||||
m = patcher.start()
|
|
||||||
m.return_value = self.bogus_mailbox
|
|
||||||
self.addCleanup(patcher.stop)
|
|
||||||
|
|
||||||
patcher = mock.patch("paperless_mail.mail.queue_consumption_tasks")
|
|
||||||
self._queue_consumption_tasks_mock = patcher.start()
|
|
||||||
self.addCleanup(patcher.stop)
|
|
||||||
|
|
||||||
self.reset_bogus_mailbox()
|
|
||||||
|
|
||||||
self.mail_account_handler = MailAccountHandler()
|
|
||||||
|
|
||||||
super().setUp()
|
|
||||||
|
|
||||||
def create_message(
|
def create_message(
|
||||||
self,
|
self,
|
||||||
attachments: Union[int, list[_AttachmentDef]] = 1,
|
attachments: Union[int, list[_AttachmentDef]] = 1,
|
||||||
@ -284,11 +262,37 @@ class TestMail(
|
|||||||
|
|
||||||
return imap_msg
|
return imap_msg
|
||||||
|
|
||||||
|
|
||||||
|
@mock.patch("paperless_mail.mail.magic.from_buffer", fake_magic_from_buffer)
|
||||||
|
class TestMail(
|
||||||
|
DirectoriesMixin,
|
||||||
|
FileSystemAssertsMixin,
|
||||||
|
TestCase,
|
||||||
|
):
|
||||||
|
def setUp(self):
|
||||||
|
self.bogus_mailbox = BogusMailBox()
|
||||||
|
self.messageBuilder = MessageBuilder()
|
||||||
|
|
||||||
|
patcher = mock.patch("paperless_mail.mail.MailBox")
|
||||||
|
m = patcher.start()
|
||||||
|
m.return_value = self.bogus_mailbox
|
||||||
|
self.addCleanup(patcher.stop)
|
||||||
|
|
||||||
|
patcher = mock.patch("paperless_mail.mail.queue_consumption_tasks")
|
||||||
|
self._queue_consumption_tasks_mock = patcher.start()
|
||||||
|
self.addCleanup(patcher.stop)
|
||||||
|
|
||||||
|
self.reset_bogus_mailbox()
|
||||||
|
|
||||||
|
self.mail_account_handler = MailAccountHandler()
|
||||||
|
|
||||||
|
super().setUp()
|
||||||
|
|
||||||
def reset_bogus_mailbox(self):
|
def reset_bogus_mailbox(self):
|
||||||
self.bogus_mailbox.messages = []
|
self.bogus_mailbox.messages = []
|
||||||
self.bogus_mailbox.messages_spam = []
|
self.bogus_mailbox.messages_spam = []
|
||||||
self.bogus_mailbox.messages.append(
|
self.bogus_mailbox.messages.append(
|
||||||
self.create_message(
|
self.messageBuilder.create_message(
|
||||||
subject="Invoice 1",
|
subject="Invoice 1",
|
||||||
from_="amazon@amazon.de",
|
from_="amazon@amazon.de",
|
||||||
to=["me@myselfandi.com", "helpdesk@mydomain.com"],
|
to=["me@myselfandi.com", "helpdesk@mydomain.com"],
|
||||||
@ -299,7 +303,7 @@ class TestMail(
|
|||||||
),
|
),
|
||||||
)
|
)
|
||||||
self.bogus_mailbox.messages.append(
|
self.bogus_mailbox.messages.append(
|
||||||
self.create_message(
|
self.messageBuilder.create_message(
|
||||||
subject="Invoice 2",
|
subject="Invoice 2",
|
||||||
body="from my favorite electronic store",
|
body="from my favorite electronic store",
|
||||||
to=["invoices@mycompany.com"],
|
to=["invoices@mycompany.com"],
|
||||||
@ -309,7 +313,7 @@ class TestMail(
|
|||||||
),
|
),
|
||||||
)
|
)
|
||||||
self.bogus_mailbox.messages.append(
|
self.bogus_mailbox.messages.append(
|
||||||
self.create_message(
|
self.messageBuilder.create_message(
|
||||||
subject="Claim your $10M price now!",
|
subject="Claim your $10M price now!",
|
||||||
from_="amazon@amazon-some-indian-site.org",
|
from_="amazon@amazon-some-indian-site.org",
|
||||||
to="special@me.me",
|
to="special@me.me",
|
||||||
@ -400,7 +404,7 @@ class TestMail(
|
|||||||
self.assertEqual(handler._get_title(message, att, rule), None)
|
self.assertEqual(handler._get_title(message, att, rule), None)
|
||||||
|
|
||||||
def test_handle_message(self):
|
def test_handle_message(self):
|
||||||
message = self.create_message(
|
message = self.messageBuilder.create_message(
|
||||||
subject="the message title",
|
subject="the message title",
|
||||||
from_="Myself",
|
from_="Myself",
|
||||||
attachments=2,
|
attachments=2,
|
||||||
@ -440,7 +444,7 @@ class TestMail(
|
|||||||
self.assertEqual(result, 0)
|
self.assertEqual(result, 0)
|
||||||
|
|
||||||
def test_handle_unknown_mime_type(self):
|
def test_handle_unknown_mime_type(self):
|
||||||
message = self.create_message(
|
message = self.messageBuilder.create_message(
|
||||||
attachments=[
|
attachments=[
|
||||||
_AttachmentDef(filename="f1.pdf"),
|
_AttachmentDef(filename="f1.pdf"),
|
||||||
_AttachmentDef(
|
_AttachmentDef(
|
||||||
@ -469,7 +473,7 @@ class TestMail(
|
|||||||
)
|
)
|
||||||
|
|
||||||
def test_handle_disposition(self):
|
def test_handle_disposition(self):
|
||||||
message = self.create_message(
|
message = self.messageBuilder.create_message(
|
||||||
attachments=[
|
attachments=[
|
||||||
_AttachmentDef(
|
_AttachmentDef(
|
||||||
filename="f1.pdf",
|
filename="f1.pdf",
|
||||||
@ -497,7 +501,7 @@ class TestMail(
|
|||||||
)
|
)
|
||||||
|
|
||||||
def test_handle_inline_files(self):
|
def test_handle_inline_files(self):
|
||||||
message = self.create_message(
|
message = self.messageBuilder.create_message(
|
||||||
attachments=[
|
attachments=[
|
||||||
_AttachmentDef(
|
_AttachmentDef(
|
||||||
filename="f1.pdf",
|
filename="f1.pdf",
|
||||||
@ -537,7 +541,7 @@ class TestMail(
|
|||||||
- Mail action should not be performed for files excluded
|
- Mail action should not be performed for files excluded
|
||||||
- Mail action should be performed for files included
|
- Mail action should be performed for files included
|
||||||
"""
|
"""
|
||||||
message = self.create_message(
|
message = self.messageBuilder.create_message(
|
||||||
attachments=[
|
attachments=[
|
||||||
_AttachmentDef(filename="f1.pdf"),
|
_AttachmentDef(filename="f1.pdf"),
|
||||||
_AttachmentDef(filename="f2.pdf"),
|
_AttachmentDef(filename="f2.pdf"),
|
||||||
@ -649,7 +653,7 @@ class TestMail(
|
|||||||
THEN:
|
THEN:
|
||||||
- Mail action should not be performed
|
- Mail action should not be performed
|
||||||
"""
|
"""
|
||||||
message = self.create_message(
|
message = self.messageBuilder.create_message(
|
||||||
attachments=[
|
attachments=[
|
||||||
_AttachmentDef(
|
_AttachmentDef(
|
||||||
filename="test.png",
|
filename="test.png",
|
||||||
|
Loading…
x
Reference in New Issue
Block a user