diff --git a/pyproject.toml b/pyproject.toml index 01445a5a7..ada6a23ba 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -203,36 +203,6 @@ lint.per-file-ignores."docker/wait-for-redis.py" = [ lint.per-file-ignores."src/documents/migrations/1012_fix_archive_files.py" = [ "PTH", ] # TODO Enable & remove -lint.per-file-ignores."src/documents/tests/test_consumer.py" = [ - "PTH", -] # TODO Enable & remove -lint.per-file-ignores."src/documents/tests/test_file_handling.py" = [ - "PTH", -] # TODO Enable & remove -lint.per-file-ignores."src/documents/tests/test_management.py" = [ - "PTH", -] # TODO Enable & remove -lint.per-file-ignores."src/documents/tests/test_management_consumer.py" = [ - "PTH", -] # TODO Enable & remove -lint.per-file-ignores."src/documents/tests/test_management_exporter.py" = [ - "PTH", -] # TODO Enable & remove -lint.per-file-ignores."src/documents/tests/test_migration_archive_files.py" = [ - "PTH", -] # TODO Enable & remove -lint.per-file-ignores."src/documents/tests/test_migration_document_pages_count.py" = [ - "PTH", -] # TODO Enable & remove -lint.per-file-ignores."src/documents/tests/test_migration_mime_type.py" = [ - "PTH", -] # TODO Enable & remove -lint.per-file-ignores."src/documents/tests/test_sanity_check.py" = [ - "PTH", -] # TODO Enable & remove -lint.per-file-ignores."src/documents/views.py" = [ - "PTH", -] # TODO Enable & remove lint.per-file-ignores."src/paperless/checks.py" = [ "PTH", ] # TODO Enable & remove @@ -257,6 +227,33 @@ lint.per-file-ignores."src/paperless/settings.py" = [ lint.per-file-ignores."src/paperless/signals/handlers.py" = [ "PTH", ] # TODO Enable & remove +lint.per-file-ignores."src/paperless/tests/test_consumer.py" = [ + "PTH", +] # TODO Enable & remove +lint.per-file-ignores."src/paperless/tests/test_file_handling.py" = [ + "PTH", +] # TODO Enable & remove +lint.per-file-ignores."src/paperless/tests/test_management.py" = [ + "PTH", +] # TODO Enable & remove +lint.per-file-ignores."src/paperless/tests/test_management_consumer.py" = [ + "PTH", +] # TODO Enable & remove +lint.per-file-ignores."src/paperless/tests/test_management_exporter.py" = [ + "PTH", +] # TODO Enable & remove +lint.per-file-ignores."src/paperless/tests/test_migration_archive_files.py" = [ + "PTH", +] # TODO Enable & remove +lint.per-file-ignores."src/paperless/tests/test_migration_document_pages_count.py" = [ + "PTH", +] # TODO Enable & remove +lint.per-file-ignores."src/paperless/tests/test_migration_mime_type.py" = [ + "PTH", +] # TODO Enable & remove +lint.per-file-ignores."src/paperless/tests/test_sanity_check.py" = [ + "PTH", +] # TODO Enable & remove lint.per-file-ignores."src/paperless/views.py" = [ "PTH", ] # TODO Enable & remove diff --git a/src/documents/tests/__init__.py b/src/documents/tests/__init__.py deleted file mode 100644 index e69de29bb..000000000 diff --git a/src/documents/tests/test_checks.py b/src/documents/tests/test_checks.py deleted file mode 100644 index 8f6ab795b..000000000 --- a/src/documents/tests/test_checks.py +++ /dev/null @@ -1,91 +0,0 @@ -import textwrap -from unittest import mock - -from django.core.checks import Error -from django.core.checks import Warning -from django.test import TestCase -from django.test import override_settings - -from documents.tests.factories import DocumentFactory -from paperless.checks import changed_password_check -from paperless.checks import filename_format_check -from paperless.checks import parser_check -from paperless.models import Document - - -class TestDocumentChecks(TestCase): - def test_changed_password_check_empty_db(self): - self.assertListEqual(changed_password_check(None), []) - - def test_changed_password_check_no_encryption(self): - DocumentFactory.create(storage_type=Document.STORAGE_TYPE_UNENCRYPTED) - self.assertListEqual(changed_password_check(None), []) - - def test_encrypted_missing_passphrase(self): - DocumentFactory.create(storage_type=Document.STORAGE_TYPE_GPG) - msgs = changed_password_check(None) - self.assertEqual(len(msgs), 1) - msg_text = msgs[0].msg - self.assertEqual( - msg_text, - "The database contains encrypted documents but no password is set.", - ) - - @override_settings( - PASSPHRASE="test", - ) - @mock.patch("paperless.db.GnuPG.decrypted") - @mock.patch("documents.models.Document.source_file") - def test_encrypted_decrypt_fails(self, mock_decrypted, mock_source_file): - mock_decrypted.return_value = None - mock_source_file.return_value = b"" - - DocumentFactory.create(storage_type=Document.STORAGE_TYPE_GPG) - - msgs = changed_password_check(None) - - self.assertEqual(len(msgs), 1) - msg_text = msgs[0].msg - self.assertEqual( - msg_text, - textwrap.dedent( - """ - The current password doesn't match the password of the - existing documents. - - If you intend to change your password, you must first export - all of the old documents, start fresh with the new password - and then re-import them." - """, - ), - ) - - def test_parser_check(self): - self.assertEqual(parser_check(None), []) - - with mock.patch("documents.checks.document_consumer_declaration.send") as m: - m.return_value = [] - - self.assertEqual( - parser_check(None), - [ - Error( - "No parsers found. This is a bug. The consumer won't be " - "able to consume any documents without parsers.", - ), - ], - ) - - def test_filename_format_check(self): - self.assertEqual(filename_format_check(None), []) - - with override_settings(FILENAME_FORMAT="{created}/{title}"): - self.assertEqual( - filename_format_check(None), - [ - Warning( - "Filename format {created}/{title} is using the old style, please update to use double curly brackets", - hint="{{ created }}/{{ title }}", - ), - ], - ) diff --git a/src/documents/tests/conftest.py b/src/paperless/tests/conftest.py similarity index 100% rename from src/documents/tests/conftest.py rename to src/paperless/tests/conftest.py diff --git a/src/documents/tests/data/v1.17.4.model.pickle b/src/paperless/tests/data/v1.17.4.model.pickle similarity index 100% rename from src/documents/tests/data/v1.17.4.model.pickle rename to src/paperless/tests/data/v1.17.4.model.pickle diff --git a/src/documents/tests/examples/no-text.png b/src/paperless/tests/examples/no-text.png similarity index 100% rename from src/documents/tests/examples/no-text.png rename to src/paperless/tests/examples/no-text.png diff --git a/src/documents/tests/factories.py b/src/paperless/tests/factories.py similarity index 100% rename from src/documents/tests/factories.py rename to src/paperless/tests/factories.py diff --git a/src/documents/tests/samples/barcodes/barcode-128-asn-too-large.pdf b/src/paperless/tests/samples/barcodes/barcode-128-asn-too-large.pdf similarity index 100% rename from src/documents/tests/samples/barcodes/barcode-128-asn-too-large.pdf rename to src/paperless/tests/samples/barcodes/barcode-128-asn-too-large.pdf diff --git a/src/documents/tests/samples/barcodes/barcode-128-custom.pdf b/src/paperless/tests/samples/barcodes/barcode-128-custom.pdf similarity index 100% rename from src/documents/tests/samples/barcodes/barcode-128-custom.pdf rename to src/paperless/tests/samples/barcodes/barcode-128-custom.pdf diff --git a/src/documents/tests/samples/barcodes/barcode-39-asn-123.pdf b/src/paperless/tests/samples/barcodes/barcode-39-asn-123.pdf similarity index 100% rename from src/documents/tests/samples/barcodes/barcode-39-asn-123.pdf rename to src/paperless/tests/samples/barcodes/barcode-39-asn-123.pdf diff --git a/src/documents/tests/samples/barcodes/barcode-39-asn-custom-prefix.pdf b/src/paperless/tests/samples/barcodes/barcode-39-asn-custom-prefix.pdf similarity index 100% rename from src/documents/tests/samples/barcodes/barcode-39-asn-custom-prefix.pdf rename to src/paperless/tests/samples/barcodes/barcode-39-asn-custom-prefix.pdf diff --git a/src/documents/tests/samples/barcodes/barcode-39-asn-invalid.pdf b/src/paperless/tests/samples/barcodes/barcode-39-asn-invalid.pdf similarity index 100% rename from src/documents/tests/samples/barcodes/barcode-39-asn-invalid.pdf rename to src/paperless/tests/samples/barcodes/barcode-39-asn-invalid.pdf diff --git a/src/documents/tests/samples/barcodes/barcode-39-custom.pdf b/src/paperless/tests/samples/barcodes/barcode-39-custom.pdf similarity index 100% rename from src/documents/tests/samples/barcodes/barcode-39-custom.pdf rename to src/paperless/tests/samples/barcodes/barcode-39-custom.pdf diff --git a/src/documents/tests/samples/barcodes/barcode-fax-image.pdf b/src/paperless/tests/samples/barcodes/barcode-fax-image.pdf similarity index 100% rename from src/documents/tests/samples/barcodes/barcode-fax-image.pdf rename to src/paperless/tests/samples/barcodes/barcode-fax-image.pdf diff --git a/src/documents/tests/samples/barcodes/barcode-qr-asn-000123-upscale-dpi.pdf b/src/paperless/tests/samples/barcodes/barcode-qr-asn-000123-upscale-dpi.pdf similarity index 100% rename from src/documents/tests/samples/barcodes/barcode-qr-asn-000123-upscale-dpi.pdf rename to src/paperless/tests/samples/barcodes/barcode-qr-asn-000123-upscale-dpi.pdf diff --git a/src/documents/tests/samples/barcodes/barcode-qr-custom.pdf b/src/paperless/tests/samples/barcodes/barcode-qr-custom.pdf similarity index 100% rename from src/documents/tests/samples/barcodes/barcode-qr-custom.pdf rename to src/paperless/tests/samples/barcodes/barcode-qr-custom.pdf diff --git a/src/documents/tests/samples/barcodes/many-qr-codes.pdf b/src/paperless/tests/samples/barcodes/many-qr-codes.pdf similarity index 100% rename from src/documents/tests/samples/barcodes/many-qr-codes.pdf rename to src/paperless/tests/samples/barcodes/many-qr-codes.pdf diff --git a/src/documents/tests/samples/barcodes/patch-code-t-double.pdf b/src/paperless/tests/samples/barcodes/patch-code-t-double.pdf similarity index 100% rename from src/documents/tests/samples/barcodes/patch-code-t-double.pdf rename to src/paperless/tests/samples/barcodes/patch-code-t-double.pdf diff --git a/src/documents/tests/samples/barcodes/patch-code-t-middle-alpha.tiff b/src/paperless/tests/samples/barcodes/patch-code-t-middle-alpha.tiff similarity index 100% rename from src/documents/tests/samples/barcodes/patch-code-t-middle-alpha.tiff rename to src/paperless/tests/samples/barcodes/patch-code-t-middle-alpha.tiff diff --git a/src/documents/tests/samples/barcodes/patch-code-t-middle-distorted.pdf b/src/paperless/tests/samples/barcodes/patch-code-t-middle-distorted.pdf similarity index 100% rename from src/documents/tests/samples/barcodes/patch-code-t-middle-distorted.pdf rename to src/paperless/tests/samples/barcodes/patch-code-t-middle-distorted.pdf diff --git a/src/documents/tests/samples/barcodes/patch-code-t-middle-fuzzy.pdf b/src/paperless/tests/samples/barcodes/patch-code-t-middle-fuzzy.pdf similarity index 100% rename from src/documents/tests/samples/barcodes/patch-code-t-middle-fuzzy.pdf rename to src/paperless/tests/samples/barcodes/patch-code-t-middle-fuzzy.pdf diff --git a/src/documents/tests/samples/barcodes/patch-code-t-middle-reverse.pdf b/src/paperless/tests/samples/barcodes/patch-code-t-middle-reverse.pdf similarity index 100% rename from src/documents/tests/samples/barcodes/patch-code-t-middle-reverse.pdf rename to src/paperless/tests/samples/barcodes/patch-code-t-middle-reverse.pdf diff --git a/src/documents/tests/samples/barcodes/patch-code-t-middle-unreadable.pdf b/src/paperless/tests/samples/barcodes/patch-code-t-middle-unreadable.pdf similarity index 100% rename from src/documents/tests/samples/barcodes/patch-code-t-middle-unreadable.pdf rename to src/paperless/tests/samples/barcodes/patch-code-t-middle-unreadable.pdf diff --git a/src/documents/tests/samples/barcodes/patch-code-t-middle.pdf b/src/paperless/tests/samples/barcodes/patch-code-t-middle.pdf similarity index 100% rename from src/documents/tests/samples/barcodes/patch-code-t-middle.pdf rename to src/paperless/tests/samples/barcodes/patch-code-t-middle.pdf diff --git a/src/documents/tests/samples/barcodes/patch-code-t-middle.tiff b/src/paperless/tests/samples/barcodes/patch-code-t-middle.tiff similarity index 100% rename from src/documents/tests/samples/barcodes/patch-code-t-middle.tiff rename to src/paperless/tests/samples/barcodes/patch-code-t-middle.tiff diff --git a/src/documents/tests/samples/barcodes/patch-code-t-qr.pdf b/src/paperless/tests/samples/barcodes/patch-code-t-qr.pdf similarity index 100% rename from src/documents/tests/samples/barcodes/patch-code-t-qr.pdf rename to src/paperless/tests/samples/barcodes/patch-code-t-qr.pdf diff --git a/src/documents/tests/samples/barcodes/patch-code-t.pdf b/src/paperless/tests/samples/barcodes/patch-code-t.pdf similarity index 100% rename from src/documents/tests/samples/barcodes/patch-code-t.pdf rename to src/paperless/tests/samples/barcodes/patch-code-t.pdf diff --git a/src/documents/tests/samples/barcodes/several-patcht-codes.pdf b/src/paperless/tests/samples/barcodes/several-patcht-codes.pdf similarity index 100% rename from src/documents/tests/samples/barcodes/several-patcht-codes.pdf rename to src/paperless/tests/samples/barcodes/several-patcht-codes.pdf diff --git a/src/documents/tests/samples/barcodes/split-by-asn-1.pdf b/src/paperless/tests/samples/barcodes/split-by-asn-1.pdf similarity index 100% rename from src/documents/tests/samples/barcodes/split-by-asn-1.pdf rename to src/paperless/tests/samples/barcodes/split-by-asn-1.pdf diff --git a/src/documents/tests/samples/barcodes/split-by-asn-2.pdf b/src/paperless/tests/samples/barcodes/split-by-asn-2.pdf similarity index 100% rename from src/documents/tests/samples/barcodes/split-by-asn-2.pdf rename to src/paperless/tests/samples/barcodes/split-by-asn-2.pdf diff --git a/src/documents/tests/samples/documents/archive/0000001.pdf b/src/paperless/tests/samples/documents/archive/0000001.pdf similarity index 100% rename from src/documents/tests/samples/documents/archive/0000001.pdf rename to src/paperless/tests/samples/documents/archive/0000001.pdf diff --git a/src/documents/tests/samples/documents/originals/0000001.pdf b/src/paperless/tests/samples/documents/originals/0000001.pdf similarity index 100% rename from src/documents/tests/samples/documents/originals/0000001.pdf rename to src/paperless/tests/samples/documents/originals/0000001.pdf diff --git a/src/documents/tests/samples/documents/originals/0000002.pdf b/src/paperless/tests/samples/documents/originals/0000002.pdf similarity index 100% rename from src/documents/tests/samples/documents/originals/0000002.pdf rename to src/paperless/tests/samples/documents/originals/0000002.pdf diff --git a/src/documents/tests/samples/documents/originals/0000003.pdf b/src/paperless/tests/samples/documents/originals/0000003.pdf similarity index 100% rename from src/documents/tests/samples/documents/originals/0000003.pdf rename to src/paperless/tests/samples/documents/originals/0000003.pdf diff --git a/src/documents/tests/samples/documents/originals/0000004.pdf.gpg b/src/paperless/tests/samples/documents/originals/0000004.pdf.gpg similarity index 100% rename from src/documents/tests/samples/documents/originals/0000004.pdf.gpg rename to src/paperless/tests/samples/documents/originals/0000004.pdf.gpg diff --git a/src/documents/tests/samples/documents/originals/0000005.pdf b/src/paperless/tests/samples/documents/originals/0000005.pdf similarity index 100% rename from src/documents/tests/samples/documents/originals/0000005.pdf rename to src/paperless/tests/samples/documents/originals/0000005.pdf diff --git a/src/documents/tests/samples/documents/originals/0000006.pdf b/src/paperless/tests/samples/documents/originals/0000006.pdf similarity index 100% rename from src/documents/tests/samples/documents/originals/0000006.pdf rename to src/paperless/tests/samples/documents/originals/0000006.pdf diff --git a/src/documents/tests/samples/documents/thumbnails/0000001.webp b/src/paperless/tests/samples/documents/thumbnails/0000001.webp similarity index 100% rename from src/documents/tests/samples/documents/thumbnails/0000001.webp rename to src/paperless/tests/samples/documents/thumbnails/0000001.webp diff --git a/src/documents/tests/samples/documents/thumbnails/0000002.webp b/src/paperless/tests/samples/documents/thumbnails/0000002.webp similarity index 100% rename from src/documents/tests/samples/documents/thumbnails/0000002.webp rename to src/paperless/tests/samples/documents/thumbnails/0000002.webp diff --git a/src/documents/tests/samples/documents/thumbnails/0000003.webp b/src/paperless/tests/samples/documents/thumbnails/0000003.webp similarity index 100% rename from src/documents/tests/samples/documents/thumbnails/0000003.webp rename to src/paperless/tests/samples/documents/thumbnails/0000003.webp diff --git a/src/documents/tests/samples/documents/thumbnails/0000004.webp.gpg b/src/paperless/tests/samples/documents/thumbnails/0000004.webp.gpg similarity index 100% rename from src/documents/tests/samples/documents/thumbnails/0000004.webp.gpg rename to src/paperless/tests/samples/documents/thumbnails/0000004.webp.gpg diff --git a/src/documents/tests/samples/double-sided-even.pdf b/src/paperless/tests/samples/double-sided-even.pdf similarity index 100% rename from src/documents/tests/samples/double-sided-even.pdf rename to src/paperless/tests/samples/double-sided-even.pdf diff --git a/src/documents/tests/samples/double-sided-odd.pdf b/src/paperless/tests/samples/double-sided-odd.pdf similarity index 100% rename from src/documents/tests/samples/double-sided-odd.pdf rename to src/paperless/tests/samples/double-sided-odd.pdf diff --git a/src/documents/tests/samples/eml_with_umlaut.eml b/src/paperless/tests/samples/eml_with_umlaut.eml similarity index 100% rename from src/documents/tests/samples/eml_with_umlaut.eml rename to src/paperless/tests/samples/eml_with_umlaut.eml diff --git a/src/documents/tests/samples/invalid_pdf.pdf b/src/paperless/tests/samples/invalid_pdf.pdf similarity index 100% rename from src/documents/tests/samples/invalid_pdf.pdf rename to src/paperless/tests/samples/invalid_pdf.pdf diff --git a/src/documents/tests/samples/password-is-test.pdf b/src/paperless/tests/samples/password-is-test.pdf similarity index 100% rename from src/documents/tests/samples/password-is-test.pdf rename to src/paperless/tests/samples/password-is-test.pdf diff --git a/src/documents/tests/samples/simple-noalpha.png b/src/paperless/tests/samples/simple-noalpha.png similarity index 100% rename from src/documents/tests/samples/simple-noalpha.png rename to src/paperless/tests/samples/simple-noalpha.png diff --git a/src/documents/tests/samples/simple.jpg b/src/paperless/tests/samples/simple.jpg similarity index 100% rename from src/documents/tests/samples/simple.jpg rename to src/paperless/tests/samples/simple.jpg diff --git a/src/documents/tests/samples/simple.pdf b/src/paperless/tests/samples/simple.pdf similarity index 100% rename from src/documents/tests/samples/simple.pdf rename to src/paperless/tests/samples/simple.pdf diff --git a/src/documents/tests/samples/simple.png b/src/paperless/tests/samples/simple.png similarity index 100% rename from src/documents/tests/samples/simple.png rename to src/paperless/tests/samples/simple.png diff --git a/src/documents/tests/samples/simple.tiff b/src/paperless/tests/samples/simple.tiff similarity index 100% rename from src/documents/tests/samples/simple.tiff rename to src/paperless/tests/samples/simple.tiff diff --git a/src/documents/tests/samples/simple.txt b/src/paperless/tests/samples/simple.txt similarity index 100% rename from src/documents/tests/samples/simple.txt rename to src/paperless/tests/samples/simple.txt diff --git a/src/documents/tests/samples/simple.zip b/src/paperless/tests/samples/simple.zip similarity index 100% rename from src/documents/tests/samples/simple.zip rename to src/paperless/tests/samples/simple.zip diff --git a/src/documents/tests/samples/test_with_bom.pdf b/src/paperless/tests/samples/test_with_bom.pdf similarity index 100% rename from src/documents/tests/samples/test_with_bom.pdf rename to src/paperless/tests/samples/test_with_bom.pdf diff --git a/src/documents/tests/test_admin.py b/src/paperless/tests/test_admin.py similarity index 98% rename from src/documents/tests/test_admin.py rename to src/paperless/tests/test_admin.py index bcd9b3ff1..6fec149bc 100644 --- a/src/documents/tests/test_admin.py +++ b/src/paperless/tests/test_admin.py @@ -5,11 +5,11 @@ from django.contrib.auth.models import User from django.test import TestCase from django.utils import timezone -from documents.tests.utils import DirectoriesMixin from paperless import index from paperless.admin import DocumentAdmin from paperless.admin import PaperlessUserAdmin from paperless.models import Document +from paperless.tests.utils import DirectoriesMixin class TestDocumentAdmin(DirectoriesMixin, TestCase): diff --git a/src/documents/tests/test_api_app_config.py b/src/paperless/tests/test_api_app_config.py similarity index 98% rename from src/documents/tests/test_api_app_config.py rename to src/paperless/tests/test_api_app_config.py index df5f9e2ad..33e5c55cf 100644 --- a/src/documents/tests/test_api_app_config.py +++ b/src/paperless/tests/test_api_app_config.py @@ -5,9 +5,9 @@ from django.contrib.auth.models import User from rest_framework import status from rest_framework.test import APITestCase -from documents.tests.utils import DirectoriesMixin from paperless.models import ApplicationConfiguration from paperless.models import ColorConvertChoices +from paperless.tests.utils import DirectoriesMixin class TestApiAppConfig(DirectoriesMixin, APITestCase): diff --git a/src/documents/tests/test_api_bulk_download.py b/src/paperless/tests/test_api_bulk_download.py similarity index 99% rename from src/documents/tests/test_api_bulk_download.py rename to src/paperless/tests/test_api_bulk_download.py index 0561fa9c3..cb5a5f740 100644 --- a/src/documents/tests/test_api_bulk_download.py +++ b/src/paperless/tests/test_api_bulk_download.py @@ -10,11 +10,11 @@ from django.utils import timezone from rest_framework import status from rest_framework.test import APITestCase -from documents.tests.utils import DirectoriesMixin -from documents.tests.utils import SampleDirMixin from paperless.models import Correspondent from paperless.models import Document from paperless.models import DocumentType +from paperless.tests.utils import DirectoriesMixin +from paperless.tests.utils import SampleDirMixin class TestBulkDownload(DirectoriesMixin, SampleDirMixin, APITestCase): diff --git a/src/documents/tests/test_api_bulk_edit.py b/src/paperless/tests/test_api_bulk_edit.py similarity index 99% rename from src/documents/tests/test_api_bulk_edit.py rename to src/paperless/tests/test_api_bulk_edit.py index 701e459fb..8db30cfe1 100644 --- a/src/documents/tests/test_api_bulk_edit.py +++ b/src/paperless/tests/test_api_bulk_edit.py @@ -9,13 +9,13 @@ from guardian.shortcuts import assign_perm from rest_framework import status from rest_framework.test import APITestCase -from documents.tests.utils import DirectoriesMixin from paperless.models import Correspondent from paperless.models import CustomField from paperless.models import Document from paperless.models import DocumentType from paperless.models import StoragePath from paperless.models import Tag +from paperless.tests.utils import DirectoriesMixin class TestBulkEditAPI(DirectoriesMixin, APITestCase): diff --git a/src/documents/tests/test_api_custom_fields.py b/src/paperless/tests/test_api_custom_fields.py similarity index 99% rename from src/documents/tests/test_api_custom_fields.py rename to src/paperless/tests/test_api_custom_fields.py index d452f0a4f..4717e5492 100644 --- a/src/documents/tests/test_api_custom_fields.py +++ b/src/paperless/tests/test_api_custom_fields.py @@ -7,10 +7,10 @@ from django.contrib.auth.models import User from rest_framework import status from rest_framework.test import APITestCase -from documents.tests.utils import DirectoriesMixin from paperless.models import CustomField from paperless.models import CustomFieldInstance from paperless.models import Document +from paperless.tests.utils import DirectoriesMixin class TestCustomFieldsAPI(DirectoriesMixin, APITestCase): diff --git a/src/documents/tests/test_api_documents.py b/src/paperless/tests/test_api_documents.py similarity index 99% rename from src/documents/tests/test_api_documents.py rename to src/paperless/tests/test_api_documents.py index 95ca9b2bb..57ec8077f 100644 --- a/src/documents/tests/test_api_documents.py +++ b/src/paperless/tests/test_api_documents.py @@ -24,8 +24,6 @@ from guardian.shortcuts import assign_perm from rest_framework import status from rest_framework.test import APITestCase -from documents.tests.utils import DirectoriesMixin -from documents.tests.utils import DocumentConsumeDelayMixin from paperless.caching import CACHE_50_MINUTES from paperless.caching import CLASSIFIER_HASH_KEY from paperless.caching import CLASSIFIER_MODIFIED_KEY @@ -46,6 +44,8 @@ from paperless.models import Workflow from paperless.models import WorkflowAction from paperless.models import WorkflowTrigger from paperless.signals.handlers import run_workflows +from paperless.tests.utils import DirectoriesMixin +from paperless.tests.utils import DocumentConsumeDelayMixin class TestDocumentApi(DirectoriesMixin, DocumentConsumeDelayMixin, APITestCase): diff --git a/src/documents/tests/test_api_filter_by_custom_fields.py b/src/paperless/tests/test_api_filter_by_custom_fields.py similarity index 99% rename from src/documents/tests/test_api_filter_by_custom_fields.py rename to src/paperless/tests/test_api_filter_by_custom_fields.py index c5e0ca0ce..f58bc6504 100644 --- a/src/documents/tests/test_api_filter_by_custom_fields.py +++ b/src/paperless/tests/test_api_filter_by_custom_fields.py @@ -7,10 +7,10 @@ from urllib.parse import quote from django.contrib.auth.models import User from rest_framework.test import APITestCase -from documents.tests.utils import DirectoriesMixin from paperless.models import CustomField from paperless.models import Document from paperless.serialisers import DocumentSerializer +from paperless.tests.utils import DirectoriesMixin class DocumentWrapper: diff --git a/src/documents/tests/test_api_objects.py b/src/paperless/tests/test_api_objects.py similarity index 99% rename from src/documents/tests/test_api_objects.py rename to src/paperless/tests/test_api_objects.py index 98ed794c8..6c575bd55 100644 --- a/src/documents/tests/test_api_objects.py +++ b/src/paperless/tests/test_api_objects.py @@ -8,12 +8,12 @@ from django.utils import timezone from rest_framework import status from rest_framework.test import APITestCase -from documents.tests.utils import DirectoriesMixin from paperless.models import Correspondent from paperless.models import Document from paperless.models import DocumentType from paperless.models import StoragePath from paperless.models import Tag +from paperless.tests.utils import DirectoriesMixin class TestApiObjects(DirectoriesMixin, APITestCase): diff --git a/src/documents/tests/test_api_permissions.py b/src/paperless/tests/test_api_permissions.py similarity index 99% rename from src/documents/tests/test_api_permissions.py rename to src/paperless/tests/test_api_permissions.py index 4cfd06c38..0df0eb3b5 100644 --- a/src/documents/tests/test_api_permissions.py +++ b/src/paperless/tests/test_api_permissions.py @@ -13,13 +13,13 @@ from guardian.shortcuts import get_users_with_perms from rest_framework import status from rest_framework.test import APITestCase -from documents.tests.utils import DirectoriesMixin from paperless.models import Correspondent from paperless.models import Document from paperless.models import DocumentType from paperless.models import MatchingModel from paperless.models import StoragePath from paperless.models import Tag +from paperless.tests.utils import DirectoriesMixin class TestApiAuth(DirectoriesMixin, APITestCase): diff --git a/src/documents/tests/test_api_profile.py b/src/paperless/tests/test_api_profile.py similarity index 99% rename from src/documents/tests/test_api_profile.py rename to src/paperless/tests/test_api_profile.py index 1075a0af8..3686c23a7 100644 --- a/src/documents/tests/test_api_profile.py +++ b/src/paperless/tests/test_api_profile.py @@ -8,7 +8,7 @@ from rest_framework import status from rest_framework.authtoken.models import Token from rest_framework.test import APITestCase -from documents.tests.utils import DirectoriesMixin +from paperless.tests.utils import DirectoriesMixin # see allauth.socialaccount.providers.openid.provider.OpenIDProvider diff --git a/src/documents/tests/test_api_remote_version.py b/src/paperless/tests/test_api_remote_version.py similarity index 100% rename from src/documents/tests/test_api_remote_version.py rename to src/paperless/tests/test_api_remote_version.py diff --git a/src/documents/tests/test_api_schema.py b/src/paperless/tests/test_api_schema.py similarity index 100% rename from src/documents/tests/test_api_schema.py rename to src/paperless/tests/test_api_schema.py diff --git a/src/documents/tests/test_api_search.py b/src/paperless/tests/test_api_search.py similarity index 99% rename from src/documents/tests/test_api_search.py rename to src/paperless/tests/test_api_search.py index 391261c1e..1202189e6 100644 --- a/src/documents/tests/test_api_search.py +++ b/src/paperless/tests/test_api_search.py @@ -14,7 +14,6 @@ from rest_framework import status from rest_framework.test import APITestCase from whoosh.writing import AsyncWriter -from documents.tests.utils import DirectoriesMixin from paperless import index from paperless.bulk_edit import set_permissions from paperless.models import Correspondent @@ -27,6 +26,7 @@ from paperless.models import SavedView from paperless.models import StoragePath from paperless.models import Tag from paperless.models import Workflow +from paperless.tests.utils import DirectoriesMixin from paperless_mail.models import MailAccount from paperless_mail.models import MailRule diff --git a/src/documents/tests/test_api_status.py b/src/paperless/tests/test_api_status.py similarity index 100% rename from src/documents/tests/test_api_status.py rename to src/paperless/tests/test_api_status.py diff --git a/src/documents/tests/test_api_tasks.py b/src/paperless/tests/test_api_tasks.py similarity index 99% rename from src/documents/tests/test_api_tasks.py rename to src/paperless/tests/test_api_tasks.py index 15e0a5e04..90e61abcd 100644 --- a/src/documents/tests/test_api_tasks.py +++ b/src/paperless/tests/test_api_tasks.py @@ -7,8 +7,8 @@ from django.contrib.auth.models import User from rest_framework import status from rest_framework.test import APITestCase -from documents.tests.utils import DirectoriesMixin from paperless.models import PaperlessTask +from paperless.tests.utils import DirectoriesMixin from paperless.views import TasksViewSet diff --git a/src/documents/tests/test_api_trash.py b/src/paperless/tests/test_api_trash.py similarity index 100% rename from src/documents/tests/test_api_trash.py rename to src/paperless/tests/test_api_trash.py diff --git a/src/documents/tests/test_api_uisettings.py b/src/paperless/tests/test_api_uisettings.py similarity index 98% rename from src/documents/tests/test_api_uisettings.py rename to src/paperless/tests/test_api_uisettings.py index e3b9d4999..00a439b84 100644 --- a/src/documents/tests/test_api_uisettings.py +++ b/src/paperless/tests/test_api_uisettings.py @@ -6,7 +6,7 @@ from django.test import override_settings from rest_framework import status from rest_framework.test import APITestCase -from documents.tests.utils import DirectoriesMixin +from paperless.tests.utils import DirectoriesMixin class TestApiUiSettings(DirectoriesMixin, APITestCase): diff --git a/src/documents/tests/test_api_workflows.py b/src/paperless/tests/test_api_workflows.py similarity index 99% rename from src/documents/tests/test_api_workflows.py rename to src/paperless/tests/test_api_workflows.py index 9c76bacd7..5f7a54d22 100644 --- a/src/documents/tests/test_api_workflows.py +++ b/src/paperless/tests/test_api_workflows.py @@ -5,7 +5,6 @@ from django.contrib.auth.models import User from rest_framework import status from rest_framework.test import APITestCase -from documents.tests.utils import DirectoriesMixin from paperless.data_models import DocumentSource from paperless.models import Correspondent from paperless.models import CustomField @@ -15,6 +14,7 @@ from paperless.models import Tag from paperless.models import Workflow from paperless.models import WorkflowAction from paperless.models import WorkflowTrigger +from paperless.tests.utils import DirectoriesMixin class TestApiWorkflows(DirectoriesMixin, APITestCase): diff --git a/src/documents/tests/test_barcodes.py b/src/paperless/tests/test_barcodes.py similarity index 99% rename from src/documents/tests/test_barcodes.py rename to src/paperless/tests/test_barcodes.py index bf255d6ba..184f30f17 100644 --- a/src/documents/tests/test_barcodes.py +++ b/src/paperless/tests/test_barcodes.py @@ -9,11 +9,6 @@ from django.conf import settings from django.test import TestCase from django.test import override_settings -from documents.tests.utils import DirectoriesMixin -from documents.tests.utils import DocumentConsumeDelayMixin -from documents.tests.utils import DummyProgressManager -from documents.tests.utils import FileSystemAssertsMixin -from documents.tests.utils import SampleDirMixin from paperless import tasks from paperless.barcodes import BarcodePlugin from paperless.data_models import ConsumableDocument @@ -22,6 +17,11 @@ from paperless.data_models import DocumentSource from paperless.models import Document from paperless.models import Tag from paperless.plugins.base import StopConsumeTaskError +from paperless.tests.utils import DirectoriesMixin +from paperless.tests.utils import DocumentConsumeDelayMixin +from paperless.tests.utils import DummyProgressManager +from paperless.tests.utils import FileSystemAssertsMixin +from paperless.tests.utils import SampleDirMixin try: import zxingcpp # noqa: F401 diff --git a/src/documents/tests/test_bulk_edit.py b/src/paperless/tests/test_bulk_edit.py similarity index 99% rename from src/documents/tests/test_bulk_edit.py rename to src/paperless/tests/test_bulk_edit.py index ae283a786..143267458 100644 --- a/src/documents/tests/test_bulk_edit.py +++ b/src/paperless/tests/test_bulk_edit.py @@ -9,7 +9,6 @@ from guardian.shortcuts import assign_perm from guardian.shortcuts import get_groups_with_perms from guardian.shortcuts import get_users_with_perms -from documents.tests.utils import DirectoriesMixin from paperless import bulk_edit from paperless.models import Correspondent from paperless.models import CustomField @@ -18,6 +17,7 @@ from paperless.models import Document from paperless.models import DocumentType from paperless.models import StoragePath from paperless.models import Tag +from paperless.tests.utils import DirectoriesMixin class TestBulkEdit(DirectoriesMixin, TestCase): diff --git a/src/paperless/tests/test_checks.py b/src/paperless/tests/test_checks.py index ff6c25e43..dfa4a5f1d 100644 --- a/src/paperless/tests/test_checks.py +++ b/src/paperless/tests/test_checks.py @@ -1,17 +1,103 @@ import os +import textwrap from pathlib import Path from unittest import mock +from django.core.checks import Error +from django.core.checks import Warning from django.test import TestCase from django.test import override_settings -from documents.tests.utils import DirectoriesMixin -from documents.tests.utils import FileSystemAssertsMixin +from documents.tests.factories import DocumentFactory from paperless.checks import audit_log_check from paperless.checks import binaries_check +from paperless.checks import changed_password_check from paperless.checks import debug_mode_check +from paperless.checks import filename_format_check +from paperless.checks import parser_check from paperless.checks import paths_check from paperless.checks import settings_values_check +from paperless.models import Document +from paperless.tests.utils import DirectoriesMixin +from paperless.tests.utils import FileSystemAssertsMixin + + +class TestDocumentChecks(TestCase): + def test_changed_password_check_empty_db(self): + self.assertListEqual(changed_password_check(None), []) + + def test_changed_password_check_no_encryption(self): + DocumentFactory.create(storage_type=Document.STORAGE_TYPE_UNENCRYPTED) + self.assertListEqual(changed_password_check(None), []) + + def test_encrypted_missing_passphrase(self): + DocumentFactory.create(storage_type=Document.STORAGE_TYPE_GPG) + msgs = changed_password_check(None) + self.assertEqual(len(msgs), 1) + msg_text = msgs[0].msg + self.assertEqual( + msg_text, + "The database contains encrypted documents but no password is set.", + ) + + @override_settings( + PASSPHRASE="test", + ) + @mock.patch("paperless.db.GnuPG.decrypted") + @mock.patch("documents.models.Document.source_file") + def test_encrypted_decrypt_fails(self, mock_decrypted, mock_source_file): + mock_decrypted.return_value = None + mock_source_file.return_value = b"" + + DocumentFactory.create(storage_type=Document.STORAGE_TYPE_GPG) + + msgs = changed_password_check(None) + + self.assertEqual(len(msgs), 1) + msg_text = msgs[0].msg + self.assertEqual( + msg_text, + textwrap.dedent( + """ + The current password doesn't match the password of the + existing documents. + + If you intend to change your password, you must first export + all of the old documents, start fresh with the new password + and then re-import them." + """, + ), + ) + + def test_parser_check(self): + self.assertEqual(parser_check(None), []) + + with mock.patch("documents.checks.document_consumer_declaration.send") as m: + m.return_value = [] + + self.assertEqual( + parser_check(None), + [ + Error( + "No parsers found. This is a bug. The consumer won't be " + "able to consume any documents without parsers.", + ), + ], + ) + + def test_filename_format_check(self): + self.assertEqual(filename_format_check(None), []) + + with override_settings(FILENAME_FORMAT="{created}/{title}"): + self.assertEqual( + filename_format_check(None), + [ + Warning( + "Filename format {created}/{title} is using the old style, please update to use double curly brackets", + hint="{{ created }}/{{ title }}", + ), + ], + ) class TestChecks(DirectoriesMixin, TestCase): diff --git a/src/documents/tests/test_classifier.py b/src/paperless/tests/test_classifier.py similarity index 99% rename from src/documents/tests/test_classifier.py rename to src/paperless/tests/test_classifier.py index 2e7d3232b..434ad5ab9 100644 --- a/src/documents/tests/test_classifier.py +++ b/src/paperless/tests/test_classifier.py @@ -8,7 +8,6 @@ from django.conf import settings from django.test import TestCase from django.test import override_settings -from documents.tests.utils import DirectoriesMixin from paperless.classifier import ClassifierModelCorruptError from paperless.classifier import DocumentClassifier from paperless.classifier import IncompatibleClassifierVersionError @@ -19,6 +18,7 @@ from paperless.models import DocumentType from paperless.models import MatchingModel from paperless.models import StoragePath from paperless.models import Tag +from paperless.tests.utils import DirectoriesMixin def dummy_preprocess(content: str): diff --git a/src/documents/tests/test_consumer.py b/src/paperless/tests/test_consumer.py similarity index 99% rename from src/documents/tests/test_consumer.py rename to src/paperless/tests/test_consumer.py index 1ac295c38..98bb11919 100644 --- a/src/documents/tests/test_consumer.py +++ b/src/paperless/tests/test_consumer.py @@ -17,9 +17,6 @@ from django.test import override_settings from django.utils import timezone from guardian.core import ObjectPermissionChecker -from documents.tests.utils import DirectoriesMixin -from documents.tests.utils import FileSystemAssertsMixin -from documents.tests.utils import GetConsumerMixin from paperless.consumer import ConsumerError from paperless.data_models import DocumentMetadataOverrides from paperless.data_models import DocumentSource @@ -33,6 +30,9 @@ from paperless.parsers import DocumentParser from paperless.parsers import ParseError from paperless.plugins.helpers import ProgressStatusOptions from paperless.tasks import sanity_check +from paperless.tests.utils import DirectoriesMixin +from paperless.tests.utils import FileSystemAssertsMixin +from paperless.tests.utils import GetConsumerMixin from paperless_mail.models import MailRule from paperless_mail.parsers import MailDocumentParser diff --git a/src/documents/tests/test_date_parsing.py b/src/paperless/tests/test_date_parsing.py similarity index 100% rename from src/documents/tests/test_date_parsing.py rename to src/paperless/tests/test_date_parsing.py diff --git a/src/documents/tests/test_delayedquery.py b/src/paperless/tests/test_delayedquery.py similarity index 100% rename from src/documents/tests/test_delayedquery.py rename to src/paperless/tests/test_delayedquery.py diff --git a/src/documents/tests/test_document_model.py b/src/paperless/tests/test_document_model.py similarity index 100% rename from src/documents/tests/test_document_model.py rename to src/paperless/tests/test_document_model.py diff --git a/src/documents/tests/test_double_sided.py b/src/paperless/tests/test_double_sided.py similarity index 98% rename from src/documents/tests/test_double_sided.py rename to src/paperless/tests/test_double_sided.py index cb769c96d..0b0d759b3 100644 --- a/src/documents/tests/test_double_sided.py +++ b/src/paperless/tests/test_double_sided.py @@ -9,15 +9,15 @@ from django.test import override_settings from pdfminer.high_level import extract_text from pikepdf import Pdf -from documents.tests.utils import DirectoriesMixin -from documents.tests.utils import DummyProgressManager -from documents.tests.utils import FileSystemAssertsMixin from paperless import tasks from paperless.consumer import ConsumerError from paperless.data_models import ConsumableDocument from paperless.data_models import DocumentSource from paperless.double_sided import STAGING_FILE_NAME from paperless.double_sided import TIMEOUT_MINUTES +from paperless.tests.utils import DirectoriesMixin +from paperless.tests.utils import DummyProgressManager +from paperless.tests.utils import FileSystemAssertsMixin @override_settings( diff --git a/src/documents/tests/test_file_handling.py b/src/paperless/tests/test_file_handling.py similarity index 99% rename from src/documents/tests/test_file_handling.py rename to src/paperless/tests/test_file_handling.py index 08d501f31..71777a1d5 100644 --- a/src/documents/tests/test_file_handling.py +++ b/src/paperless/tests/test_file_handling.py @@ -13,8 +13,6 @@ from django.test import TestCase from django.test import override_settings from django.utils import timezone -from documents.tests.utils import DirectoriesMixin -from documents.tests.utils import FileSystemAssertsMixin from paperless.file_handling import create_source_path_directory from paperless.file_handling import delete_empty_directories from paperless.file_handling import generate_filename @@ -25,6 +23,8 @@ from paperless.models import Document from paperless.models import DocumentType from paperless.models import StoragePath from paperless.tasks import empty_trash +from paperless.tests.utils import DirectoriesMixin +from paperless.tests.utils import FileSystemAssertsMixin class TestFileHandling(DirectoriesMixin, FileSystemAssertsMixin, TestCase): diff --git a/src/documents/tests/test_index.py b/src/paperless/tests/test_index.py similarity index 98% rename from src/documents/tests/test_index.py rename to src/paperless/tests/test_index.py index ecd16070c..99d92353f 100644 --- a/src/documents/tests/test_index.py +++ b/src/paperless/tests/test_index.py @@ -2,9 +2,9 @@ from unittest import mock from django.test import TestCase -from documents.tests.utils import DirectoriesMixin from paperless import index from paperless.models import Document +from paperless.tests.utils import DirectoriesMixin class TestAutoComplete(DirectoriesMixin, TestCase): diff --git a/src/documents/tests/test_management.py b/src/paperless/tests/test_management.py similarity index 98% rename from src/documents/tests/test_management.py rename to src/paperless/tests/test_management.py index f01db93ce..05d1535a6 100644 --- a/src/documents/tests/test_management.py +++ b/src/paperless/tests/test_management.py @@ -13,11 +13,11 @@ from django.core.management import call_command from django.test import TestCase from django.test import override_settings -from documents.tests.utils import DirectoriesMixin -from documents.tests.utils import FileSystemAssertsMixin from paperless.file_handling import generate_filename from paperless.models import Document from paperless.tasks import update_document_content_maybe_archive_file +from paperless.tests.utils import DirectoriesMixin +from paperless.tests.utils import FileSystemAssertsMixin sample_file = os.path.join(os.path.dirname(__file__), "samples", "simple.pdf") diff --git a/src/documents/tests/test_management_consumer.py b/src/paperless/tests/test_management_consumer.py similarity index 99% rename from src/documents/tests/test_management_consumer.py rename to src/paperless/tests/test_management_consumer.py index bb03922c3..19fe74971 100644 --- a/src/documents/tests/test_management_consumer.py +++ b/src/paperless/tests/test_management_consumer.py @@ -13,11 +13,11 @@ from django.test import TransactionTestCase from django.test import override_settings from documents.management.commands import document_consumer -from documents.tests.utils import DirectoriesMixin -from documents.tests.utils import DocumentConsumeDelayMixin from paperless.consumer import ConsumerError from paperless.data_models import ConsumableDocument from paperless.models import Tag +from paperless.tests.utils import DirectoriesMixin +from paperless.tests.utils import DocumentConsumeDelayMixin class ConsumerThread(Thread): diff --git a/src/documents/tests/test_management_exporter.py b/src/paperless/tests/test_management_exporter.py similarity index 99% rename from src/documents/tests/test_management_exporter.py rename to src/paperless/tests/test_management_exporter.py index b5b103646..6a1560754 100644 --- a/src/documents/tests/test_management_exporter.py +++ b/src/paperless/tests/test_management_exporter.py @@ -26,10 +26,6 @@ from guardian.shortcuts import assign_perm from documents.management.commands import document_exporter from documents.settings import EXPORTER_FILE_NAME -from documents.tests.utils import DirectoriesMixin -from documents.tests.utils import FileSystemAssertsMixin -from documents.tests.utils import SampleDirMixin -from documents.tests.utils import paperless_environment from paperless.models import Correspondent from paperless.models import CustomField from paperless.models import CustomFieldInstance @@ -43,6 +39,10 @@ from paperless.models import Workflow from paperless.models import WorkflowAction from paperless.models import WorkflowTrigger from paperless.sanity_checker import check_sanity +from paperless.tests.utils import DirectoriesMixin +from paperless.tests.utils import FileSystemAssertsMixin +from paperless.tests.utils import SampleDirMixin +from paperless.tests.utils import paperless_environment from paperless_mail.models import MailAccount diff --git a/src/documents/tests/test_management_fuzzy.py b/src/paperless/tests/test_management_fuzzy.py similarity index 100% rename from src/documents/tests/test_management_fuzzy.py rename to src/paperless/tests/test_management_fuzzy.py diff --git a/src/documents/tests/test_management_importer.py b/src/paperless/tests/test_management_importer.py similarity index 98% rename from src/documents/tests/test_management_importer.py rename to src/paperless/tests/test_management_importer.py index 29daa5bf6..4500aa3bd 100644 --- a/src/documents/tests/test_management_importer.py +++ b/src/paperless/tests/test_management_importer.py @@ -11,10 +11,10 @@ from django.test import TestCase from documents.management.commands.document_importer import Command from documents.settings import EXPORTER_ARCHIVE_NAME from documents.settings import EXPORTER_FILE_NAME -from documents.tests.utils import DirectoriesMixin -from documents.tests.utils import FileSystemAssertsMixin -from documents.tests.utils import SampleDirMixin from paperless.models import Document +from paperless.tests.utils import DirectoriesMixin +from paperless.tests.utils import FileSystemAssertsMixin +from paperless.tests.utils import SampleDirMixin class TestCommandImport( diff --git a/src/documents/tests/test_management_retagger.py b/src/paperless/tests/test_management_retagger.py similarity index 99% rename from src/documents/tests/test_management_retagger.py rename to src/paperless/tests/test_management_retagger.py index 0b650aec5..01ccb5b52 100644 --- a/src/documents/tests/test_management_retagger.py +++ b/src/paperless/tests/test_management_retagger.py @@ -2,12 +2,12 @@ from django.core.management import call_command from django.core.management.base import CommandError from django.test import TestCase -from documents.tests.utils import DirectoriesMixin from paperless.models import Correspondent from paperless.models import Document from paperless.models import DocumentType from paperless.models import StoragePath from paperless.models import Tag +from paperless.tests.utils import DirectoriesMixin class TestRetagger(DirectoriesMixin, TestCase): diff --git a/src/documents/tests/test_management_superuser.py b/src/paperless/tests/test_management_superuser.py similarity index 99% rename from src/documents/tests/test_management_superuser.py rename to src/paperless/tests/test_management_superuser.py index 01f03c8e1..4a0842e7b 100644 --- a/src/documents/tests/test_management_superuser.py +++ b/src/paperless/tests/test_management_superuser.py @@ -6,7 +6,7 @@ from django.contrib.auth.models import User from django.core.management import call_command from django.test import TestCase -from documents.tests.utils import DirectoriesMixin +from paperless.tests.utils import DirectoriesMixin class TestManageSuperUser(DirectoriesMixin, TestCase): diff --git a/src/documents/tests/test_management_thumbnails.py b/src/paperless/tests/test_management_thumbnails.py similarity index 96% rename from src/documents/tests/test_management_thumbnails.py rename to src/paperless/tests/test_management_thumbnails.py index a3923943a..6fb582c14 100644 --- a/src/documents/tests/test_management_thumbnails.py +++ b/src/paperless/tests/test_management_thumbnails.py @@ -6,10 +6,10 @@ from django.core.management import call_command from django.test import TestCase from documents.management.commands.document_thumbnails import _process_document -from documents.tests.utils import DirectoriesMixin -from documents.tests.utils import FileSystemAssertsMixin from paperless.models import Document from paperless.parsers import get_default_thumbnail +from paperless.tests.utils import DirectoriesMixin +from paperless.tests.utils import FileSystemAssertsMixin class TestMakeThumbnails(DirectoriesMixin, FileSystemAssertsMixin, TestCase): diff --git a/src/documents/tests/test_matchables.py b/src/paperless/tests/test_matchables.py similarity index 100% rename from src/documents/tests/test_matchables.py rename to src/paperless/tests/test_matchables.py diff --git a/src/documents/tests/test_migration_archive_files.py b/src/paperless/tests/test_migration_archive_files.py similarity index 99% rename from src/documents/tests/test_migration_archive_files.py rename to src/paperless/tests/test_migration_archive_files.py index 37f0c2209..b4a8a87f8 100644 --- a/src/documents/tests/test_migration_archive_files.py +++ b/src/paperless/tests/test_migration_archive_files.py @@ -8,10 +8,10 @@ from unittest import mock from django.conf import settings from django.test import override_settings -from documents.tests.utils import DirectoriesMixin -from documents.tests.utils import FileSystemAssertsMixin -from documents.tests.utils import TestMigrations from paperless.parsers import ParseError +from paperless.tests.utils import DirectoriesMixin +from paperless.tests.utils import FileSystemAssertsMixin +from paperless.tests.utils import TestMigrations STORAGE_TYPE_GPG = "gpg" diff --git a/src/documents/tests/test_migration_consumption_templates.py b/src/paperless/tests/test_migration_consumption_templates.py similarity index 97% rename from src/documents/tests/test_migration_consumption_templates.py rename to src/paperless/tests/test_migration_consumption_templates.py index 917007116..415e068bb 100644 --- a/src/documents/tests/test_migration_consumption_templates.py +++ b/src/paperless/tests/test_migration_consumption_templates.py @@ -1,6 +1,6 @@ from django.contrib.auth import get_user_model -from documents.tests.utils import TestMigrations +from paperless.tests.utils import TestMigrations class TestMigrateConsumptionTemplate(TestMigrations): diff --git a/src/documents/tests/test_migration_custom_field_selects.py b/src/paperless/tests/test_migration_custom_field_selects.py similarity index 98% rename from src/documents/tests/test_migration_custom_field_selects.py rename to src/paperless/tests/test_migration_custom_field_selects.py index 59004bf21..a12d02d10 100644 --- a/src/documents/tests/test_migration_custom_field_selects.py +++ b/src/paperless/tests/test_migration_custom_field_selects.py @@ -1,6 +1,6 @@ from unittest.mock import ANY -from documents.tests.utils import TestMigrations +from paperless.tests.utils import TestMigrations class TestMigrateCustomFieldSelects(TestMigrations): diff --git a/src/documents/tests/test_migration_customfields.py b/src/paperless/tests/test_migration_customfields.py similarity index 97% rename from src/documents/tests/test_migration_customfields.py rename to src/paperless/tests/test_migration_customfields.py index 79308bceb..026a7a88a 100644 --- a/src/documents/tests/test_migration_customfields.py +++ b/src/paperless/tests/test_migration_customfields.py @@ -1,6 +1,6 @@ from django.contrib.auth import get_user_model -from documents.tests.utils import TestMigrations +from paperless.tests.utils import TestMigrations class TestMigrateCustomFields(TestMigrations): diff --git a/src/documents/tests/test_migration_document_pages_count.py b/src/paperless/tests/test_migration_document_pages_count.py similarity index 94% rename from src/documents/tests/test_migration_document_pages_count.py rename to src/paperless/tests/test_migration_document_pages_count.py index 902896b8c..84dfc3e44 100644 --- a/src/documents/tests/test_migration_document_pages_count.py +++ b/src/paperless/tests/test_migration_document_pages_count.py @@ -4,8 +4,8 @@ from pathlib import Path from django.conf import settings -from documents.tests.utils import DirectoriesMixin -from documents.tests.utils import TestMigrations +from paperless.tests.utils import DirectoriesMixin +from paperless.tests.utils import TestMigrations def source_path_before(self): diff --git a/src/documents/tests/test_migration_encrypted_webp_conversion.py b/src/paperless/tests/test_migration_encrypted_webp_conversion.py similarity index 99% rename from src/documents/tests/test_migration_encrypted_webp_conversion.py rename to src/paperless/tests/test_migration_encrypted_webp_conversion.py index 0660df368..a7783f7e3 100644 --- a/src/documents/tests/test_migration_encrypted_webp_conversion.py +++ b/src/paperless/tests/test_migration_encrypted_webp_conversion.py @@ -8,7 +8,7 @@ from unittest import mock from django.test import override_settings -from documents.tests.utils import TestMigrations +from paperless.tests.utils import TestMigrations # https://github.com/python/cpython/issues/100950 migration_1037_obj = importlib.import_module( diff --git a/src/documents/tests/test_migration_mime_type.py b/src/paperless/tests/test_migration_mime_type.py similarity index 96% rename from src/documents/tests/test_migration_mime_type.py rename to src/paperless/tests/test_migration_mime_type.py index b0ecf5f35..aecadb7b4 100644 --- a/src/documents/tests/test_migration_mime_type.py +++ b/src/paperless/tests/test_migration_mime_type.py @@ -4,9 +4,9 @@ import shutil from django.conf import settings from django.test import override_settings -from documents.tests.utils import DirectoriesMixin -from documents.tests.utils import TestMigrations from paperless.parsers import get_default_file_extension +from paperless.tests.utils import DirectoriesMixin +from paperless.tests.utils import TestMigrations STORAGE_TYPE_UNENCRYPTED = "unencrypted" STORAGE_TYPE_GPG = "gpg" diff --git a/src/documents/tests/test_migration_remove_null_characters.py b/src/paperless/tests/test_migration_remove_null_characters.py similarity index 83% rename from src/documents/tests/test_migration_remove_null_characters.py rename to src/paperless/tests/test_migration_remove_null_characters.py index c47bc80ca..87d672e75 100644 --- a/src/documents/tests/test_migration_remove_null_characters.py +++ b/src/paperless/tests/test_migration_remove_null_characters.py @@ -1,5 +1,5 @@ -from documents.tests.utils import DirectoriesMixin -from documents.tests.utils import TestMigrations +from paperless.tests.utils import DirectoriesMixin +from paperless.tests.utils import TestMigrations class TestMigrateNullCharacters(DirectoriesMixin, TestMigrations): diff --git a/src/documents/tests/test_migration_storage_path_template.py b/src/paperless/tests/test_migration_storage_path_template.py similarity index 95% rename from src/documents/tests/test_migration_storage_path_template.py rename to src/paperless/tests/test_migration_storage_path_template.py index 9f50eaea5..7efaccf0d 100644 --- a/src/documents/tests/test_migration_storage_path_template.py +++ b/src/paperless/tests/test_migration_storage_path_template.py @@ -1,5 +1,5 @@ -from documents.tests.utils import TestMigrations from paperless.models import StoragePath +from paperless.tests.utils import TestMigrations class TestMigrateStoragePathToTemplate(TestMigrations): diff --git a/src/documents/tests/test_migration_tag_colors.py b/src/paperless/tests/test_migration_tag_colors.py similarity index 93% rename from src/documents/tests/test_migration_tag_colors.py rename to src/paperless/tests/test_migration_tag_colors.py index 0643fe883..e73098f94 100644 --- a/src/documents/tests/test_migration_tag_colors.py +++ b/src/paperless/tests/test_migration_tag_colors.py @@ -1,5 +1,5 @@ -from documents.tests.utils import DirectoriesMixin -from documents.tests.utils import TestMigrations +from paperless.tests.utils import DirectoriesMixin +from paperless.tests.utils import TestMigrations class TestMigrateTagColor(DirectoriesMixin, TestMigrations): diff --git a/src/documents/tests/test_migration_webp_conversion.py b/src/paperless/tests/test_migration_webp_conversion.py similarity index 99% rename from src/documents/tests/test_migration_webp_conversion.py rename to src/paperless/tests/test_migration_webp_conversion.py index cd148ed6f..7ce69ad6c 100644 --- a/src/documents/tests/test_migration_webp_conversion.py +++ b/src/paperless/tests/test_migration_webp_conversion.py @@ -8,7 +8,7 @@ from unittest import mock from django.test import override_settings -from documents.tests.utils import TestMigrations +from paperless.tests.utils import TestMigrations # https://github.com/python/cpython/issues/100950 migration_1021_obj = importlib.import_module( diff --git a/src/documents/tests/test_migration_workflows.py b/src/paperless/tests/test_migration_workflows.py similarity index 99% rename from src/documents/tests/test_migration_workflows.py rename to src/paperless/tests/test_migration_workflows.py index 1c16da9dd..d86e75d54 100644 --- a/src/documents/tests/test_migration_workflows.py +++ b/src/paperless/tests/test_migration_workflows.py @@ -1,5 +1,5 @@ -from documents.tests.utils import TestMigrations from paperless.data_models import DocumentSource +from paperless.tests.utils import TestMigrations class TestMigrateWorkflow(TestMigrations): diff --git a/src/documents/tests/test_models.py b/src/paperless/tests/test_models.py similarity index 100% rename from src/documents/tests/test_models.py rename to src/paperless/tests/test_models.py diff --git a/src/documents/tests/test_parsers.py b/src/paperless/tests/test_parsers.py similarity index 100% rename from src/documents/tests/test_parsers.py rename to src/paperless/tests/test_parsers.py diff --git a/src/paperless/tests/test_remote_user.py b/src/paperless/tests/test_remote_user.py index ebe1b3ff5..657767354 100644 --- a/src/paperless/tests/test_remote_user.py +++ b/src/paperless/tests/test_remote_user.py @@ -6,8 +6,8 @@ from django.test import override_settings from rest_framework import status from rest_framework.test import APITestCase -from documents.tests.utils import DirectoriesMixin from paperless.settings import _parse_remote_user_settings +from paperless.tests.utils import DirectoriesMixin class TestRemoteUser(DirectoriesMixin, APITestCase): diff --git a/src/documents/tests/test_sanity_check.py b/src/paperless/tests/test_sanity_check.py similarity index 99% rename from src/documents/tests/test_sanity_check.py rename to src/paperless/tests/test_sanity_check.py index d068a749f..81a331344 100644 --- a/src/documents/tests/test_sanity_check.py +++ b/src/paperless/tests/test_sanity_check.py @@ -7,9 +7,9 @@ import filelock from django.conf import settings from django.test import TestCase -from documents.tests.utils import DirectoriesMixin from paperless.models import Document from paperless.sanity_checker import check_sanity +from paperless.tests.utils import DirectoriesMixin class TestSanityCheck(DirectoriesMixin, TestCase): diff --git a/src/documents/tests/test_task_signals.py b/src/paperless/tests/test_task_signals.py similarity index 99% rename from src/documents/tests/test_task_signals.py rename to src/paperless/tests/test_task_signals.py index ed2559370..1ec578d82 100644 --- a/src/documents/tests/test_task_signals.py +++ b/src/paperless/tests/test_task_signals.py @@ -5,7 +5,6 @@ import celery from django.test import TestCase from documents.tests.test_consumer import fake_magic_from_file -from documents.tests.utils import DirectoriesMixin from paperless.data_models import ConsumableDocument from paperless.data_models import DocumentMetadataOverrides from paperless.data_models import DocumentSource @@ -14,6 +13,7 @@ from paperless.signals.handlers import before_task_publish_handler from paperless.signals.handlers import task_failure_handler from paperless.signals.handlers import task_postrun_handler from paperless.signals.handlers import task_prerun_handler +from paperless.tests.utils import DirectoriesMixin @mock.patch("documents.consumer.magic.from_file", fake_magic_from_file) diff --git a/src/documents/tests/test_tasks.py b/src/paperless/tests/test_tasks.py similarity index 98% rename from src/documents/tests/test_tasks.py rename to src/paperless/tests/test_tasks.py index c3e582e85..4130d71ec 100644 --- a/src/documents/tests/test_tasks.py +++ b/src/paperless/tests/test_tasks.py @@ -8,8 +8,6 @@ from django.test import TestCase from django.utils import timezone from documents.tests.test_classifier import dummy_preprocess -from documents.tests.utils import DirectoriesMixin -from documents.tests.utils import FileSystemAssertsMixin from paperless import tasks from paperless.models import Correspondent from paperless.models import Document @@ -17,6 +15,8 @@ from paperless.models import DocumentType from paperless.models import Tag from paperless.sanity_checker import SanityCheckFailedException from paperless.sanity_checker import SanityCheckMessages +from paperless.tests.utils import DirectoriesMixin +from paperless.tests.utils import FileSystemAssertsMixin class TestIndexReindex(DirectoriesMixin, TestCase): diff --git a/src/documents/tests/test_views.py b/src/paperless/tests/test_views.py similarity index 99% rename from src/documents/tests/test_views.py rename to src/paperless/tests/test_views.py index 2f804fde4..b72c56e10 100644 --- a/src/documents/tests/test_views.py +++ b/src/paperless/tests/test_views.py @@ -10,10 +10,10 @@ from django.test import override_settings from django.utils import timezone from rest_framework import status -from documents.tests.utils import DirectoriesMixin from paperless.models import ApplicationConfiguration from paperless.models import Document from paperless.models import ShareLink +from paperless.tests.utils import DirectoriesMixin class TestViews(DirectoriesMixin, TestCase): diff --git a/src/documents/tests/test_workflows.py b/src/paperless/tests/test_workflows.py similarity index 99% rename from src/documents/tests/test_workflows.py rename to src/paperless/tests/test_workflows.py index bebd1e189..2ad9064fb 100644 --- a/src/documents/tests/test_workflows.py +++ b/src/paperless/tests/test_workflows.py @@ -21,10 +21,6 @@ if TYPE_CHECKING: from django.db.models import QuerySet -from documents.tests.utils import DirectoriesMixin -from documents.tests.utils import DummyProgressManager -from documents.tests.utils import FileSystemAssertsMixin -from documents.tests.utils import SampleDirMixin from paperless import tasks from paperless.data_models import ConsumableDocument from paperless.data_models import DocumentSource @@ -44,6 +40,10 @@ from paperless.models import WorkflowActionWebhook from paperless.models import WorkflowRun from paperless.models import WorkflowTrigger from paperless.signals import document_consumption_finished +from paperless.tests.utils import DirectoriesMixin +from paperless.tests.utils import DummyProgressManager +from paperless.tests.utils import FileSystemAssertsMixin +from paperless.tests.utils import SampleDirMixin from paperless_mail.models import MailAccount from paperless_mail.models import MailRule diff --git a/src/documents/tests/utils.py b/src/paperless/tests/utils.py similarity index 100% rename from src/documents/tests/utils.py rename to src/paperless/tests/utils.py diff --git a/src/paperless_mail/tests/test_api.py b/src/paperless_mail/tests/test_api.py index 9171395ec..a282ced87 100644 --- a/src/paperless_mail/tests/test_api.py +++ b/src/paperless_mail/tests/test_api.py @@ -7,10 +7,10 @@ from guardian.shortcuts import assign_perm from rest_framework import status from rest_framework.test import APITestCase -from documents.tests.utils import DirectoriesMixin from paperless.models import Correspondent from paperless.models import DocumentType from paperless.models import Tag +from paperless.tests.utils import DirectoriesMixin from paperless_mail.models import MailAccount from paperless_mail.models import MailRule from paperless_mail.tests.test_mail import BogusMailBox diff --git a/src/paperless_mail/tests/test_mail.py b/src/paperless_mail/tests/test_mail.py index 97ff5373d..9f1d1ae50 100644 --- a/src/paperless_mail/tests/test_mail.py +++ b/src/paperless_mail/tests/test_mail.py @@ -24,9 +24,9 @@ from imap_tools import errors from rest_framework import status from rest_framework.test import APITestCase -from documents.tests.utils import DirectoriesMixin -from documents.tests.utils import FileSystemAssertsMixin from paperless.models import Correspondent +from paperless.tests.utils import DirectoriesMixin +from paperless.tests.utils import FileSystemAssertsMixin from paperless_mail import tasks from paperless_mail.mail import MailAccountHandler from paperless_mail.mail import MailError diff --git a/src/paperless_mail/tests/test_parsers_live.py b/src/paperless_mail/tests/test_parsers_live.py index e1febb1e5..d0bc3ed1f 100644 --- a/src/paperless_mail/tests/test_parsers_live.py +++ b/src/paperless_mail/tests/test_parsers_live.py @@ -10,7 +10,7 @@ from imagehash import average_hash from PIL import Image from pytest_mock import MockerFixture -from documents.tests.utils import util_call_with_backoff +from paperless.tests.utils import util_call_with_backoff from paperless_mail.parsers import MailDocumentParser diff --git a/src/paperless_tesseract/tests/test_parser.py b/src/paperless_tesseract/tests/test_parser.py index 598976eda..e4ffb39ae 100644 --- a/src/paperless_tesseract/tests/test_parser.py +++ b/src/paperless_tesseract/tests/test_parser.py @@ -9,10 +9,10 @@ from django.test import TestCase from django.test import override_settings from ocrmypdf import SubprocessOutputError -from documents.tests.utils import DirectoriesMixin -from documents.tests.utils import FileSystemAssertsMixin from paperless.parsers import ParseError from paperless.parsers import run_convert +from paperless.tests.utils import DirectoriesMixin +from paperless.tests.utils import FileSystemAssertsMixin from paperless_tesseract.parsers import RasterisedDocumentParser from paperless_tesseract.parsers import post_process_text diff --git a/src/paperless_tesseract/tests/test_parser_custom_settings.py b/src/paperless_tesseract/tests/test_parser_custom_settings.py index 7621092dc..e9aa2d05f 100644 --- a/src/paperless_tesseract/tests/test_parser_custom_settings.py +++ b/src/paperless_tesseract/tests/test_parser_custom_settings.py @@ -3,13 +3,13 @@ import json from django.test import TestCase from django.test import override_settings -from documents.tests.utils import DirectoriesMixin -from documents.tests.utils import FileSystemAssertsMixin from paperless.models import ApplicationConfiguration from paperless.models import CleanChoices from paperless.models import ColorConvertChoices from paperless.models import ModeChoices from paperless.models import OutputTypeChoices +from paperless.tests.utils import DirectoriesMixin +from paperless.tests.utils import FileSystemAssertsMixin from paperless_tesseract.parsers import RasterisedDocumentParser diff --git a/src/paperless_tika/tests/test_live_tika.py b/src/paperless_tika/tests/test_live_tika.py index 6bb4ff021..9fbe30dba 100644 --- a/src/paperless_tika/tests/test_live_tika.py +++ b/src/paperless_tika/tests/test_live_tika.py @@ -3,7 +3,7 @@ from pathlib import Path import pytest -from documents.tests.utils import util_call_with_backoff +from paperless.tests.utils import util_call_with_backoff from paperless_tika.parsers import TikaDocumentParser