mirror of
https://github.com/nesquena/hermes-webui.git
synced 2026-05-26 11:40:26 +00:00
26 lines
1.1 KiB
Python
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
|