60 lines
1.7 KiB
Python
60 lines
1.7 KiB
Python
from __future__ import annotations
|
|
|
|
import logging
|
|
|
|
import pytest
|
|
|
|
import agents._debug as _debug
|
|
from agents import Agent, RunConfig
|
|
from agents.items import ToolCallOutputItem
|
|
from agents.run import AgentRunner
|
|
from agents.run_context import RunContextWrapper
|
|
from agents.run_state import RunState
|
|
from tests.fake_model import FakeModel
|
|
from tests.test_responses import get_text_message
|
|
|
|
|
|
@pytest.mark.asyncio
|
|
async def test_run_streamed_resume_omits_tool_output_in_log_when_dont_log(
|
|
monkeypatch, caplog
|
|
) -> None:
|
|
monkeypatch.setattr(_debug, "DONT_LOG_TOOL_DATA", True)
|
|
|
|
model = FakeModel()
|
|
model.set_next_output([get_text_message("ok")])
|
|
agent = Agent(name="log-agent", model=model)
|
|
context_wrapper: RunContextWrapper[dict[str, str]] = RunContextWrapper(context={})
|
|
state = RunState(
|
|
context=context_wrapper,
|
|
original_input="hi",
|
|
starting_agent=agent,
|
|
max_turns=1,
|
|
)
|
|
|
|
raw_output = {
|
|
"type": "function_call_output",
|
|
"call_id": "call-1",
|
|
"output": "secret",
|
|
}
|
|
state._generated_items = [ToolCallOutputItem(agent=agent, raw_item=raw_output, output="secret")]
|
|
|
|
caplog.set_level(logging.DEBUG, logger="openai.agents")
|
|
|
|
runner = AgentRunner()
|
|
streamed_result = runner.run_streamed(agent, state, run_config=RunConfig())
|
|
async for _event in streamed_result.stream_events():
|
|
pass
|
|
|
|
record = next(
|
|
(
|
|
rec
|
|
for rec in caplog.records
|
|
if "Resuming from RunState in run_streaming()" in rec.message
|
|
),
|
|
None,
|
|
)
|
|
assert record is not None
|
|
details = getattr(record, "generated_items_details", [])
|
|
assert details
|
|
assert "output" not in details[0]
|