test_tool_args_schema_default_values() — langchain Function Reference
Architecture documentation for the test_tool_args_schema_default_values() function in test_tools.py from the langchain codebase.
Entity Profile
Dependency Diagram
graph TD 392904ea_6a60_eb70_1d65_a6af9ac4c2fc["test_tool_args_schema_default_values()"] 8e7836ae_e72c_f670_72a5_4ca6d46e3555["test_tools.py"] 392904ea_6a60_eb70_1d65_a6af9ac4c2fc -->|defined in| 8e7836ae_e72c_f670_72a5_4ca6d46e3555 style 392904ea_6a60_eb70_1d65_a6af9ac4c2fc fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
libs/core/tests/unit_tests/test_tools.py lines 3508–3543
def test_tool_args_schema_default_values() -> None:
"""Test that Pydantic default values from `args_schema` are applied.
When a tool has an `args_schema` with default values, those defaults
should be passed to the tool function when the caller omits them.
"""
class SearchArgs(BaseModel):
"""Schema for search tool arguments."""
query: str = Field(..., description="The search query")
page: int = Field(default=1, description="Page number")
size: int = Field(default=10, description="Results per page")
@tool("search", args_schema=SearchArgs)
def search_tool(query: str, page: int, size: int) -> str:
"""Perform a search with pagination.
Args:
query: The search query.
page: Page number.
size: Results per page.
"""
return f"query={query}, page={page}, size={size}"
# Invoke with only required argument - defaults should be applied
result = search_tool.invoke({"query": "test"})
assert result == "query=test, page=1, size=10"
# Invoke with partial defaults - mix of provided and default values
result = search_tool.invoke({"query": "test", "page": 5})
assert result == "query=test, page=5, size=10"
# Invoke with all arguments explicitly provided
result = search_tool.invoke({"query": "test", "page": 3, "size": 20})
assert result == "query=test, page=3, size=20"
Domain
Subdomains
Defined In
Source
Frequently Asked Questions
What does test_tool_args_schema_default_values() do?
test_tool_args_schema_default_values() is a function in the langchain codebase, defined in libs/core/tests/unit_tests/test_tools.py.
Where is test_tool_args_schema_default_values() defined?
test_tool_args_schema_default_values() is defined in libs/core/tests/unit_tests/test_tools.py at line 3508.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free