Files
getDomain/domain-api/tests/test_sync_record_service.py
2026-04-19 02:53:43 +08:00

56 lines
2.1 KiB
Python

import unittest
from app.services.sync_record_service import _collect_recent_domain_events
class SyncRecordServiceTests(unittest.TestCase):
def test_collect_recent_domain_events_filters_and_keeps_latest_slice(self) -> None:
active_job = {
"current_cycle_events": [
{
"node_code": "mainland-worker-01",
"event_type": "job_dispatch_sent",
"level": "info",
"message": "dispatch",
"created_at": "2026-04-19 01:00:05",
"payload": {"cycle_token": "cycle-1"},
},
{
"node_code": "mainland-worker-01",
"event_type": "domain_completed",
"level": "info",
"message": "完成 a.com",
"created_at": "2026-04-19 01:00:04",
"payload": {"domain": "a.com", "cycle_token": "cycle-1"},
},
{
"node_code": "mainland-worker-01",
"event_type": "domain_started",
"level": "info",
"message": "开始 b.com",
"created_at": "2026-04-19 01:00:03",
"payload": {"domain": "b.com", "cycle_token": "cycle-1"},
},
{
"node_code": "mainland-worker-01",
"event_type": "domain_failed",
"level": "warning",
"message": "失败 c.com",
"created_at": "2026-04-19 01:00:02",
"payload": {"domain": "c.com", "cycle_token": "cycle-1"},
},
]
}
events = _collect_recent_domain_events(active_job, limit=2)
self.assertEqual(2, len(events))
self.assertEqual("domain_started", events[0]["event_type"])
self.assertEqual("b.com", events[0]["payload"]["domain"])
self.assertEqual("domain_completed", events[1]["event_type"])
self.assertEqual("a.com", events[1]["payload"]["domain"])
if __name__ == "__main__":
unittest.main()