From 61aa3c79c5b18dd233c5ee1c6a1472e0cdc9eb4f Mon Sep 17 00:00:00 2001 From: lebaudantoine Date: Wed, 28 May 2025 10:46:34 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=A9=B9(backend)=20replace=20requests=20ex?= =?UTF-8?q?ception=20with=20urllib3=20ones?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit My bad, I caught the wrong exception, issue is still raising in Sentry. It fixes commit #2a7d963f --- src/backend/core/services/marketing.py | 7 +++++-- src/backend/core/tests/services/test_marketing.py | 8 ++++++-- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/src/backend/core/services/marketing.py b/src/backend/core/services/marketing.py index 88439c96..554e740c 100644 --- a/src/backend/core/services/marketing.py +++ b/src/backend/core/services/marketing.py @@ -10,7 +10,7 @@ from django.core.exceptions import ImproperlyConfigured from django.utils.module_loading import import_string import brevo_python -import requests +import urllib3 logger = logging.getLogger(__name__) @@ -121,7 +121,10 @@ class BrevoMarketingService: try: response = contact_api.create_contact(contact, **api_configurations) - except (brevo_python.rest.ApiException, requests.exceptions.ReadTimeout) as err: + except ( + brevo_python.rest.ApiException, + urllib3.exceptions.ReadTimeoutError, + ) as err: logger.warning("Failed to create contact in Brevo", exc_info=True) raise ContactCreationError("Failed to create contact in Brevo") from err diff --git a/src/backend/core/tests/services/test_marketing.py b/src/backend/core/tests/services/test_marketing.py index ac1b31a4..2b0686d1 100644 --- a/src/backend/core/tests/services/test_marketing.py +++ b/src/backend/core/tests/services/test_marketing.py @@ -11,7 +11,7 @@ from django.core.exceptions import ImproperlyConfigured import brevo_python import pytest -import requests +import urllib3 from core.services.marketing import ( BrevoMarketingService, @@ -152,7 +152,11 @@ def test_create_contact_timeout_error(mock_contact_api): brevo_service = BrevoMarketingService() - mock_api.create_contact.side_effect = requests.exceptions.ReadTimeout() + mock_api.create_contact.side_effect = urllib3.exceptions.ReadTimeoutError( + pool=mock.Mock(), + url="https://api.brevo.com/v3/endpoint", + message="HTTPSConnectionPool(host='api.brevo.com', port=443): Read timed out.", + ) with pytest.raises(ContactCreationError, match="Failed to create contact in Brevo"): brevo_service.create_contact(valid_contact_data)