Files
SignageSystem/tests/test_unified_event_logger.py
T
2026-08-09 21:41:44 +09:00

14 lines
1.0 KiB
Python

from pathlib import Path
from src.config_loader import UnifiedLogSettings
from src.models import UnifiedEvent,PersonAnalysisRecord,SessionSummary,LogConsistencyIssue
from src.unified_event_logger import UnifiedEventLogger
def test_four_csvs_bom_json_dedup(tmp_path:Path)->None:
c=UnifiedLogSettings(True,str(tmp_path),True,True,True,True,1,True,True,True,True,False,False,"",True)
l=UnifiedEventLogger(c,"exp","sid","stamp");l.open()
e=UnifiedEvent("exp","sid","id","system","x",None,1,"t",1.,metadata={"日本語":"値"})
l.write_events([e,e]);r=PersonAnalysisRecord("exp","sid",1);l.write_analysis([r,r]);s=SessionSummary("exp","sid","t");l.write_session(s);l.write_session(s);l.write_issues([LogConsistencyIssue("unknown","warning",1,None,"m",{"日":"本"})]);l.close();l.close()
assert len(list(tmp_path.glob("*.csv")))==4
assert all(p.read_bytes().startswith(b"\xef\xbb\xbf") for p in tmp_path.glob("*.csv"))
assert "日本語" in (tmp_path/"stamp_exp_unified_events.csv").read_text(encoding="utf-8-sig")