"""Tests pour le flag RPA_AUTO_LAUNCH_REPLAY_AFTER_FINALIZE. Brief Codex 2026-05-23 09:02 : le chemin produit cible est le workflow compilé (post worker VLM), pas le replay direct depuis raw events. Le flag env désactive la proposition automatique de replay direct par défaut. Le chemin direct reste accessible (smoke/debug) via RPA_AUTO_LAUNCH_REPLAY_AFTER_FINALIZE=true. """ from __future__ import annotations import sys from pathlib import Path ROOT = Path(__file__).parent.parent.parent sys.path.insert(0, str(ROOT)) from agent_v0.server_v1.replay_engine import ( # noqa: E402 _auto_launch_replay_after_finalize, ) class TestAutoLaunchReplayFlag: def test_default_is_false(self, monkeypatch): """Sans variable d'env, le mode produit est actif → pas de proposition automatique de replay direct.""" monkeypatch.delenv("RPA_AUTO_LAUNCH_REPLAY_AFTER_FINALIZE", raising=False) assert _auto_launch_replay_after_finalize() is False def test_true_value_activates(self, monkeypatch): monkeypatch.setenv("RPA_AUTO_LAUNCH_REPLAY_AFTER_FINALIZE", "true") assert _auto_launch_replay_after_finalize() is True def test_1_value_activates(self, monkeypatch): monkeypatch.setenv("RPA_AUTO_LAUNCH_REPLAY_AFTER_FINALIZE", "1") assert _auto_launch_replay_after_finalize() is True def test_yes_value_activates(self, monkeypatch): monkeypatch.setenv("RPA_AUTO_LAUNCH_REPLAY_AFTER_FINALIZE", "yes") assert _auto_launch_replay_after_finalize() is True def test_false_value_deactivates(self, monkeypatch): monkeypatch.setenv("RPA_AUTO_LAUNCH_REPLAY_AFTER_FINALIZE", "false") assert _auto_launch_replay_after_finalize() is False def test_empty_value_deactivates(self, monkeypatch): monkeypatch.setenv("RPA_AUTO_LAUNCH_REPLAY_AFTER_FINALIZE", "") assert _auto_launch_replay_after_finalize() is False def test_arbitrary_value_deactivates(self, monkeypatch): """Toute valeur non-truthy retourne False (default-deny).""" monkeypatch.setenv("RPA_AUTO_LAUNCH_REPLAY_AFTER_FINALIZE", "maybe") assert _auto_launch_replay_after_finalize() is False def test_case_insensitive(self, monkeypatch): monkeypatch.setenv("RPA_AUTO_LAUNCH_REPLAY_AFTER_FINALIZE", "TRUE") assert _auto_launch_replay_after_finalize() is True monkeypatch.setenv("RPA_AUTO_LAUNCH_REPLAY_AFTER_FINALIZE", "Yes") assert _auto_launch_replay_after_finalize() is True