Files
hermes-webui/tests/test_turn_journal_callsite.py
T
2026-05-11 17:16:43 +02:00

26 lines
1.1 KiB
Python

from pathlib import Path
def test_chat_start_appends_submitted_turn_journal_before_worker_thread_start():
src = Path("api/routes.py").read_text(encoding="utf-8")
save_idx = src.index("_prepare_chat_start_session_for_stream(")
append_idx = src.index("append_turn_journal_event(", save_idx)
thread_idx = src.index("threading.Thread(", append_idx)
assert save_idx < append_idx < thread_idx
assert '"event": "submitted"' in src[append_idx:thread_idx]
assert '"role": "user"' in src[append_idx:thread_idx]
def test_chat_start_writes_turn_journal_after_session_lock_and_handles_failure():
src = Path("api/routes.py").read_text(encoding="utf-8")
lock_idx = src.index("with session_lock:")
append_idx = src.index("append_turn_journal_event(", lock_idx)
stream_registration_idx = src.index("STREAMS[stream_id] = stream", append_idx)
lock_block = src[lock_idx:append_idx]
append_block = src[append_idx:stream_registration_idx]
assert "append_turn_journal_event(" not in lock_block
assert "except Exception:" in append_block
assert "Failed to append submitted turn journal event" in append_block