From 1ebdda8c9e587e02b93b18962830f04d20a15e39 Mon Sep 17 00:00:00 2001 From: Mohamed El Amine BOUKERFA Date: Fri, 10 Apr 2026 14:21:56 +0100 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B(backend)=20Fix=20unreachable=20exc?= =?UTF-8?q?eption=20handler=20for=20URLValidator?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The exception block was never being executed because URLValidator raises django.core.exceptions.ValidationError, not drf.exceptions.ValidationError, so the except block was dead code. Signed-off-by: Mohamed El Amine BOUKERFA --- src/backend/core/api/viewsets.py | 2 +- .../core/tests/documents/test_api_documents_cors_proxy.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/backend/core/api/viewsets.py b/src/backend/core/api/viewsets.py index a678d020..cc755650 100644 --- a/src/backend/core/api/viewsets.py +++ b/src/backend/core/api/viewsets.py @@ -2135,7 +2135,7 @@ class DocumentViewSet( url_validator = URLValidator(schemes=["http", "https"]) try: url_validator(url) - except drf.exceptions.ValidationError as e: + except ValidationError as e: return drf.response.Response( {"detail": str(e)}, status=drf.status.HTTP_400_BAD_REQUEST, diff --git a/src/backend/core/tests/documents/test_api_documents_cors_proxy.py b/src/backend/core/tests/documents/test_api_documents_cors_proxy.py index b935b578..a5753c37 100644 --- a/src/backend/core/tests/documents/test_api_documents_cors_proxy.py +++ b/src/backend/core/tests/documents/test_api_documents_cors_proxy.py @@ -255,7 +255,7 @@ def test_api_docs_cors_proxy_invalid_url(url_to_fetch): f"/api/v1.0/documents/{document.id!s}/cors-proxy/?url={url_to_fetch}" ) assert response.status_code == 400 - assert response.json() == ["Enter a valid URL."] + assert response.json() == {"detail": "['Enter a valid URL.']"} @unittest.mock.patch("core.api.viewsets.socket.getaddrinfo")