]> git.ipfire.org Git - thirdparty/paperless-ngx.git/commitdiff
Fix some tests from b1c406680f345f4aeec0989424dbcc839c75e438
authorshamoon <4887959+shamoon@users.noreply.github.com>
Sat, 16 Aug 2025 14:53:48 +0000 (07:53 -0700)
committershamoon <4887959+shamoon@users.noreply.github.com>
Sat, 16 Aug 2025 14:53:48 +0000 (07:53 -0700)
src-ui/src/app/components/manage/storage-path-list/storage-path-list.component.spec.ts
src/documents/tests/test_api_app_config.py
src/documents/views.py
src/paperless/urls.py

index 45735285e38c318e5c2ab26187d79fa541bbc85a..22060bc61e2f7f94452bc01b49d389ed81db7502 100644 (file)
@@ -80,7 +80,7 @@ describe('StoragePathListComponent', () => {
       path: 'a'.repeat(100),
     }
     expect(component.extraColumns[0].valueFn(path)).toEqual(
-      `<code>${'a'.repeat(49)}...</code>`
+      `${'a'.repeat(49)}...`
     )
   })
 })
index b43d312b7f52df3c62720cb5441199e0ecc7abbd..750aeddbfdb2026b9d7e79b68c297b3f1c440ed6 100644 (file)
@@ -2,6 +2,7 @@ import json
 from pathlib import Path
 
 from django.contrib.auth.models import User
+from django.core.files.uploadedfile import SimpleUploadedFile
 from rest_framework import status
 from rest_framework.test import APITestCase
 
@@ -154,13 +155,18 @@ class TestApiAppConfig(DirectoriesMixin, APITestCase):
         response = self.client.get("/logo/")
         self.assertEqual(response.status_code, status.HTTP_404_NOT_FOUND)
 
-        with (Path(__file__).parent / "samples" / "simple.jpg").open("rb") as f:
-            self.client.patch(
-                f"{self.ENDPOINT}1/",
-                {
-                    "app_logo": f,
-                },
-            )
+        self.client.patch(
+            f"{self.ENDPOINT}1/",
+            {
+                "app_logo": SimpleUploadedFile(
+                    name="simple.jpg",
+                    content=(
+                        Path(__file__).parent / "samples" / "simple.jpg"
+                    ).read_bytes(),
+                    content_type="image/jpeg",
+                ),
+            },
+        )
 
         # Logo exists at /logo/simple.jpg
         response = self.client.get("/logo/simple.jpg")
@@ -170,13 +176,18 @@ class TestApiAppConfig(DirectoriesMixin, APITestCase):
         config = ApplicationConfiguration.objects.first()
         old_logo = config.app_logo
         self.assertTrue(Path(old_logo.path).exists())
-        with (Path(__file__).parent / "samples" / "simple.png").open("rb") as f:
-            self.client.patch(
-                f"{self.ENDPOINT}1/",
-                {
-                    "app_logo": f,
-                },
-            )
+        self.client.patch(
+            f"{self.ENDPOINT}1/",
+            {
+                "app_logo": SimpleUploadedFile(
+                    name="simple.png",
+                    content=(
+                        Path(__file__).parent / "samples" / "simple.png"
+                    ).read_bytes(),
+                    content_type="image/png",
+                ),
+            },
+        )
         self.assertFalse(Path(old_logo.path).exists())
 
     def test_api_rejects_malicious_svg_logo(self):
index 7f004901f920b88007eba9dac9705257f9f11c92..111df9f2fc4430d7ad4f0423cdeb4d048deb6729 100644 (file)
@@ -2951,17 +2951,14 @@ class TrashView(ListModelMixin, PassUserMixin):
         return Response({"result": "OK", "doc_ids": doc_ids})
 
 
-def serve_logo(request, filename):
+def serve_logo(request, filename=None):
     """
     Serves the configured logo file with Content-Disposition: attachment.
     Prevents inline execution of SVGs. See GHSA-6p53-hqqw-8j62
     """
-    logger.warning("Serving app logo...")
     config = ApplicationConfiguration.objects.first()
     app_logo = config.app_logo
 
-    logger.warning(f"Serving logo: {app_logo}")
-
     if not app_logo:
         raise Http404("No logo configured")
 
@@ -2972,4 +2969,5 @@ def serve_logo(request, filename):
         app_logo.open("rb"),
         content_type=content_type,
         filename=app_logo.name,
-    ).as_attachment()
+        as_attachment=True,
+    )
index e8c92505c225d6265fe42cee12f418792ea62ddc..c37331ce283ee0271fd7cc2472192333f51dcd91 100644 (file)
@@ -265,7 +265,7 @@ urlpatterns = [
         # TODO: with localization, this is even worse! :/
     ),
     # App logo
-    path("logo/<path:filename>", serve_logo, name="app_logo"),
+    re_path(r"^logo(?:/(?P<filename>.+))?/?$", serve_logo, name="app_logo"),
     # allauth
     path(
         "accounts/",