Align frontend API contracts and CI pipeline #15
@@ -34,7 +34,6 @@ from apps.parsers.services import (
|
|||||||
ProxyToolsSyncService,
|
ProxyToolsSyncService,
|
||||||
)
|
)
|
||||||
from celery import shared_task
|
from celery import shared_task
|
||||||
from django.conf import settings
|
|
||||||
from requests.adapters import BaseAdapter
|
from requests.adapters import BaseAdapter
|
||||||
|
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
@@ -50,8 +49,7 @@ def _resolve_proxies(proxies: list[str] | None) -> list[str] | None:
|
|||||||
|
|
||||||
Приоритет:
|
Приоритет:
|
||||||
1. Явно переданные в задачу `proxies`
|
1. Явно переданные в задачу `proxies`
|
||||||
2. Активные прокси из БД
|
2. Runtime-прокси из БД (с приоритетом Proxy-Tools RU)
|
||||||
3. `settings.PARSER_PROXIES` (например, из ENV)
|
|
||||||
"""
|
"""
|
||||||
if proxies is not None:
|
if proxies is not None:
|
||||||
return proxies
|
return proxies
|
||||||
@@ -60,8 +58,7 @@ def _resolve_proxies(proxies: list[str] | None) -> list[str] | None:
|
|||||||
if db_proxies:
|
if db_proxies:
|
||||||
return db_proxies
|
return db_proxies
|
||||||
|
|
||||||
configured_proxies = getattr(settings, "PARSER_PROXIES", []) or []
|
return None
|
||||||
return configured_proxies or None
|
|
||||||
|
|
||||||
|
|
||||||
def _get_or_create_background_job(
|
def _get_or_create_background_job(
|
||||||
|
|||||||
@@ -129,10 +129,10 @@ class ProxyResolutionTestCase(TestCase):
|
|||||||
self.assertEqual(result, [imported_proxy.address])
|
self.assertEqual(result, [imported_proxy.address])
|
||||||
|
|
||||||
@override_settings(PARSER_PROXIES=["http://env-proxy:8080"])
|
@override_settings(PARSER_PROXIES=["http://env-proxy:8080"])
|
||||||
def test_resolve_proxies_falls_back_to_settings_when_db_empty(self):
|
def test_resolve_proxies_does_not_use_unclassified_env_fallback(self):
|
||||||
result = _resolve_proxies(None)
|
result = _resolve_proxies(None)
|
||||||
|
|
||||||
self.assertEqual(result, ["http://env-proxy:8080"])
|
self.assertIsNone(result)
|
||||||
|
|
||||||
|
|
||||||
class SyncRuProxiesTaskTestCase(TestCase):
|
class SyncRuProxiesTaskTestCase(TestCase):
|
||||||
|
|||||||
Reference in New Issue
Block a user