feat: add cold display alarm flow and labeled snapshots
This commit is contained in:
@@ -80,6 +80,46 @@ class WebhookTests(unittest.TestCase):
|
||||
self.assertFalse(payload["is_discarded"])
|
||||
self.assertEqual(payload["alerted_at"], datetime(2026, 6, 9, 9, 0, tzinfo=UTC).isoformat())
|
||||
|
||||
def test_build_batch_event_payload_preserves_pre_warning_and_alarm_times(self) -> None:
|
||||
pre_warned_at = datetime(2026, 6, 9, 8, 59, tzinfo=UTC).isoformat()
|
||||
alarm_at = datetime(2026, 6, 9, 9, 0, tzinfo=UTC).isoformat()
|
||||
|
||||
pre_warning_payload = build_batch_event_payload(
|
||||
{
|
||||
"event": "time_pre_warning",
|
||||
"ts": pre_warned_at,
|
||||
"batch_id": "batch_000001",
|
||||
"camera_id": "cam_01",
|
||||
"zone_id": "1",
|
||||
"zone_label": "区域 1",
|
||||
"severity": "warning",
|
||||
"state": "pre_warning",
|
||||
"started_at": datetime(2026, 6, 9, 8, 58, tzinfo=UTC).isoformat(),
|
||||
"pre_warned_at": pre_warned_at,
|
||||
}
|
||||
)
|
||||
alarm_payload = build_batch_event_payload(
|
||||
{
|
||||
"event": "time_alarm",
|
||||
"ts": alarm_at,
|
||||
"batch_id": "batch_000001",
|
||||
"camera_id": "cam_01",
|
||||
"zone_id": "1",
|
||||
"zone_label": "区域 1",
|
||||
"severity": "alarm",
|
||||
"state": "alerted",
|
||||
"started_at": datetime(2026, 6, 9, 8, 58, tzinfo=UTC).isoformat(),
|
||||
"pre_warned_at": pre_warned_at,
|
||||
"alerted_at": alarm_at,
|
||||
}
|
||||
)
|
||||
|
||||
self.assertEqual(pre_warning_payload["pre_warned_at"], pre_warned_at)
|
||||
self.assertEqual(pre_warning_payload["created_at"], pre_warned_at)
|
||||
self.assertEqual(pre_warning_payload["alarm_at"], "")
|
||||
self.assertEqual(alarm_payload["pre_warned_at"], pre_warned_at)
|
||||
self.assertEqual(alarm_payload["alarm_at"], alarm_at)
|
||||
|
||||
def test_build_batch_event_payload_includes_uploaded_snapshot_path(self) -> None:
|
||||
payload = build_batch_event_payload(
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user