test_execution_order() — langchain Function Reference
Architecture documentation for the test_execution_order() function in test_framework.py from the langchain codebase.
Entity Profile
Dependency Diagram
graph TD 44443e17_7efb_5273_2b9a_9df0ee61dd62["test_execution_order()"] 7756726f_6234_5476_ab8e_0716a0d87ec6["TestAgentHooksCombined"] 44443e17_7efb_5273_2b9a_9df0ee61dd62 -->|defined in| 7756726f_6234_5476_ab8e_0716a0d87ec6 style 44443e17_7efb_5273_2b9a_9df0ee61dd62 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
libs/langchain_v1/tests/unit_tests/agents/middleware/core/test_framework.py lines 882–914
async def test_execution_order(self, *, is_async: bool) -> None:
"""Test that before_agent executes before after_agent in both sync and async modes."""
execution_log: list[str] = []
if is_async:
@before_agent
async def log_before(*_args: Any, **_kwargs: Any) -> None:
execution_log.append("before")
@after_agent
async def log_after(*_args: Any, **_kwargs: Any) -> None:
execution_log.append("after")
else:
@before_agent
def log_before(*_args: Any, **_kwargs: Any) -> None:
execution_log.append("before")
@after_agent
def log_after(*_args: Any, **_kwargs: Any) -> None:
execution_log.append("after")
model = GenericFakeChatModel(messages=iter([AIMessage(content="Response")]))
agent = create_agent(model=model, tools=[], middleware=[log_before, log_after])
if is_async:
await agent.ainvoke({"messages": [HumanMessage("Test")]})
else:
agent.invoke({"messages": [HumanMessage("Test")]})
assert execution_log == ["before", "after"]
Domain
Subdomains
Source
Frequently Asked Questions
What does test_execution_order() do?
test_execution_order() is a function in the langchain codebase, defined in libs/langchain_v1/tests/unit_tests/agents/middleware/core/test_framework.py.
Where is test_execution_order() defined?
test_execution_order() is defined in libs/langchain_v1/tests/unit_tests/agents/middleware/core/test_framework.py at line 882.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free