Experiment with disabling whitenoise middleware

This commit is contained in:
Trenton H
2025-09-10 08:52:02 -07:00
parent 84942a4e69
commit ba40626838
2 changed files with 25 additions and 0 deletions

View File

@@ -249,6 +249,10 @@ norecursedirs = [ "src/locale/", ".venv/", "src-ui/" ]
DJANGO_SETTINGS_MODULE = "paperless.settings"
markers = [
"use_whitenoise: mark test to run with Whitenoise middleware enabled",
]
[tool.pytest_env]
PAPERLESS_DISABLE_DBHANDLER = "true"
PAPERLESS_CACHE_BACKEND = "django.core.cache.backends.locmem.LocMemCache"

View File

@@ -28,3 +28,24 @@ def authenticated_rest_api_client(rest_api_client: APIClient):
user = UserModel.objects.create_user(username="testuser", password="password")
rest_api_client.force_authenticate(user=user)
yield rest_api_client
@pytest.fixture(autouse=True)
def configure_whitenoise_middleware(request, settings):
"""
By default, remove Whitenoise middleware from tests.
Only include it when test is marked with @pytest.mark.use_whitenoise
"""
# Check if the test is marked to use whitenoise
use_whitenoise_marker = request.node.get_closest_marker("use_whitenoise")
if not use_whitenoise_marker:
# Filter out whitenoise middleware using pytest-django's settings fixture
middleware_without_whitenoise = [
mw
for mw in settings.MIDDLEWARE
if "whitenoise.middleware.WhiteNoiseMiddleware" not in mw.lower()
]
settings.MIDDLEWARE = middleware_without_whitenoise
yield