test_empty_tools_list_is_valid() — langchain Function Reference
Architecture documentation for the test_empty_tools_list_is_valid() function in test_tools.py from the langchain codebase.
Entity Profile
Dependency Diagram
graph TD a15f9150_82b1_e776_080a_41c06fa55b33["test_empty_tools_list_is_valid()"] 5e05f5a6_3c9a_6b02_08a5_596bf1a6469a["test_tools.py"] a15f9150_82b1_e776_080a_41c06fa55b33 -->|defined in| 5e05f5a6_3c9a_6b02_08a5_596bf1a6469a style a15f9150_82b1_e776_080a_41c06fa55b33 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
libs/langchain_v1/tests/unit_tests/agents/middleware/core/test_tools.py lines 215–244
def test_empty_tools_list_is_valid() -> None:
"""Test that middleware can set tools to an empty list."""
@tool
def some_tool(value: str) -> str:
"""Some tool."""
return "result"
class NoToolsMiddleware(AgentMiddleware):
def wrap_model_call(
self,
request: ModelRequest,
handler: Callable[[ModelRequest], ModelResponse],
) -> ModelCallResult:
# Remove all tools
request = request.override(tools=[])
return handler(request)
model = FakeToolCallingModel()
agent = create_agent(
model=model,
tools=[some_tool],
system_prompt="You are a helpful assistant.",
middleware=[NoToolsMiddleware()],
)
# Should run without error even with no tools
result = agent.invoke({"messages": [HumanMessage("Hello")]})
assert "messages" in result
Domain
Subdomains
Source
Frequently Asked Questions
What does test_empty_tools_list_is_valid() do?
test_empty_tools_list_is_valid() is a function in the langchain codebase, defined in libs/langchain_v1/tests/unit_tests/agents/middleware/core/test_tools.py.
Where is test_empty_tools_list_is_valid() defined?
test_empty_tools_list_is_valid() is defined in libs/langchain_v1/tests/unit_tests/agents/middleware/core/test_tools.py at line 215.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free