Scriptorium / tests /test_session_store.py
mattkevan's picture
First in space
af4851b
Raw
History Blame Contribute Delete
889 Bytes
from pathlib import Path
from backend.session_store import SessionStore
def test_session_store_creates_isolated_session_dirs(tmp_path: Path) -> None:
store = SessionStore(root=tmp_path, ttl_seconds=60)
first = store.ensure_session("session-a")
second = store.ensure_session("session-b")
assert first.session_id == "session-a"
assert second.session_id == "session-b"
assert first.root.exists()
assert second.root.exists()
assert first.root != second.root
def test_session_store_prunes_expired_sessions(tmp_path: Path) -> None:
store = SessionStore(root=tmp_path, ttl_seconds=0)
session = store.ensure_session("session-a")
marker = session.root / "marker.txt"
marker.write_text("old", encoding="utf-8")
removed = store.cleanup_expired(now=store._now() + 1)
assert removed == ["session-a"]
assert not session.root.exists()