test_model_request_tools_are_base_tools() — langchain Function Reference
Architecture documentation for the test_model_request_tools_are_base_tools() function in test_tools.py from the langchain codebase.
Entity Profile
Dependency Diagram
graph TD 694d3846_9fc7_14ae_0af3_c409ebdb8538["test_model_request_tools_are_base_tools()"] 5e05f5a6_3c9a_6b02_08a5_596bf1a6469a["test_tools.py"] 694d3846_9fc7_14ae_0af3_c409ebdb8538 -->|defined in| 5e05f5a6_3c9a_6b02_08a5_596bf1a6469a style 694d3846_9fc7_14ae_0af3_c409ebdb8538 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
libs/langchain_v1/tests/unit_tests/agents/middleware/core/test_tools.py lines 23–70
def test_model_request_tools_are_base_tools() -> None:
"""Test that ModelRequest.tools contains BaseTool objects."""
captured_requests: list[ModelRequest] = []
@tool
def search_tool(query: str) -> str:
"""Search for information."""
return f"Results for: {query}"
@tool
def calculator(expression: str) -> str:
"""Calculate a mathematical expression."""
return f"Result: {expression}"
class RequestCapturingMiddleware(AgentMiddleware):
def wrap_model_call(
self,
request: ModelRequest,
handler: Callable[[ModelRequest], ModelResponse],
) -> ModelCallResult:
captured_requests.append(request)
return handler(request)
agent = create_agent(
model=FakeToolCallingModel(),
tools=[search_tool, calculator],
system_prompt="You are a helpful assistant.",
middleware=[RequestCapturingMiddleware()],
)
agent.invoke({"messages": [HumanMessage("Hello")]})
# Verify that at least one request was captured
assert len(captured_requests) > 0
# Check that tools in the request are BaseTool objects
request = captured_requests[0]
assert isinstance(request.tools, list)
assert len(request.tools) == 2
tools = []
for t in request.tools:
assert isinstance(t, BaseTool)
tools.append(t.name)
assert set(tools) == {
"search_tool",
"calculator",
}
Domain
Subdomains
Source
Frequently Asked Questions
What does test_model_request_tools_are_base_tools() do?
test_model_request_tools_are_base_tools() is a function in the langchain codebase, defined in libs/langchain_v1/tests/unit_tests/agents/middleware/core/test_tools.py.
Where is test_model_request_tools_are_base_tools() defined?
test_model_request_tools_are_base_tools() is defined in libs/langchain_v1/tests/unit_tests/agents/middleware/core/test_tools.py at line 23.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free