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

@@ -4,11 +4,13 @@ from datetime import datetime
from unittest.mock import MagicMock, patch
from app.core.config import settings
from app.core.db import get_db
from app.services.ops_job_service import (
_execute_control_plane_job,
_serialize_job_row,
create_ops_job,
dispatch_ops_job,
list_managed_nodes,
upsert_managed_node,
)
@@ -109,6 +111,39 @@ class OpsJobServiceTests(unittest.TestCase):
self.assertTrue(job["steps_loaded"])
self.assertIn("mainland-worker-02", job["summary_text"])
def test_upsert_managed_node_supports_ssh_entry_and_secret_flags(self) -> None:
node_code = "test-managed-node-secret"
ok, message, data = upsert_managed_node(
{
"node_code": node_code,
"region": "mainland",
"role": "worker",
"ssh_entry": "121.204.244.188 root <demo-password>",
"is_enabled": True,
}
)
self.assertTrue(ok, message)
node = data["node"]
self.assertEqual("121.204.244.188", node["ssh_host"])
self.assertEqual("root", node["ssh_user"])
self.assertEqual(22, node["ssh_port"])
self.assertEqual("password", node["auth_mode"])
self.assertTrue(node["ssh_password_configured"])
managed = next(item for item in list_managed_nodes() if item["node_code"] == node_code)
self.assertTrue(managed["ssh_password_configured"])
with get_db() as conn:
with conn.cursor() as cur:
cur.execute(
"SELECT ssh_password FROM ops_managed_node_secrets WHERE node_code = %s",
(node_code,),
)
row = cur.fetchone()
self.assertIsNotNone(row)
self.assertEqual("demo-password", str(row[0] or ""))
@patch("app.services.ops_job_service.list_managed_nodes")
@patch("app.services.ops_agent_service.build_node_agent_bootstrap_plan")
def test_execute_control_plane_bootstrap_uses_managed_node_defaults(
@@ -237,7 +272,11 @@ class OpsJobServiceTests(unittest.TestCase):
self.assertEqual("keep-me", node["metadata"]["operator_note"])
self.assertEqual("online", node["metadata"]["cluster_status"])
insert_call = cursor.execute.call_args_list[-1]
insert_call = next(
call
for call in cursor.execute.call_args_list
if "INSERT INTO ops_managed_nodes" in str(call.args[0])
)
insert_params = insert_call.args[1]
self.assertEqual("121.204.244.248", insert_params[4])
self.assertEqual(22, insert_params[5])