mirror of
https://github.com/hwchase17/langchain.git
synced 2025-09-14 14:05:37 +00:00
standard-tests: root docstrings (#28595)
This commit is contained in:
@@ -5,9 +5,21 @@ from langchain_tests.unit_tests.tools import ToolsTests
|
||||
|
||||
|
||||
class ToolsIntegrationTests(ToolsTests):
|
||||
"""
|
||||
Base class for tools integration tests.
|
||||
"""
|
||||
|
||||
def test_invoke_matches_output_schema(self, tool: BaseTool) -> None:
|
||||
"""
|
||||
If invoked with a ToolCall, the tool should return a valid ToolMessage content.
|
||||
|
||||
If you have followed the `custom tool guide <https://python.langchain.com/docs/how_to/custom_tools/>`_,
|
||||
this test should always pass because ToolCall inputs are handled by the
|
||||
:class:`langchain_core.tools.BaseTool` class.
|
||||
|
||||
If you have not followed this guide, you should ensure that your tool's
|
||||
`invoke` method returns a valid ToolMessage content when it receives
|
||||
a dict representing a ToolCall as input (as opposed to distinct args).
|
||||
"""
|
||||
tool_call = ToolCall(
|
||||
name=tool.name,
|
||||
@@ -36,6 +48,8 @@ class ToolsIntegrationTests(ToolsTests):
|
||||
async def test_async_invoke_matches_output_schema(self, tool: BaseTool) -> None:
|
||||
"""
|
||||
If ainvoked with a ToolCall, the tool should return a valid ToolMessage content.
|
||||
|
||||
For debugging tips, see :meth:`test_invoke_matches_output_schema`.
|
||||
"""
|
||||
tool_call = ToolCall(
|
||||
name=tool.name,
|
||||
@@ -65,12 +79,20 @@ class ToolsIntegrationTests(ToolsTests):
|
||||
"""
|
||||
If invoked without a ToolCall, the tool can return anything
|
||||
but it shouldn't throw an error
|
||||
|
||||
If this test fails, your tool may not be handling the input you defined
|
||||
in `tool_invoke_params_example` correctly, and it's throwing an error.
|
||||
|
||||
This test doesn't have any checks. It's just to ensure that the tool
|
||||
doesn't throw an error when invoked with a dictionary of kwargs.
|
||||
"""
|
||||
tool.invoke(self.tool_invoke_params_example)
|
||||
|
||||
async def test_async_invoke_no_tool_call(self, tool: BaseTool) -> None:
|
||||
"""
|
||||
If invoked without a ToolCall, the tool can return anything
|
||||
If ainvoked without a ToolCall, the tool can return anything
|
||||
but it shouldn't throw an error
|
||||
|
||||
For debugging tips, see :meth:`test_invoke_no_tool_call`.
|
||||
"""
|
||||
await tool.ainvoke(self.tool_invoke_params_example)
|
||||
|
Reference in New Issue
Block a user