"""全局代理配置到运行时来源的唯一映射测试。""" from web.backend.models import ProxyConfig from web.backend.services.proxy_service import build_proxy_runtime def _config(**overrides) -> ProxyConfig: values = { "enabled": True, "api_url": "", "http": "", "https": "", "whitelist_enabled": False, "whitelist_platform": "xiequ", "whitelist_credentials": None, "whitelist_uid": "", "whitelist_ukey": "", } values.update(overrides) config = ProxyConfig() for key, value in values.items(): setattr(config, key, value) return config def test_proxy_runtime_preserves_static_http_and_https_addresses(): runtime = build_proxy_runtime( _config( http="http://10.0.0.1:8080", https="http://10.0.0.2:8080", ) ) assert runtime.static_proxies == { "http": "http://10.0.0.1:8080", "https": "http://10.0.0.2:8080", } assert runtime.api_fetcher is None def test_proxy_runtime_builds_api_fetcher_with_legacy_whitelist_fields(): runtime = build_proxy_runtime( _config( api_url="https://proxy.example/fetch", whitelist_enabled=True, whitelist_uid="legacy-user", whitelist_ukey="legacy-key", ) ) assert runtime.static_proxies is None assert runtime.api_fetcher is not None assert runtime.api_fetcher.api_url == "https://proxy.example/fetch" def test_proxy_runtime_is_empty_when_caller_or_global_switch_is_off(): assert not build_proxy_runtime(_config(), enabled=False).enabled assert not build_proxy_runtime(_config(enabled=False)).enabled