Старт панели переведён с устаревшего on_event на lifespan, шаблоны вызываются как TemplateResponse(request, name): ушла сотня предупреждений FastAPI

Этот коммит содержится в:
2026-09-27 16:02:10 +09:00
родитель fc76f3f1fa
Коммит b7c87867fb
5 изменённых файлов: 56 добавлений и 38 удалений
+1 -1
Просмотреть файл
@@ -222,5 +222,5 @@ if __name__ == "__main__":
seed(Path(tempfile.mkdtemp(prefix="virtuality-dev-")))
# The demo operations are seeded as "running": keep them instead of closing them as orphaned on startup.
app.app.router.on_startup.clear()
app.run_startup_tasks = lambda: None
uvicorn.run(app.app, host="127.0.0.1", port=int(sys.argv[1]) if len(sys.argv) > 1 else 8765, log_level="warning")
+11
Просмотреть файл
@@ -139,6 +139,17 @@ def test_orphaned_operations_are_closed_on_startup(data_dirs):
assert core.active_operations_for("web01") == []
def test_panel_startup_closes_orphaned_operations(data_dirs):
"""Стартовые задачи панели запускает lifespan (FastAPI on_event устарел)."""
import core
from fastapi.testclient import TestClient
running = core.new_operation("snapshot_create", "Снимок web01", vm_name="web01")
core.update_operation(running, status="running")
with TestClient(app.app, base_url="http://panel.test"):
assert core.read_operation(running["id"])["interrupted"] is True
def test_interrupt_leaves_operations_of_other_live_processes(data_dirs):
"""Копии по расписанию идут в отдельной службе: перезапуск панели не должен объявлять их прерванными."""
import subprocess