Files
rpa_vision_v3/tests/security/conftest.py

34 lines
1.3 KiB
Python

"""Conftest pour les tests securite — assure que le agent_v0 local de
rpa_vision_v3 est trouve avant le standalone de ~/ai/agent_v0/.
Le conftest racine ajoute /home/dom/ai/rpa_vision_v3 mais ne previent pas
le shadow par /home/dom/ai. On force l'ordre + on purge un eventuel
agent_v0 standalone deja charge depuis ~/ai/.
"""
import sys
from pathlib import Path
ROOT = str(Path(__file__).resolve().parents[2])
# Forcer rpa_vision_v3 en tete (pattern reutilise depuis tests/integration/conftest.py)
if ROOT in sys.path:
sys.path.remove(ROOT)
sys.path.insert(0, ROOT)
# Purger tout import precoce de agent_v0 / core qui pointe vers un autre dossier
# (cf. ~/ai/agent_v0/ standalone qui n'est pas le package serveur du repo).
_AGENT_V0_LOCAL = str(Path(ROOT) / "agent_v0")
for _mod_name in list(sys.modules):
if _mod_name == "agent_v0" or _mod_name.startswith("agent_v0."):
_mod = sys.modules[_mod_name]
_mod_file = getattr(_mod, "__file__", "") or ""
if not _mod_file.startswith(_AGENT_V0_LOCAL):
del sys.modules[_mod_name]
# Pre-import du module local pour eviter qu'un autre conftest n'importe
# le standalone /home/dom/ai/agent_v0/ avant nous.
try: # pragma: no cover - garde de path
from agent_v0 import server_v1 as _sv1 # noqa: F401
except Exception:
pass