Spaces:
Running
Running
| from types import SimpleNamespace | |
| from tests.helpers.cli_loader import load_script | |
| from tests.helpers.db_stubs import make_core_db_stub | |
| def _load_sessions_cli(monkeypatch): | |
| make_core_db_stub( | |
| monkeypatch, | |
| attributes={"SessionLocal": object, "Session": object}, | |
| install_core_package=True, | |
| ) | |
| return load_script("odysseus-sessions") | |
| def test_serialize_normalizes_numeric_counters(monkeypatch): | |
| cli = _load_sessions_cli(monkeypatch) | |
| session = SimpleNamespace( | |
| id="s1", | |
| name="chat", | |
| model="m", | |
| endpoint_url="", | |
| owner=None, | |
| folder=None, | |
| archived=False, | |
| rag=False, | |
| is_important=False, | |
| message_count="12", | |
| total_input_tokens="bad", | |
| total_output_tokens=None, | |
| last_accessed=None, | |
| created_at=None, | |
| ) | |
| out = cli._serialize(session) | |
| assert out["message_count"] == 12 | |
| assert out["total_input_tokens"] == 0 | |
| assert out["total_output_tokens"] == 0 | |