This commit is contained in:
Your Name
2026-04-22 14:13:21 +08:00
parent e0406b5d0e
commit 7cbde2aa78
145 changed files with 23086 additions and 2243 deletions

View File

@@ -248,6 +248,42 @@ class OpsPolicyServiceTests(unittest.TestCase):
self.assertTrue(preview["blocked"])
self.assertIn("local-runtime 仅支持当前控制面本机节点", " ".join(preview["blocking_reasons"]))
@patch("app.services.ops_policy_service.get_cluster_snapshot")
def test_runtime_reset_lab_state_is_critical_and_requires_approval(self, mock_cluster_snapshot) -> None:
mock_cluster_snapshot.return_value = {
"nodes": [
{
"node_code": "mainland-controller-01",
"region": "mainland",
"role": "control",
"status": "online",
"current_load": 0,
"is_effective_worker": True,
"detect_participating": False,
}
],
"summary": {
"online_worker_nodes": 2,
"dedicated_online_worker_nodes": 1,
"online_control_nodes": 2,
"busy_nodes": [],
},
}
preview = preview_ops_job_policy(
{
"action": "runtime.reset_lab_state",
"target_type": "node",
"target_node_code": "mainland-controller-01",
"execution_mode": "remote-agent",
"payload": {"clear_database": True, "clear_redis": True},
}
)
self.assertEqual("critical", preview["risk_level"])
self.assertTrue(preview["approval_required"])
self.assertFalse(preview["blocked"])
if __name__ == "__main__":
unittest.main()