mirror of
https://github.com/MODSetter/SurfSense.git
synced 2026-07-08 22:22:17 +02:00
- Updated proxy configuration in `.env.example` files to use `PROXY_URL` and `PROXY_URLS` instead of `CUSTOM_PROXY_URL` and `CUSTOM_PROXY_URLS`. - Introduced `DataImpulseProvider` for proxy management, replacing the deprecated `AnonymousProxiesProvider`. - Enhanced documentation to reflect changes in proxy setup and usage. - Adjusted related code in the proxy registry and configuration files to support the new provider structure.
36 lines
1.3 KiB
Python
36 lines
1.3 KiB
Python
"""Unit tests for proxy provider selection.
|
|
|
|
``PROXY_PROVIDER`` selects the single app-wide provider; ``custom`` (the default)
|
|
and ``dataimpulse`` are registered, and unknown values still warn and fall back
|
|
to the default.
|
|
"""
|
|
|
|
import pytest
|
|
|
|
from app.config import Config
|
|
from app.utils.proxy import registry
|
|
from app.utils.proxy.providers.custom import CustomProxyProvider
|
|
from app.utils.proxy.providers.dataimpulse import DataImpulseProvider
|
|
|
|
pytestmark = pytest.mark.unit
|
|
|
|
|
|
@pytest.fixture(autouse=True)
|
|
def _reset_active_provider(monkeypatch: pytest.MonkeyPatch) -> None:
|
|
"""Clear the process-wide provider cache so each test resolves fresh."""
|
|
monkeypatch.setattr(registry, "_active_provider", None)
|
|
|
|
|
|
def test_resolves_custom(monkeypatch: pytest.MonkeyPatch) -> None:
|
|
monkeypatch.setattr(Config, "PROXY_PROVIDER", "custom")
|
|
assert isinstance(registry.get_active_provider(), CustomProxyProvider)
|
|
|
|
|
|
def test_resolves_dataimpulse(monkeypatch: pytest.MonkeyPatch) -> None:
|
|
monkeypatch.setattr(Config, "PROXY_PROVIDER", "dataimpulse")
|
|
assert isinstance(registry.get_active_provider(), DataImpulseProvider)
|
|
|
|
|
|
def test_unknown_falls_back_to_default(monkeypatch: pytest.MonkeyPatch) -> None:
|
|
monkeypatch.setattr(Config, "PROXY_PROVIDER", "does_not_exist")
|
|
assert isinstance(registry.get_active_provider(), CustomProxyProvider)
|