diff --git a/src/documents/tests/test_consumer.py b/src/documents/tests/test_consumer.py index 006a61b07..a3574fdce 100644 --- a/src/documents/tests/test_consumer.py +++ b/src/documents/tests/test_consumer.py @@ -35,7 +35,6 @@ from documents.tests.utils import DirectoriesMixin from documents.tests.utils import DummyProgressManager from documents.tests.utils import FileSystemAssertsMixin from documents.tests.utils import GetConsumerMixin -from paperless.parsers.mail import MailDocumentParser from paperless_mail.models import MailRule @@ -1107,11 +1106,13 @@ class TestConsumer( THEN: - The mail parser should receive the mail rule """ + from paperless_mail.signals import get_parser as mail_get_parser + mock_consumer_declaration_send.return_value = [ ( None, { - "parser": MailDocumentParser, + "parser": mail_get_parser, "mime_types": {"message/rfc822": ".eml"}, "weight": 0, }, @@ -1137,12 +1138,10 @@ class TestConsumer( ConsumerError, ): consumer.run() - mock_mail_parser_parse.assert_called_once_with( - consumer.working_copy, - "message/rfc822", - file_name="sample.pdf", - mailrule=mock_mailrule_get.return_value, - ) + mock_mail_parser_parse.assert_called_once_with( + consumer.working_copy, + "message/rfc822", + ) @mock.patch("documents.consumer.magic.from_file", fake_magic_from_file) diff --git a/src/paperless_mail/signals.py b/src/paperless_mail/signals.py index 70b3f56e4..8fe046393 100644 --- a/src/paperless_mail/signals.py +++ b/src/paperless_mail/signals.py @@ -1,7 +1,12 @@ def get_parser(*args, **kwargs): from paperless.parsers.mail import MailDocumentParser - return MailDocumentParser(*args, **kwargs) + # MailDocumentParser accepts no constructor args in the new-style protocol. + # Pop legacy args that arrive from the signal-based consumer path. + # Phase 4 will replace this signal path with the ParserRegistry. + kwargs.pop("logging_group", None) + kwargs.pop("progress_callback", None) + return MailDocumentParser() def mail_consumer_declaration(sender, **kwargs):