Home / Function/ test_structured_output_retry_validation_error() — langchain Function Reference

test_structured_output_retry_validation_error() — langchain Function Reference

Architecture documentation for the test_structured_output_retry_validation_error() function in test_structured_output_retry.py from the langchain codebase.

Entity Profile

Dependency Diagram

graph TD
  c25fee3c_1d06_9cc1_9f82_7ef5f72f6855["test_structured_output_retry_validation_error()"]
  dd58b626_28b2_b72e_0314_162a5a760201["test_structured_output_retry.py"]
  c25fee3c_1d06_9cc1_9f82_7ef5f72f6855 -->|defined in| dd58b626_28b2_b72e_0314_162a5a760201
  style c25fee3c_1d06_9cc1_9f82_7ef5f72f6855 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

libs/langchain_v1/tests/unit_tests/agents/middleware/implementations/test_structured_output_retry.py lines 227–272

def test_structured_output_retry_validation_error() -> None:
    """Test structured output retry with schema validation errors."""
    # First attempt has wrong type, second has missing field, third succeeds
    tool_calls = [
        [
            {
                "name": "WeatherReport",
                "id": "1",
                "args": {"temperature": "seventy-two", "conditions": "sunny"},
            }
        ],
        [{"name": "WeatherReport", "id": "2", "args": {"temperature": 72.5}}],
        [
            {
                "name": "WeatherReport",
                "id": "3",
                "args": {"temperature": 72.5, "conditions": "partly cloudy"},
            }
        ],
    ]

    model = FakeToolCallingModel(tool_calls=tool_calls)
    retry_middleware = StructuredOutputRetryMiddleware(max_retries=2)

    agent = create_agent(
        model=model,
        tools=[get_weather],
        middleware=[retry_middleware],
        response_format=ToolStrategy(schema=WeatherReport, handle_errors=False),
        checkpointer=InMemorySaver(),
    )

    result = agent.invoke(
        {"messages": [HumanMessage("What's the weather in London?")]},
        {"configurable": {"thread_id": "test"}},
    )

    # Verify we got a structured response
    assert "structured_response" in result
    structured = result["structured_response"]
    assert isinstance(structured, WeatherReport)
    assert structured.temperature == 72.5
    assert structured.conditions == "partly cloudy"

    # Verify the model was called 3 times
    assert model.index == 3

Domain

Subdomains

Frequently Asked Questions

What does test_structured_output_retry_validation_error() do?
test_structured_output_retry_validation_error() is a function in the langchain codebase, defined in libs/langchain_v1/tests/unit_tests/agents/middleware/implementations/test_structured_output_retry.py.
Where is test_structured_output_retry_validation_error() defined?
test_structured_output_retry_validation_error() is defined in libs/langchain_v1/tests/unit_tests/agents/middleware/implementations/test_structured_output_retry.py at line 227.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free