diff --git a/tests/tui_gateway/test_launch_db_home_override_race.py b/tests/tui_gateway/test_launch_db_home_override_race.py index 5110f1f44a..5bdd60e13e 100644 --- a/tests/tui_gateway/test_launch_db_home_override_race.py +++ b/tests/tui_gateway/test_launch_db_home_override_race.py @@ -9,11 +9,9 @@ backend permanently serves the wrong profile's state.db. from __future__ import annotations -from pathlib import Path -from types import SimpleNamespace - import pytest +import hermes_state_registry as registry from hermes_constants import reset_hermes_home_override, set_hermes_home_override from tui_gateway import server @@ -29,24 +27,20 @@ def launch_db_env(monkeypatch, tmp_path): monkeypatch.setattr(server, "_hermes_home", str(launch_home)) monkeypatch.setattr(server, "_db", None) monkeypatch.setattr(server, "_db_error", None) - - captured: list[Path | None] = [] - - def _factory(db_path=None, **_kwargs): - captured.append(Path(db_path) if db_path is not None else None) - return SimpleNamespace(db_path=db_path) - - monkeypatch.setattr("hermes_state.get_shared_session_db", _factory) - return launch_home, foreign_home, captured + try: + yield launch_home, foreign_home + finally: + registry.close_all() def test_get_db_first_touch_under_foreign_override_uses_launch_path(launch_db_env): - launch_home, foreign_home, captured = launch_db_env + launch_home, foreign_home = launch_db_env token = set_hermes_home_override(str(foreign_home)) try: db = server._get_db() assert db is not None - assert captured == [launch_home / "state.db"] + assert db.db_path.resolve() == (launch_home / "state.db").resolve() + assert not (foreign_home / "state.db").exists() assert server._get_db() is db finally: reset_hermes_home_override(token)