]> git.ipfire.org Git - thirdparty/paperless-ngx.git/commitdiff
Return default 'ALL' mailbox criterias for some imap servers 3554/head
authorshamoon <4887959+shamoon@users.noreply.github.com>
Wed, 7 Jun 2023 03:00:31 +0000 (20:00 -0700)
committershamoon <4887959+shamoon@users.noreply.github.com>
Wed, 7 Jun 2023 03:00:31 +0000 (20:00 -0700)
src/paperless_mail/mail.py
src/paperless_mail/tests/test_mail.py

index b525ef91d3f3dee87c384a4f69f846d5866863cf..bfb306e5abcbbe81e37a1b818a3772cfc1dbb883 100644 (file)
@@ -384,6 +384,8 @@ def make_criterias(rule: MailRule, supports_gmail_labels: bool):
     if isinstance(rule_query, dict):
         if len(rule_query) or len(criterias):
             return AND(**rule_query, **criterias)
+        else:
+            return "ALL"
     else:
         return AND(rule_query, **criterias)
 
index e69dbbef8ff16e97a959d408dfbf4bbae17ddfee..82b874fd808b6b43c0c3ac24c0d21970e9dc39d3 100644 (file)
@@ -721,6 +721,31 @@ class TestMail(
         self.assertEqual(len(self.bogus_mailbox.messages), 2)
         self.assertEqual(len(self.bogus_mailbox.messages_spam), 1)
 
+    def test_handle_mail_account_move_no_filters(self):
+        account = MailAccount.objects.create(
+            name="test",
+            imap_server="",
+            username="admin",
+            password="secret",
+        )
+
+        _ = MailRule.objects.create(
+            name="testrule",
+            account=account,
+            action=MailRule.MailAction.MOVE,
+            action_parameter="spam",
+            maximum_age=0,
+        )
+
+        self.assertEqual(len(self.bogus_mailbox.messages), 3)
+        self.assertEqual(len(self.bogus_mailbox.messages_spam), 0)
+
+        self.mail_account_handler.handle_mail_account(account)
+        self.apply_mail_actions()
+
+        self.assertEqual(len(self.bogus_mailbox.messages), 0)
+        self.assertEqual(len(self.bogus_mailbox.messages_spam), 3)
+
     def test_handle_mail_account_tag(self):
         account = MailAccount.objects.create(
             name="test",