Home / Function/ test_empty_tools_list_is_valid() — langchain Function Reference

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

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