refactor: unify gateway session title sync flow

This commit is contained in:
aaron 2026-04-23 09:09:33 +00:00
parent 59d45346ba
commit 3438de3623
8 changed files with 421 additions and 61 deletions

View file

@ -945,6 +945,7 @@ class TestSessionTitle:
def test_set_title_nonexistent_session(self, db):
assert db.set_session_title("nonexistent", "Title") is False
assert db.set_session_title_if_missing("nonexistent", "Title") is False
def test_title_initially_none(self, db):
db.create_session(session_id="s1", source="cli")
@ -959,6 +960,20 @@ class TestSessionTitle:
session = db.get_session("s1")
assert session["title"] == "Updated Title"
def test_set_title_if_missing_only_sets_once(self, db):
db.create_session(session_id="s1", source="cli")
assert db.set_session_title_if_missing("s1", "Initial Title") is True
assert db.set_session_title_if_missing("s1", "Ignored Title") is False
assert db.get_session("s1")["title"] == "Initial Title"
def test_set_title_if_missing_respects_uniqueness(self, db):
db.create_session(session_id="s1", source="cli")
db.create_session(session_id="s2", source="cli")
db.set_session_title("s1", "Taken")
with pytest.raises(ValueError, match="already in use"):
db.set_session_title_if_missing("s2", "Taken")
def test_title_in_search_sessions(self, db):
db.create_session(session_id="s1", source="cli")
db.set_session_title("s1", "Debugging Auth")