Home / Function/ test_sync_only_middleware_raises_on_async_path() — langchain Function Reference

test_sync_only_middleware_raises_on_async_path() — langchain Function Reference

Architecture documentation for the test_sync_only_middleware_raises_on_async_path() function in test_sync_async_wrappers.py from the langchain codebase.

Entity Profile

Dependency Diagram

graph TD
  efd91223_43e6_a2eb_e462_03df11f5b13e["test_sync_only_middleware_raises_on_async_path()"]
  dcfb9efa_1e8c_d646_a0b4_9a9d7afddd2c["TestSyncAsyncMiddlewareComposition"]
  efd91223_43e6_a2eb_e462_03df11f5b13e -->|defined in| dcfb9efa_1e8c_d646_a0b4_9a9d7afddd2c
  b32ae1d3_dc67_5e65_9233_c87c7775379d["wrap_tool_call()"]
  efd91223_43e6_a2eb_e462_03df11f5b13e -->|calls| b32ae1d3_dc67_5e65_9233_c87c7775379d
  style efd91223_43e6_a2eb_e462_03df11f5b13e fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

libs/langchain_v1/tests/unit_tests/agents/middleware/core/test_sync_async_wrappers.py lines 75–105

    async def test_sync_only_middleware_raises_on_async_path(self) -> None:
        """Middleware with only sync wrap_tool_call raises NotImplementedError on async path."""

        class SyncOnlyMiddleware(AgentMiddleware):
            def wrap_tool_call(
                self,
                request: ToolCallRequest,
                handler: Callable[[ToolCallRequest], ToolMessage | Command[Any]],
            ) -> ToolMessage | Command[Any]:
                return handler(request)

        model = FakeToolCallingModel(
            tool_calls=[
                [ToolCall(name="search", args={"query": "test"}, id="1")],
                [],
            ]
        )

        agent = create_agent(
            model=model,
            tools=[search],
            middleware=[SyncOnlyMiddleware()],
            checkpointer=InMemorySaver(),
        )

        # Should raise NotImplementedError because SyncOnlyMiddleware doesn't support async path
        with pytest.raises(NotImplementedError):
            await agent.ainvoke(
                {"messages": [HumanMessage("Search")]},
                {"configurable": {"thread_id": "test"}},
            )

Domain

Subdomains

Frequently Asked Questions

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

Analyze Your Own Codebase

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

Try Supermodel Free