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" = [
+lint.per-file-ignores."src/paperless/checks.py" = [
"PTH",
] # TODO Enable & remove
-lint.per-file-ignores."src/documents/tests/test_management.py" = [
+lint.per-file-ignores."src/paperless/file_handling.py" = [
"PTH",
] # TODO Enable & remove
-lint.per-file-ignores."src/documents/tests/test_management_consumer.py" = [
+lint.per-file-ignores."src/paperless/management/commands/document_consumer.py" = [
"PTH",
] # TODO Enable & remove
-lint.per-file-ignores."src/documents/tests/test_management_exporter.py" = [
+lint.per-file-ignores."src/paperless/management/commands/document_exporter.py" = [
"PTH",
] # TODO Enable & remove
-lint.per-file-ignores."src/documents/tests/test_migration_archive_files.py" = [
+lint.per-file-ignores."src/paperless/models.py" = [
+ "SIM115",
+]
+lint.per-file-ignores."src/paperless/parsers.py" = [
"PTH",
] # TODO Enable & remove
-lint.per-file-ignores."src/documents/tests/test_migration_document_pages_count.py" = [
+lint.per-file-ignores."src/paperless/settings.py" = [
"PTH",
] # TODO Enable & remove
-lint.per-file-ignores."src/documents/tests/test_migration_mime_type.py" = [
+lint.per-file-ignores."src/paperless/signals/handlers.py" = [
"PTH",
] # TODO Enable & remove
-lint.per-file-ignores."src/documents/tests/test_sanity_check.py" = [
+lint.per-file-ignores."src/paperless/tests/test_consumer.py" = [
"PTH",
] # TODO Enable & remove
-lint.per-file-ignores."src/documents/views.py" = [
+lint.per-file-ignores."src/paperless/tests/test_file_handling.py" = [
"PTH",
] # TODO Enable & remove
-lint.per-file-ignores."src/paperless/checks.py" = [
+lint.per-file-ignores."src/paperless/tests/test_management.py" = [
"PTH",
] # TODO Enable & remove
-lint.per-file-ignores."src/paperless/file_handling.py" = [
+lint.per-file-ignores."src/paperless/tests/test_management_consumer.py" = [
"PTH",
] # TODO Enable & remove
-lint.per-file-ignores."src/paperless/management/commands/document_consumer.py" = [
+lint.per-file-ignores."src/paperless/tests/test_management_exporter.py" = [
"PTH",
] # TODO Enable & remove
-lint.per-file-ignores."src/paperless/management/commands/document_exporter.py" = [
+lint.per-file-ignores."src/paperless/tests/test_migration_archive_files.py" = [
"PTH",
] # TODO Enable & remove
-lint.per-file-ignores."src/paperless/models.py" = [
- "SIM115",
-]
-lint.per-file-ignores."src/paperless/parsers.py" = [
+lint.per-file-ignores."src/paperless/tests/test_migration_document_pages_count.py" = [
"PTH",
] # TODO Enable & remove
-lint.per-file-ignores."src/paperless/settings.py" = [
+lint.per-file-ignores."src/paperless/tests/test_migration_mime_type.py" = [
"PTH",
] # TODO Enable & remove
-lint.per-file-ignores."src/paperless/signals/handlers.py" = [
+lint.per-file-ignores."src/paperless/tests/test_sanity_check.py" = [
"PTH",
] # TODO Enable & remove
lint.per-file-ignores."src/paperless/views.py" = [
+++ /dev/null
-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 }}",
- ),
- ],
- )
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):
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):
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):
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):
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):
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
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):
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:
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):
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):
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
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
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
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
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):
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
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):
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
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
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
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):
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):
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
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):
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
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
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(
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
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):
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):
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")
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):
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
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
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(
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):
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):
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):
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"
from django.contrib.auth import get_user_model
-from documents.tests.utils import TestMigrations
+from paperless.tests.utils import TestMigrations
class TestMigrateConsumptionTemplate(TestMigrations):
from unittest.mock import ANY
-from documents.tests.utils import TestMigrations
+from paperless.tests.utils import TestMigrations
class TestMigrateCustomFieldSelects(TestMigrations):
from django.contrib.auth import get_user_model
-from documents.tests.utils import TestMigrations
+from paperless.tests.utils import TestMigrations
class TestMigrateCustomFields(TestMigrations):
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):
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(
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"
-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):
-from documents.tests.utils import TestMigrations
from paperless.models import StoragePath
+from paperless.tests.utils import TestMigrations
class TestMigrateStoragePathToTemplate(TestMigrations):
-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):
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(
-from documents.tests.utils import TestMigrations
from paperless.data_models import DocumentSource
+from paperless.tests.utils import TestMigrations
class TestMigrateWorkflow(TestMigrations):
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):
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):
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
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)
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
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):
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):
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
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
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
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
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
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
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
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