Files
getDomain/domain-api/tests/test_sync_agent.py
2026-04-19 02:59:10 +08:00

36 lines
1.3 KiB
Python

import unittest
from unittest.mock import patch
from app.sync_agent import _append_detect_result_projection_snapshot
class SyncAgentTests(unittest.TestCase):
@patch("app.sync_agent.append_detect_result_projection_if_changed")
def test_append_detect_result_projection_snapshot_uses_active_job_summary(self, mock_append) -> None:
_append_detect_result_projection_snapshot(
{
"job_id": 1,
"job_code": "detect-20260419030000-abc123",
"status": "running",
"items_pending": 12,
"items_running": 3,
"items_completed": 8,
"items_blacklisted": 1,
"items_failed": 2,
}
)
mock_append.assert_called_once()
payload = mock_append.call_args.kwargs["detect"]
self.assertEqual("running", payload["phase_label"])
self.assertEqual("detect-20260419030000-abc123", payload["active_job"]["job_code"])
self.assertEqual(12, payload["progress"]["pending"])
self.assertEqual(3, payload["progress"]["running"])
self.assertEqual(8, payload["progress"]["completed"])
self.assertEqual(1, payload["progress"]["blacklisted"])
self.assertEqual(2, payload["progress"]["failed"])
if __name__ == "__main__":
unittest.main()