from pathlib import Path

from src.config import AIProvider, Settings
from src.integrations.ai_provider import get_ai_provider


def test_codex_is_a_repo_based_provider(monkeypatch) -> None:
    monkeypatch.setenv("CODEX_CLI_PATH", "codex")
    monkeypatch.setenv("AI_PROVIDER", "cursor")
    provider = get_ai_provider(AIProvider.CODEX)
    assert provider.provider_name == "codex"


def test_codex_cli_script_documents_per_run_override() -> None:
    script = Path(__file__).parents[1] / "scripts" / "verify_codex_cli_codegen.py"
    text = script.read_text(encoding="utf-8")
    assert "provider_override=AIProvider.CODEX.value" in text
    assert "does not modify ``.env``" in text


def test_codex_cli_uses_external_isolation_sandbox_mode() -> None:
    integration = Path(__file__).parents[1] / "src" / "integrations" / "codex_cli.py"
    text = integration.read_text(encoding="utf-8")
    assert '"--sandbox", "danger-full-access"' in text
