28 lines
878 B
Python
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"
|