sync Cloudflare rules and cache scan snapshots

This commit is contained in:
2569718930@qq.com
2026-06-10 19:40:54 +08:00
parent 1494db8e09
commit 25bd077b25
10 changed files with 418 additions and 11 deletions
+35
View File
@@ -3398,6 +3398,41 @@ def test_scan_terminal_cold_requests_start_background_build_without_blocking(mon
assert all("初始化" in result["stale_reason"] or "刷新中" in result["stale_reason"] for result in results)
def test_scan_terminal_background_refresh_reuses_cached_city_data(monkeypatch):
filters = {"scan_mode": "tradable", "limit": 17, "min_edge_pct": 6.75}
calls = []
monkeypatch.setattr(
scan_terminal_service,
"mark_scan_terminal_refreshing",
lambda _filters: True,
)
monkeypatch.setattr(
scan_terminal_service,
"clear_scan_terminal_refreshing",
lambda _filters: None,
)
monkeypatch.setattr(
scan_terminal_service,
"_build_scan_terminal_payload_singleflight",
lambda filters_arg, *, force_refresh=False: calls.append(
(dict(filters_arg), force_refresh)
),
)
class _ImmediateThread:
def __init__(self, *, target, name, daemon):
self._target = target
def start(self):
self._target()
monkeypatch.setattr(scan_terminal_service.threading, "Thread", _ImmediateThread)
assert scan_terminal_service._start_scan_terminal_background_refresh(filters) is True
assert calls == [(filters, False)]
def test_scan_terminal_nonforce_ignores_ancient_success_snapshot(monkeypatch):
filters = {"scan_mode": "tradable", "limit": 17, "min_edge_pct": 6.75}
old_success_t = 1780839484.0