Home / Function/ test_inner_handler_retry() — langchain Function Reference

test_inner_handler_retry() — langchain Function Reference

Architecture documentation for the test_inner_handler_retry() function in test_composition.py from the langchain codebase.

Entity Profile

Dependency Diagram

graph TD
  db54973a_51f4_0eb9_387b_6d9f59c73a86["test_inner_handler_retry()"]
  f1e766c6_5a64_9e6c_f2a8_d41c64f6f142["TestChainModelCallHandlers"]
  db54973a_51f4_0eb9_387b_6d9f59c73a86 -->|defined in| f1e766c6_5a64_9e6c_f2a8_d41c64f6f142
  3988450e_19ed_2280_0a85_e9520f7f556b["create_test_request()"]
  db54973a_51f4_0eb9_387b_6d9f59c73a86 -->|calls| 3988450e_19ed_2280_0a85_e9520f7f556b
  style db54973a_51f4_0eb9_387b_6d9f59c73a86 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

libs/langchain_v1/tests/unit_tests/agents/middleware/core/test_composition.py lines 173–210

    def test_inner_handler_retry(self) -> None:
        """Test inner handler retrying before outer sees response."""
        inner_attempts = []

        def outer_passthrough(
            request: ModelRequest, handler: Callable[[ModelRequest], ModelResponse]
        ) -> ModelResponse:
            return handler(request)

        def inner_with_retry(
            request: ModelRequest, handler: Callable[[ModelRequest], ModelResponse]
        ) -> ModelResponse | AIMessage:
            for attempt in range(3):
                inner_attempts.append(attempt)
                try:
                    return handler(request)
                except ValueError:
                    if attempt == 2:
                        raise
            return AIMessage(content="should not reach")

        composed = _chain_model_call_handlers([outer_passthrough, inner_with_retry])
        assert composed is not None

        call_count = {"value": 0}

        def mock_base_handler(req: ModelRequest) -> ModelResponse:
            call_count["value"] += 1
            if call_count["value"] < 3:
                msg = "fail"
                raise ValueError(msg)
            return ModelResponse(result=[AIMessage(content="success")], structured_response=None)

        result = composed(create_test_request(), mock_base_handler)

        assert inner_attempts == [0, 1, 2]
        assert isinstance(result, _ComposedExtendedModelResponse)
        assert result.model_response.result[0].content == "success"

Domain

Subdomains

Frequently Asked Questions

What does test_inner_handler_retry() do?
test_inner_handler_retry() is a function in the langchain codebase, defined in libs/langchain_v1/tests/unit_tests/agents/middleware/core/test_composition.py.
Where is test_inner_handler_retry() defined?
test_inner_handler_retry() is defined in libs/langchain_v1/tests/unit_tests/agents/middleware/core/test_composition.py at line 173.
What does test_inner_handler_retry() call?
test_inner_handler_retry() calls 1 function(s): create_test_request.

Analyze Your Own Codebase

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

Try Supermodel Free