mirror of
https://github.com/jxxghp/MoviePilot.git
synced 2026-09-05 07:27:15 +08:00
refactor: inject DoH runtime settings
This commit is contained in:
@@ -9,14 +9,13 @@
|
||||
"root": "app"
|
||||
},
|
||||
"settings_imports": {
|
||||
"count": 119,
|
||||
"count": 118,
|
||||
"files": [
|
||||
"app/adapters/cache/backends.py",
|
||||
"app/adapters/cache/redis.py",
|
||||
"app/adapters/external/market.py",
|
||||
"app/adapters/external/server.py",
|
||||
"app/adapters/network/browser.py",
|
||||
"app/adapters/network/doh.py",
|
||||
"app/adapters/system/fsproxy.py",
|
||||
"app/adapters/system/plugin/dependency.py",
|
||||
"app/adapters/system/plugin/package.py",
|
||||
|
||||
+4
-3
@@ -13,8 +13,8 @@
|
||||
"runtime_to_db": [],
|
||||
"workflow_to_db": []
|
||||
},
|
||||
"edge_count": 6418,
|
||||
"edge_sha256": "5849976e41ca96688d718358b3c1218d66d986efa0196051531be2a17aae1466",
|
||||
"edge_count": 6419,
|
||||
"edge_sha256": "7e3db5ef8bc9be8d21706ad7a5f4b256430ea876afef66ca9ecf33ea2ff3c64e",
|
||||
"edges": [
|
||||
"app -> app.runtime",
|
||||
"app -> app.runtime.compat",
|
||||
@@ -101,10 +101,11 @@
|
||||
"app.adapters.network.browser -> app.runtime.managed_resources",
|
||||
"app.adapters.network.cloudflare -> app.runtime",
|
||||
"app.adapters.network.cloudflare -> app.runtime.log",
|
||||
"app.adapters.network.doh -> app.application",
|
||||
"app.adapters.network.doh -> app.application.configuration",
|
||||
"app.adapters.network.doh -> app.foundation",
|
||||
"app.adapters.network.doh -> app.foundation.singleton",
|
||||
"app.adapters.network.doh -> app.runtime",
|
||||
"app.adapters.network.doh -> app.runtime.config",
|
||||
"app.adapters.network.doh -> app.runtime.log",
|
||||
"app.adapters.network.doh -> app.runtime.reload",
|
||||
"app.adapters.network.http -> app.runtime",
|
||||
|
||||
@@ -7,8 +7,8 @@ def test_doh_executor_is_lazy_and_shutdown_restores_socket(monkeypatch):
|
||||
"""DoH 线程池按需创建,并在模块关闭时恢复系统 DNS"""
|
||||
original_getaddrinfo = socket.getaddrinfo
|
||||
helper = object.__new__(doh.DohHelper)
|
||||
monkeypatch.setattr(doh.settings, "DOH_DOMAINS", "example.com")
|
||||
monkeypatch.setattr(doh.settings, "DOH_RESOLVERS", "resolver.test")
|
||||
monkeypatch.setattr("app.runtime.config.settings.DOH_DOMAINS", "example.com")
|
||||
monkeypatch.setattr("app.runtime.config.settings.DOH_RESOLVERS", "resolver.test")
|
||||
monkeypatch.setattr(doh, "_doh_query", lambda resolver, host: "203.0.113.7")
|
||||
monkeypatch.setattr(doh, "_orig_getaddrinfo", lambda host, *args, **kwargs: [])
|
||||
|
||||
@@ -35,8 +35,8 @@ def test_doh_config_reload_disables_and_closes_executor(monkeypatch):
|
||||
"""热更新关闭 DoH 时恢复系统 DNS 并释放已创建的线程池"""
|
||||
original_getaddrinfo = socket.getaddrinfo
|
||||
helper = object.__new__(doh.DohHelper)
|
||||
monkeypatch.setattr(doh.settings, "DOH_DOMAINS", "example.com")
|
||||
monkeypatch.setattr(doh.settings, "DOH_RESOLVERS", "resolver.test")
|
||||
monkeypatch.setattr("app.runtime.config.settings.DOH_DOMAINS", "example.com")
|
||||
monkeypatch.setattr("app.runtime.config.settings.DOH_RESOLVERS", "resolver.test")
|
||||
monkeypatch.setattr(doh, "_doh_query", lambda resolver, host: "203.0.113.7")
|
||||
monkeypatch.setattr(doh, "_orig_getaddrinfo", lambda host, *args, **kwargs: [])
|
||||
|
||||
@@ -46,7 +46,7 @@ def test_doh_config_reload_disables_and_closes_executor(monkeypatch):
|
||||
socket.getaddrinfo("example.com", None)
|
||||
executor = doh._executor
|
||||
assert executor is not None
|
||||
monkeypatch.setattr(doh.settings, "DOH_ENABLE", False)
|
||||
monkeypatch.setattr("app.runtime.config.settings.DOH_ENABLE", False)
|
||||
|
||||
helper.on_config_changed()
|
||||
|
||||
@@ -73,8 +73,8 @@ def test_enable_doh_reuses_cached_host_resolution(monkeypatch):
|
||||
resolved_hosts.append(host)
|
||||
return [(socket.AF_INET, socket.SOCK_STREAM, 0, "", (host, 0))]
|
||||
|
||||
monkeypatch.setattr(doh.settings, "DOH_DOMAINS", "example.com")
|
||||
monkeypatch.setattr(doh.settings, "DOH_RESOLVERS", "resolver.test")
|
||||
monkeypatch.setattr("app.runtime.config.settings.DOH_DOMAINS", "example.com")
|
||||
monkeypatch.setattr("app.runtime.config.settings.DOH_RESOLVERS", "resolver.test")
|
||||
monkeypatch.setattr(doh, "_doh_query", fake_query)
|
||||
monkeypatch.setattr(doh, "_orig_getaddrinfo", fake_getaddrinfo)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user