From 1331ffa93faa7a61ee2fca678c42295bffc40f74 Mon Sep 17 00:00:00 2001 From: shamoon <4887959+shamoon@users.noreply.github.com> Date: Sat, 30 Dec 2023 22:48:55 -0800 Subject: [PATCH] Cover mailrule in consumption template migration --- src/documents/tests/test_migration_workflows.py | 16 +++++++++++++--- src/documents/tests/utils.py | 3 +++ 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/src/documents/tests/test_migration_workflows.py b/src/documents/tests/test_migration_workflows.py index 14db8e5f3..742757783 100644 --- a/src/documents/tests/test_migration_workflows.py +++ b/src/documents/tests/test_migration_workflows.py @@ -5,6 +5,9 @@ from documents.tests.utils import TestMigrations class TestMigrateWorkflow(TestMigrations): migrate_from = "1043_alter_savedviewfilterrule_rule_type" migrate_to = "1044_workflow_workflowaction_workflowtrigger_and_more" + dependencies = ( + ("paperless_mail", "0023_remove_mailrule_filter_attachment_filename_and_more"), + ) def setUpBeforeMigration(self, apps): User = apps.get_model("auth", "User") @@ -29,14 +32,20 @@ class TestMigrateWorkflow(TestMigrations): name="Custom Field 1", data_type="string", ) + ma = apps.get_model("paperless_mail", "MailAccount").objects.create( + name="MailAccount 1", + ) + mr = apps.get_model("paperless_mail", "MailRule").objects.create( + name="MailRule 1", + order=0, + account=ma, + ) user2 = User.objects.create(username="user2") user3 = User.objects.create(username="user3") group2 = Group.objects.create(name="group2") - model_name = "ConsumptionTemplate" - app_name = "documents" - ConsumptionTemplate = apps.get_model(app_label=app_name, model_name=model_name) + ConsumptionTemplate = apps.get_model("documents", "ConsumptionTemplate") ct = ConsumptionTemplate.objects.create( name="Template 1", @@ -44,6 +53,7 @@ class TestMigrateWorkflow(TestMigrations): sources=f"{DocumentSource.ApiUpload},{DocumentSource.ConsumeFolder},{DocumentSource.MailFetch}", filter_filename="*simple*", filter_path="*/samples/*", + filter_mailrule=mr, assign_title="Doc from {correspondent}", assign_correspondent=c, assign_document_type=dt, diff --git a/src/documents/tests/utils.py b/src/documents/tests/utils.py index fe7dbb059..0b6d8fcad 100644 --- a/src/documents/tests/utils.py +++ b/src/documents/tests/utils.py @@ -265,6 +265,7 @@ class TestMigrations(TransactionTestCase): return apps.get_containing_app_config(type(self).__module__).name migrate_from = None + dependencies = None migrate_to = None auto_migrate = True @@ -277,6 +278,8 @@ class TestMigrations(TransactionTestCase): type(self).__name__, ) self.migrate_from = [(self.app, self.migrate_from)] + if self.dependencies is not None: + self.migrate_from.extend(self.dependencies) self.migrate_to = [(self.app, self.migrate_to)] executor = MigrationExecutor(connection) old_apps = executor.loader.project_state(self.migrate_from).apps