refactor(tests): centralize fake database import-state cleanup

Test-only refactor continuing #2523. Centralizes the repeated guarded fake core.database/src.database import-state cleanup into a focused helper.
This commit is contained in:
Alexandre Teixeira
2026-06-05 12:27:44 +01:00
committed by GitHub
parent 370ae5d451
commit 301d1109b5
7 changed files with 155 additions and 69 deletions
+2 -14
View File
@@ -1,24 +1,12 @@
"""Tests for topic keyword matching (src/topic_analyzer.py)."""
import sys
from types import SimpleNamespace
import pytest
from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker
from tests.helpers.import_state import clear_fake_database_modules
def _drop_fake_core_database():
parent = sys.modules.get("core")
attr = getattr(parent, "database", None) if parent is not None else None
mod = sys.modules.get("core.database") or attr
if mod is None or isinstance(getattr(mod, "__file__", None), str):
return
sys.modules.pop("core.database", None)
sys.modules.pop("src.database", None)
if parent is not None and attr is mod:
delattr(parent, "database")
_drop_fake_core_database()
clear_fake_database_modules()
from core.database import Base, Session as DbSession, ChatMessage as DbChatMessage
from core.session_manager import SessionManager