Files
Nexus/tests/test_server_batch_job_persist.py
T
2026-07-08 22:31:31 +08:00

28 lines
878 B
Python

"""Server batch job MySQL persistence."""
import json
from server.domain.models import ServerBatchJob
from server.infrastructure.database.server_batch_job_repo import job_row_to_api
def test_job_row_to_api_orders_results():
row = ServerBatchJob(
id=7,
op="install-agent",
label="批量安装 Agent",
server_ids=json.dumps([1, 2]),
status="partial",
results=json.dumps([
{"server_id": 1, "server_name": "A", "success": True, "stdout": "ok", "error": ""},
{"server_id": 2, "server_name": "B", "success": False, "stdout": "", "error": "SSH fail"},
]),
operator="admin",
)
api = job_row_to_api(row)
assert api["job_id"] == 7
assert api["success"] == 1
assert api["failed"] == 1
assert len(api["results"]) == 2
assert api["results"][1]["error"] == "SSH fail"