test_two_middleware_composition() — langchain Function Reference
Architecture documentation for the test_two_middleware_composition() function in test_wrap_model_call.py from the langchain codebase.
Entity Profile
Dependency Diagram
graph TD 3f13befd_5359_56b4_a806_a437a1494b0f["test_two_middleware_composition()"] 2d096fab_8a25_1dfa_6e53_a3f5603e55c2["TestMiddlewareComposition"] 3f13befd_5359_56b4_a806_a437a1494b0f -->|defined in| 2d096fab_8a25_1dfa_6e53_a3f5603e55c2 style 3f13befd_5359_56b4_a806_a437a1494b0f fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
libs/langchain_v1/tests/unit_tests/agents/middleware/core/test_wrap_model_call.py lines 681–718
def test_two_middleware_composition(self) -> None:
"""Test that two middleware compose correctly (outer wraps inner)."""
execution_order = []
class OuterMiddleware(AgentMiddleware):
def wrap_model_call(
self,
request: ModelRequest,
handler: Callable[[ModelRequest], ModelResponse],
) -> ModelCallResult:
execution_order.append("outer-before")
response = handler(request)
execution_order.append("outer-after")
return response
class InnerMiddleware(AgentMiddleware):
def wrap_model_call(
self,
request: ModelRequest,
handler: Callable[[ModelRequest], ModelResponse],
) -> ModelCallResult:
execution_order.append("inner-before")
response = handler(request)
execution_order.append("inner-after")
return response
model = GenericFakeChatModel(messages=iter([AIMessage(content="Response")]))
agent = create_agent(model=model, middleware=[OuterMiddleware(), InnerMiddleware()])
agent.invoke({"messages": [HumanMessage("Test")]})
# Outer wraps inner: outer-before, inner-before, model, inner-after, outer-after
assert execution_order == [
"outer-before",
"inner-before",
"inner-after",
"outer-after",
]
Domain
Subdomains
Source
Frequently Asked Questions
What does test_two_middleware_composition() do?
test_two_middleware_composition() is a function in the langchain codebase, defined in libs/langchain_v1/tests/unit_tests/agents/middleware/core/test_wrap_model_call.py.
Where is test_two_middleware_composition() defined?
test_two_middleware_composition() is defined in libs/langchain_v1/tests/unit_tests/agents/middleware/core/test_wrap_model_call.py at line 681.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free