feat(scada): add calibrated monitoring and incident recovery

This commit is contained in:
2026-11-07 19:44:58 +08:00
parent 26fa5d1909
commit ff8aba4964
109 changed files with 9165 additions and 629 deletions
+24
View File
@@ -281,6 +281,30 @@ def test_temporary_project_database_cleans_up_after_failure(monkeypatch) -> None
]
def test_temporary_project_database_copies_snapshot_without_template(monkeypatch) -> None:
calls: list[tuple[str, ...]] = []
@contextmanager
def temporary_template(project, purpose):
calls.append(("schema", project, purpose))
yield "isolated_run"
monkeypatch.setattr(projects, "have_project", lambda name: False)
monkeypatch.setattr(projects, "temporary_template_database", temporary_template)
monkeypatch.setattr(
"app.native.wndb.core.model_replace.copy_network_tables",
lambda source, target: calls.append(("model", source, target)),
)
with projects.temporary_project_database("project_a", "burst") as name:
assert name == "isolated_run"
assert calls == [
("schema", "project_a", "burst"),
("model", "project_a", "isolated_run"),
]
def test_temporary_template_database_does_not_clone_a_project(monkeypatch) -> None:
calls: list[tuple[str, ...]] = []
monkeypatch.setattr(