Spaces:
Sleeping
Sleeping
"""Test the FileManagementToolkit.""" | |
from tempfile import TemporaryDirectory | |
import pytest | |
from langchain.agents.agent_toolkits.file_management.toolkit import ( | |
FileManagementToolkit, | |
) | |
from langchain.tools.base import BaseTool | |
def test_file_toolkit_get_tools() -> None: | |
"""Test the get_tools method of FileManagementToolkit.""" | |
with TemporaryDirectory() as temp_dir: | |
toolkit = FileManagementToolkit(root_dir=temp_dir) | |
tools = toolkit.get_tools() | |
assert len(tools) > 0 | |
assert all(isinstance(tool, BaseTool) for tool in tools) | |
def test_file_toolkit_get_tools_with_selection() -> None: | |
"""Test the get_tools method of FileManagementToolkit with selected_tools.""" | |
with TemporaryDirectory() as temp_dir: | |
toolkit = FileManagementToolkit( | |
root_dir=temp_dir, selected_tools=["read_file", "write_file"] | |
) | |
tools = toolkit.get_tools() | |
assert len(tools) == 2 | |
tool_names = [tool.name for tool in tools] | |
assert "read_file" in tool_names | |
assert "write_file" in tool_names | |
def test_file_toolkit_invalid_tool() -> None: | |
"""Test the FileManagementToolkit with an invalid tool.""" | |
with TemporaryDirectory() as temp_dir: | |
with pytest.raises(ValueError): | |
FileManagementToolkit(root_dir=temp_dir, selected_tools=["invalid_tool"]) | |
def test_file_toolkit_root_dir() -> None: | |
"""Test the FileManagementToolkit root_dir handling.""" | |
with TemporaryDirectory() as temp_dir: | |
toolkit = FileManagementToolkit(root_dir=temp_dir) | |
tools = toolkit.get_tools() | |
root_dirs = [tool.root_dir for tool in tools if hasattr(tool, "root_dir")] | |
assert all(root_dir == temp_dir for root_dir in root_dirs) | |