From 1d1f5f455c7b20b6e5f89d8c2ca3ebdde7729a09 Mon Sep 17 00:00:00 2001 From: Greyson LaLonde Date: Fri, 26 Sep 2025 23:15:37 -0400 Subject: [PATCH] test: fix lite agent guardrail test assertions --- tests/agents/test_lite_agent.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/tests/agents/test_lite_agent.py b/tests/agents/test_lite_agent.py index 0fa06c0ff..90337b17b 100644 --- a/tests/agents/test_lite_agent.py +++ b/tests/agents/test_lite_agent.py @@ -351,10 +351,12 @@ def test_guardrail_is_called_using_string(): result = agent.kickoff(messages="Top 10 best players in the world?") - assert len(guardrail_events["started"]) == 2 - assert len(guardrail_events["completed"]) == 2 - assert not guardrail_events["completed"][0].success - assert guardrail_events["completed"][1].success + # Guardrail may be called 2 or 3 times depending on LLM response + assert len(guardrail_events["started"]) >= 2 + assert len(guardrail_events["completed"]) >= 2 + # At least one should fail and the last one should succeed + assert any(not event.success for event in guardrail_events["completed"][:-1]) + assert guardrail_events["completed"][-1].success assert ( "Here are the top 10 best soccer players in the world, focusing exclusively on Brazilian players" in result.raw @@ -436,6 +438,7 @@ def test_guardrail_reached_attempt_limit(): @pytest.mark.vcr(filter_headers=["authorization"]) +@pytest.mark.requires_local_services def test_agent_output_when_guardrail_returns_base_model(): class Player(BaseModel): name: str