mirror of
https://github.com/crewAIInc/crewAI.git
synced 2026-01-12 17:48:30 +00:00
refactor: renaming available_tools_classes by available_exports
This commit is contained in:
@@ -2,6 +2,7 @@ import os
|
||||
import shutil
|
||||
import tempfile
|
||||
from pathlib import Path
|
||||
|
||||
import pytest
|
||||
|
||||
from crewai.cli import utils
|
||||
@@ -113,45 +114,45 @@ def create_init_file(directory, content):
|
||||
return create_file(directory / "__init__.py", content)
|
||||
|
||||
|
||||
def test_extract_available_tools_empty_project(temp_project_dir, capsys):
|
||||
def test_extract_available_exports_empty_project(temp_project_dir, capsys):
|
||||
with pytest.raises(SystemExit):
|
||||
utils.extract_available_tools(dir_path=temp_project_dir)
|
||||
utils.extract_available_exports(dir_path=temp_project_dir)
|
||||
captured = capsys.readouterr()
|
||||
|
||||
assert "No valid tools were exposed in your __init__.py file" in captured.out
|
||||
|
||||
|
||||
def test_extract_available_tools_no_init_file(temp_project_dir, capsys):
|
||||
def test_extract_available_exports_no_init_file(temp_project_dir, capsys):
|
||||
(temp_project_dir / "some_file.py").write_text("print('hello')")
|
||||
with pytest.raises(SystemExit):
|
||||
utils.extract_available_tools(dir_path=temp_project_dir)
|
||||
utils.extract_available_exports(dir_path=temp_project_dir)
|
||||
captured = capsys.readouterr()
|
||||
|
||||
assert "No valid tools were exposed in your __init__.py file" in captured.out
|
||||
|
||||
|
||||
def test_extract_available_tools_empty_init_file(temp_project_dir, capsys):
|
||||
def test_extract_available_exports_empty_init_file(temp_project_dir, capsys):
|
||||
create_init_file(temp_project_dir, "")
|
||||
with pytest.raises(SystemExit):
|
||||
utils.extract_available_tools(dir_path=temp_project_dir)
|
||||
utils.extract_available_exports(dir_path=temp_project_dir)
|
||||
captured = capsys.readouterr()
|
||||
|
||||
assert "Warning: No __all__ defined in" in captured.out
|
||||
|
||||
|
||||
def test_extract_available_tools_no_all_variable(temp_project_dir, capsys):
|
||||
def test_extract_available_exports_no_all_variable(temp_project_dir, capsys):
|
||||
create_init_file(
|
||||
temp_project_dir,
|
||||
"from crewai.tools import BaseTool\n\nclass MyTool(BaseTool):\n pass",
|
||||
)
|
||||
with pytest.raises(SystemExit):
|
||||
utils.extract_available_tools(dir_path=temp_project_dir)
|
||||
utils.extract_available_exports(dir_path=temp_project_dir)
|
||||
captured = capsys.readouterr()
|
||||
|
||||
assert "Warning: No __all__ defined in" in captured.out
|
||||
|
||||
|
||||
def test_extract_available_tools_valid_base_tool_class(temp_project_dir):
|
||||
def test_extract_available_exports_valid_base_tool_class(temp_project_dir):
|
||||
create_init_file(
|
||||
temp_project_dir,
|
||||
"""from crewai.tools import BaseTool
|
||||
@@ -163,11 +164,11 @@ class MyTool(BaseTool):
|
||||
__all__ = ['MyTool']
|
||||
""",
|
||||
)
|
||||
tools = utils.extract_available_tools(dir_path=temp_project_dir)
|
||||
tools = utils.extract_available_exports(dir_path=temp_project_dir)
|
||||
assert ["MyTool"] == tools
|
||||
|
||||
|
||||
def test_extract_available_tools_valid_tool_decorator(temp_project_dir):
|
||||
def test_extract_available_exports_valid_tool_decorator(temp_project_dir):
|
||||
create_init_file(
|
||||
temp_project_dir,
|
||||
"""from crewai.tools import tool
|
||||
@@ -180,11 +181,11 @@ def my_tool_function(text: str) -> str:
|
||||
__all__ = ['my_tool_function']
|
||||
""",
|
||||
)
|
||||
tools = utils.extract_available_tools(dir_path=temp_project_dir)
|
||||
tools = utils.extract_available_exports(dir_path=temp_project_dir)
|
||||
assert ["my_tool_function"] == tools
|
||||
|
||||
|
||||
def test_extract_available_tools_multiple_valid_tools(temp_project_dir):
|
||||
def test_extract_available_exports_multiple_valid_tools(temp_project_dir):
|
||||
create_init_file(
|
||||
temp_project_dir,
|
||||
"""from crewai.tools import BaseTool, tool
|
||||
@@ -201,11 +202,11 @@ def my_tool_function(text: str) -> str:
|
||||
__all__ = ['MyTool', 'my_tool_function']
|
||||
""",
|
||||
)
|
||||
tools = utils.extract_available_tools(dir_path=temp_project_dir)
|
||||
tools = utils.extract_available_exports(dir_path=temp_project_dir)
|
||||
assert ["MyTool", "my_tool_function"] == tools
|
||||
|
||||
|
||||
def test_extract_available_tools_with_invalid_tool_decorator(temp_project_dir):
|
||||
def test_extract_available_exports_with_invalid_tool_decorator(temp_project_dir):
|
||||
create_init_file(
|
||||
temp_project_dir,
|
||||
"""from crewai.tools import BaseTool
|
||||
@@ -220,11 +221,11 @@ def not_a_tool():
|
||||
__all__ = ['MyTool', 'not_a_tool']
|
||||
""",
|
||||
)
|
||||
tools = utils.extract_available_tools(dir_path=temp_project_dir)
|
||||
tools = utils.extract_available_exports(dir_path=temp_project_dir)
|
||||
assert ["MyTool"] == tools
|
||||
|
||||
|
||||
def test_extract_available_tools_import_error(temp_project_dir, capsys):
|
||||
def test_extract_available_exports_import_error(temp_project_dir, capsys):
|
||||
create_init_file(
|
||||
temp_project_dir,
|
||||
"""from nonexistent_module import something
|
||||
@@ -236,13 +237,13 @@ __all__ = ['MyTool']
|
||||
""",
|
||||
)
|
||||
with pytest.raises(SystemExit):
|
||||
utils.extract_available_tools(dir_path=temp_project_dir)
|
||||
utils.extract_available_exports(dir_path=temp_project_dir)
|
||||
captured = capsys.readouterr()
|
||||
|
||||
assert "nonexistent_module" in captured.out
|
||||
|
||||
|
||||
def test_extract_available_tools_syntax_error(temp_project_dir, capsys):
|
||||
def test_extract_available_exports_syntax_error(temp_project_dir, capsys):
|
||||
create_init_file(
|
||||
temp_project_dir,
|
||||
"""from crewai.tools import BaseTool
|
||||
@@ -256,7 +257,7 @@ __all__ = ['MyTool']
|
||||
""",
|
||||
)
|
||||
with pytest.raises(SystemExit):
|
||||
utils.extract_available_tools(dir_path=temp_project_dir)
|
||||
utils.extract_available_exports(dir_path=temp_project_dir)
|
||||
captured = capsys.readouterr()
|
||||
|
||||
assert "was never closed" in captured.out
|
||||
|
||||
Reference in New Issue
Block a user