stream responses and all tests passing

This commit is contained in:
2026-02-21 13:42:32 -07:00
parent 1a894faa59
commit ef2ac2f030
6 changed files with 126 additions and 40 deletions
+30 -12
View File
@@ -24,24 +24,42 @@ def settings():
)
# tests/conftest.py - replace mock_anthropic_client fixture
@pytest.fixture
def mock_anthropic_client():
"""Mock anthropic client that returns a fake response."""
"""Mock Anthropic client with streaming support."""
mock_client = AsyncMock()
# create a realistic fake response
fake_message = Message(
id="msg_test123",
type="message",
role="assistant",
content=[TextBlock(type="text", text="42")],
model="claude-test-model",
stop_reason="end_turn",
usage=Usage(input_tokens=10, output_tokens=5),
# Create mock stream
mock_stream = AsyncMock()
# Mock text_stream - simple async generator
async def fake_text():
yield "42"
mock_stream.text_stream = fake_text()
# Mock get_final_message
mock_stream.get_final_message = AsyncMock(
return_value=Message(
id="msg_test123",
type="message",
role="assistant",
content=[TextBlock(type="text", text="42")],
model="claude-test-model",
stop_reason="end_turn",
usage=Usage(input_tokens=10, output_tokens=1),
)
)
# make messages.create() return this fake message
mock_client.messages.create = AsyncMock(return_value=fake_message)
# Mock context manager
mock_stream.__aenter__ = AsyncMock(return_value=mock_stream)
mock_stream.__aexit__ = AsyncMock()
# Wire up
mock_client.messages.stream = MagicMock(return_value=mock_stream)
return mock_client