| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- import pytest
- from agency_swarm import Agency, Agent
- @pytest.mark.asyncio
- async def test_agency_get_response_persists_messages(tmp_path, monkeypatch) -> None:
- """Real LLM integration: ensure non-streaming responses persist messages."""
- monkeypatch.setenv("AGENCY_SWARM_CHATS_DIR", str(tmp_path))
- agent = Agent(
- name="ResponseAgent",
- instructions="Reply with a short greeting.",
- model="gpt-5.4-mini",
- )
- agency = Agency(agent)
- result = await agency.get_response("Say hello in one word.")
- assert isinstance(result.final_output, str)
- assert result.final_output.strip()
- messages = agency.thread_manager.get_all_messages()
- assert len(messages) >= 2
- assert any(isinstance(item, dict) and item.get("agent") == agent.name for item in messages)
- @pytest.mark.asyncio
- async def test_agency_get_response_stream_persists_messages(tmp_path, monkeypatch) -> None:
- """Real LLM integration: ensure streaming responses persist messages."""
- monkeypatch.setenv("AGENCY_SWARM_CHATS_DIR", str(tmp_path))
- agent = Agent(
- name="StreamAgent",
- instructions="Reply with a short greeting.",
- model="gpt-5.4-mini",
- )
- agency = Agency(agent)
- stream = agency.get_response_stream("Say hello in one word.")
- async for _event in stream:
- pass
- final_result = stream.final_result
- assert final_result is not None
- assert isinstance(final_result.final_output, str)
- assert final_result.final_output.strip()
- messages = agency.thread_manager.get_all_messages()
- assert len(messages) >= 2
- assert any(isinstance(item, dict) and item.get("agent") == agent.name for item in messages)
|