Files
codex/sdk/python/tests/codex_exec_spy.py
pakrym-oai e05f333e55 Python sdk
2025-09-30 14:35:22 -07:00

28 lines
708 B
Python

from __future__ import annotations
from dataclasses import dataclass
from typing import Callable
from pytest import MonkeyPatch
from openai_codex_sdk.exec import CodexExecArgs
from .responses_proxy import FakeExec, ResponsesProxy
@dataclass(slots=True)
class CodexExecSpyResult:
args: list[CodexExecArgs]
restore: Callable[[], None]
def install_codex_exec_spy(monkeypatch: MonkeyPatch, proxy: ResponsesProxy) -> CodexExecSpyResult:
calls: list[CodexExecArgs] = []
def factory(path: str) -> FakeExec:
return FakeExec(path, proxy, calls)
monkeypatch.setattr("openai_codex_sdk.codex.CodexExec", factory)
return CodexExecSpyResult(args=calls, restore=monkeypatch.undo)