feat: stabilize multi-region runtime sync and worker orchestration

This commit is contained in:
root
2026-04-27 15:48:12 +08:00
parent 7cbde2aa78
commit 215a364891
137 changed files with 31931 additions and 1943 deletions

View File

@@ -10,6 +10,35 @@ class OpsServiceActivityTests(unittest.TestCase):
def _runtime_status(detect: Optional[dict] = None) -> dict:
return {"detect": dict(detect or {})}
@patch("app.services.ops_service.get_ops_runbook", return_value={"control_sequences": []})
@patch("app.services.ops_service.list_release_rollouts", return_value=[])
@patch("app.services.ops_service.list_ops_jobs", return_value=[])
@patch("app.services.ops_service.get_recent_ops_playbook_runs", return_value={"runs": []})
@patch("app.services.ops_service.list_managed_nodes_with_agent_state", side_effect=AssertionError("should reuse managed nodes"))
@patch("app.services.ops_service.get_runtime_status", side_effect=AssertionError("should reuse runtime status"))
def test_activity_stream_reuses_provided_runtime_and_managed_snapshots(
self,
_mock_get_runtime_status,
_mock_list_managed_nodes_with_agent_state,
_mock_get_recent_ops_playbook_runs,
_mock_list_ops_jobs,
_mock_list_release_rollouts,
mock_get_ops_runbook,
) -> None:
runtime_snapshot = self._runtime_status()
managed_snapshot = {"nodes": []}
payload = get_ops_activity_stream(
limit=10,
scan_limit=20,
runtime_status=runtime_snapshot,
managed_nodes_payload=managed_snapshot,
)
self.assertEqual([], payload["items"])
self.assertEqual(0, payload["summary"]["total"])
self.assertEqual(runtime_snapshot, mock_get_ops_runbook.call_args.kwargs["runtime_status"])
self.assertEqual(managed_snapshot, mock_get_ops_runbook.call_args.kwargs["managed_nodes_payload"])
@patch("app.services.ops_service.get_ops_runbook")
@patch("app.services.ops_service.list_release_rollouts")
@patch("app.services.ops_service.list_ops_jobs")