From 3dd71cd61d069776df2c3908392057e49f2f29f7 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 7 Apr 2026 10:38:00 +0000 Subject: [PATCH] fix: restore missing forward_email signature and reformat with black Agent-Logs-Url: https://github.com/christianlouis/InboxConverge/sessions/3c4ae596-6052-4a61-9edd-b668a6cda32e Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com> --- backend/app/services/mail_processor.py | 11 ++--- .../tests/unit/test_mail_processor_imap.py | 40 +++++++++++-------- .../tests/unit/test_mail_processor_pop3.py | 3 -- 3 files changed, 27 insertions(+), 27 deletions(-) diff --git a/backend/app/services/mail_processor.py b/backend/app/services/mail_processor.py index d9e40b7..6b9cfe6 100644 --- a/backend/app/services/mail_processor.py +++ b/backend/app/services/mail_processor.py @@ -432,9 +432,7 @@ class MailProcessor: return emails, new_uids - async def post_process_imap( - self, successfully_forwarded_uids: List[str] - ) -> None: + async def post_process_imap(self, successfully_forwarded_uids: List[str]) -> None: """Mark successfully forwarded IMAP messages as \\Seen and optionally delete. Because fetch uses ``BODY.PEEK[]`` (which does NOT set \\Seen), this @@ -485,9 +483,7 @@ class MailProcessor: except Exception: pass - async def post_process_pop3( - self, successfully_forwarded_uids: List[str] - ) -> None: + async def post_process_pop3(self, successfully_forwarded_uids: List[str]) -> None: """Delete successfully forwarded POP3 messages from the source mailbox. Opens a fresh POP3 session, maps stable UIDs back to current message @@ -569,7 +565,8 @@ class MailProcessor: else: await self.post_process_imap(successfully_forwarded_uids) - + @staticmethod + async def forward_email( email_data: bytes, source_account_name: str, destination: str, diff --git a/backend/tests/unit/test_mail_processor_imap.py b/backend/tests/unit/test_mail_processor_imap.py index 4485439..2036f5b 100644 --- a/backend/tests/unit/test_mail_processor_imap.py +++ b/backend/tests/unit/test_mail_processor_imap.py @@ -814,12 +814,13 @@ class TestPostProcessImap: mock_imap.uid = AsyncMock(return_value=_make_imap_response()) mock_imap.logout = AsyncMock() - with patch( - "app.services.mail_processor.aioimaplib.IMAP4", - return_value=mock_imap, - ) as mock_cls, patch( - "app.services.mail_processor.aioimaplib.IMAP4_SSL" - ) as mock_ssl_cls: + with ( + patch( + "app.services.mail_processor.aioimaplib.IMAP4", + return_value=mock_imap, + ) as mock_cls, + patch("app.services.mail_processor.aioimaplib.IMAP4_SSL") as mock_ssl_cls, + ): await processor.post_process_imap(["1"]) mock_cls.assert_called_once() mock_ssl_cls.assert_not_called() @@ -852,11 +853,14 @@ class TestPostProcessMessages: account = _make_account(protocol="imap_ssl") processor = MailProcessor(account=account, decrypted_password="pw") - with patch.object( - processor, "post_process_imap", new_callable=AsyncMock - ) as mock_imap, patch.object( - processor, "post_process_pop3", new_callable=AsyncMock - ) as mock_pop3: + with ( + patch.object( + processor, "post_process_imap", new_callable=AsyncMock + ) as mock_imap, + patch.object( + processor, "post_process_pop3", new_callable=AsyncMock + ) as mock_pop3, + ): await processor.post_process_messages(["1", "2"]) mock_imap.assert_awaited_once_with(["1", "2"]) mock_pop3.assert_not_awaited() @@ -869,12 +873,14 @@ class TestPostProcessMessages: "app.models.database_models", fromlist=["MailProtocol"] ).MailProtocol.POP3_SSL processor = MailProcessor(account=account, decrypted_password="pw") - with patch.object( - processor, "post_process_pop3", new_callable=AsyncMock - ) as mock_pop3, patch.object( - processor, "post_process_imap", new_callable=AsyncMock - ) as mock_imap: + with ( + patch.object( + processor, "post_process_pop3", new_callable=AsyncMock + ) as mock_pop3, + patch.object( + processor, "post_process_imap", new_callable=AsyncMock + ) as mock_imap, + ): await processor.post_process_messages(["a"]) mock_pop3.assert_awaited_once_with(["a"]) mock_imap.assert_not_awaited() - diff --git a/backend/tests/unit/test_mail_processor_pop3.py b/backend/tests/unit/test_mail_processor_pop3.py index 817eaf0..3169f57 100644 --- a/backend/tests/unit/test_mail_processor_pop3.py +++ b/backend/tests/unit/test_mail_processor_pop3.py @@ -632,9 +632,6 @@ class TestPostProcessPop3: await proc.post_process_pop3(["uid-a"]) # must not raise - - - class TestForwardEmail: """Unit tests for forward_email()."""