Files
ZNJJ-api-server/test/agent/test_events.py
T

42 lines
1.4 KiB
Python
Raw Normal View History

"""作业 3 事件解析测试。
来源:workflow/20261016/事故信息采集2025118.json 中的客户端标记。
关键规则:普通自然语言(如“拍好了”“继续”)不是事件。
"""
import pytest
from src.agent.events import ClientEvent, parse_client_event
@pytest.mark.parametrize(
("text", "expected"),
[
("【开始】", ClientEvent.SESSION_START),
("【继续办理】", ClientEvent.CONTINUE),
("【拍摄完成】", ClientEvent.PHOTO_DONE),
("【用户无回复】", ClientEvent.NO_REPLY),
("【客户端连续3次拍摄识别失败:图片过于模糊】", ClientEvent.PHOTO_FAILED_3X),
("【客户端连续3次拍摄识别失败:摄像头启动失败】", ClientEvent.PHOTO_FAILED_3X),
("【客户端连续3次拍摄识别失败:未识别到完整车牌】", ClientEvent.PHOTO_FAILED_3X),
(" 【拍摄完成】 ", ClientEvent.PHOTO_DONE), # 容忍首尾空白
],
)
def test_markers_parse_to_events(text, expected):
assert parse_client_event(text) is expected
@pytest.mark.parametrize(
"text",
[
"拍好了", # 普通“拍好了”不等于拍摄完成事件
"我已经拍完了",
"继续",
"你好",
"",
" ",
],
)
def test_plain_text_is_not_an_event(text):
assert parse_client_event(text) is None