test_multiple_transformations() — langchain Function Reference
Architecture documentation for the test_multiple_transformations() function in test_wrap_model_call.py from the langchain codebase.
Entity Profile
Dependency Diagram
graph TD a85ee387_7761_987a_8ee0_f9f12f9db4dd["test_multiple_transformations()"] 2d096fab_8a25_1dfa_6e53_a3f5603e55c2["TestMiddlewareComposition"] a85ee387_7761_987a_8ee0_f9f12f9db4dd -->|defined in| 2d096fab_8a25_1dfa_6e53_a3f5603e55c2 style a85ee387_7761_987a_8ee0_f9f12f9db4dd 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 840–873
def test_multiple_transformations(self) -> None:
"""Test multiple middleware that each transform the response."""
class PrefixMiddleware(AgentMiddleware):
def wrap_model_call(
self,
request: ModelRequest,
handler: Callable[[ModelRequest], ModelResponse],
) -> ModelCallResult:
result = handler(request)
# result is ModelResponse, extract AIMessage from it
ai_message = result.result[0]
return AIMessage(content=f"[PREFIX] {ai_message.content}")
class SuffixMiddleware(AgentMiddleware):
def wrap_model_call(
self,
request: ModelRequest,
handler: Callable[[ModelRequest], ModelResponse],
) -> ModelCallResult:
result = handler(request)
# result is ModelResponse, extract AIMessage from it
ai_message = result.result[0]
return AIMessage(content=f"{ai_message.content} [SUFFIX]")
model = GenericFakeChatModel(messages=iter([AIMessage(content="Middle")]))
# Prefix is outer, Suffix is inner
# Inner (Suffix) runs first, then Outer (Prefix)
agent = create_agent(model=model, middleware=[PrefixMiddleware(), SuffixMiddleware()])
result = agent.invoke({"messages": [HumanMessage("Test")]})
# Suffix adds suffix first, then Prefix adds prefix
assert result["messages"][1].content == "[PREFIX] Middle [SUFFIX]"
Domain
Subdomains
Source
Frequently Asked Questions
What does test_multiple_transformations() do?
test_multiple_transformations() 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_multiple_transformations() defined?
test_multiple_transformations() is defined in libs/langchain_v1/tests/unit_tests/agents/middleware/core/test_wrap_model_call.py at line 840.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free