Старт панели переведён с устаревшего on_event на lifespan, шаблоны вызываются как TemplateResponse(request, name): ушла сотня предупреждений FastAPI
Этот коммит содержится в:
@@ -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")
|
||||
|
||||
@@ -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
|
||||
|
||||
Ссылка в новой задаче
Block a user