Spaces:
Running
Running
File size: 762 Bytes
b1e14ec | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | from unittest.mock import patch
from adapters.inference.brain_api_adapter import BrainAPIAdapter
from pydantic import BaseModel
class User(BaseModel):
name: str
age: int
def test_brain_api_generate_structured_success():
adapter = BrainAPIAdapter(api_url="http://brain-api:5000")
# The structured generation path produces raw text (here valid JSON) and
# validates it against the Pydantic response model.
with patch.object(
adapter, "generate", return_value='{"name": "Test User", "age": 25}'
) as mock_generate:
result = adapter.generate_structured(
prompt="Extract user info", response_model=User
)
assert result == User(name="Test User", age=25)
mock_generate.assert_called_once()
|