mirror of
https://github.com/crewAIInc/crewAI.git
synced 2026-05-02 15:52:34 +00:00
test: fix structured tool tests
No tests were being executed from this file
This commit is contained in:
@@ -25,8 +25,7 @@ def schema_class():
|
|||||||
return TestSchema
|
return TestSchema
|
||||||
|
|
||||||
|
|
||||||
class InternalCrewStructuredTool:
|
def test_initialization(basic_function, schema_class):
|
||||||
def test_initialization(self, basic_function, schema_class):
|
|
||||||
"""Test basic initialization of CrewStructuredTool"""
|
"""Test basic initialization of CrewStructuredTool"""
|
||||||
tool = CrewStructuredTool(
|
tool = CrewStructuredTool(
|
||||||
name="test_tool",
|
name="test_tool",
|
||||||
@@ -40,7 +39,7 @@ class InternalCrewStructuredTool:
|
|||||||
assert tool.func == basic_function
|
assert tool.func == basic_function
|
||||||
assert tool.args_schema == schema_class
|
assert tool.args_schema == schema_class
|
||||||
|
|
||||||
def test_from_function(self, basic_function):
|
def test_from_function(basic_function):
|
||||||
"""Test creating tool from function"""
|
"""Test creating tool from function"""
|
||||||
tool = CrewStructuredTool.from_function(
|
tool = CrewStructuredTool.from_function(
|
||||||
func=basic_function, name="test_tool", description="Test description"
|
func=basic_function, name="test_tool", description="Test description"
|
||||||
@@ -51,7 +50,7 @@ class InternalCrewStructuredTool:
|
|||||||
assert tool.func == basic_function
|
assert tool.func == basic_function
|
||||||
assert isinstance(tool.args_schema, type(BaseModel))
|
assert isinstance(tool.args_schema, type(BaseModel))
|
||||||
|
|
||||||
def test_validate_function_signature(self, basic_function, schema_class):
|
def test_validate_function_signature(basic_function, schema_class):
|
||||||
"""Test function signature validation"""
|
"""Test function signature validation"""
|
||||||
tool = CrewStructuredTool(
|
tool = CrewStructuredTool(
|
||||||
name="test_tool",
|
name="test_tool",
|
||||||
@@ -64,14 +63,14 @@ class InternalCrewStructuredTool:
|
|||||||
tool._validate_function_signature()
|
tool._validate_function_signature()
|
||||||
|
|
||||||
@pytest.mark.asyncio
|
@pytest.mark.asyncio
|
||||||
async def test_ainvoke(self, basic_function):
|
async def test_ainvoke(basic_function):
|
||||||
"""Test asynchronous invocation"""
|
"""Test asynchronous invocation"""
|
||||||
tool = CrewStructuredTool.from_function(func=basic_function, name="test_tool")
|
tool = CrewStructuredTool.from_function(func=basic_function, name="test_tool")
|
||||||
|
|
||||||
result = await tool.ainvoke(input={"param1": "test"})
|
result = await tool.ainvoke(input={"param1": "test"})
|
||||||
assert result == "test 0"
|
assert result == "test 0"
|
||||||
|
|
||||||
def test_parse_args_dict(self, basic_function):
|
def test_parse_args_dict(basic_function):
|
||||||
"""Test parsing dictionary arguments"""
|
"""Test parsing dictionary arguments"""
|
||||||
tool = CrewStructuredTool.from_function(func=basic_function, name="test_tool")
|
tool = CrewStructuredTool.from_function(func=basic_function, name="test_tool")
|
||||||
|
|
||||||
@@ -79,7 +78,7 @@ class InternalCrewStructuredTool:
|
|||||||
assert parsed["param1"] == "test"
|
assert parsed["param1"] == "test"
|
||||||
assert parsed["param2"] == 42
|
assert parsed["param2"] == 42
|
||||||
|
|
||||||
def test_parse_args_string(self, basic_function):
|
def test_parse_args_string(basic_function):
|
||||||
"""Test parsing string arguments"""
|
"""Test parsing string arguments"""
|
||||||
tool = CrewStructuredTool.from_function(func=basic_function, name="test_tool")
|
tool = CrewStructuredTool.from_function(func=basic_function, name="test_tool")
|
||||||
|
|
||||||
@@ -87,7 +86,7 @@ class InternalCrewStructuredTool:
|
|||||||
assert parsed["param1"] == "test"
|
assert parsed["param1"] == "test"
|
||||||
assert parsed["param2"] == 42
|
assert parsed["param2"] == 42
|
||||||
|
|
||||||
def test_complex_types(self):
|
def test_complex_types():
|
||||||
"""Test handling of complex parameter types"""
|
"""Test handling of complex parameter types"""
|
||||||
|
|
||||||
def complex_func(nested: dict, items: list) -> str:
|
def complex_func(nested: dict, items: list) -> str:
|
||||||
@@ -100,7 +99,7 @@ class InternalCrewStructuredTool:
|
|||||||
result = tool.invoke({"nested": {"key": "value"}, "items": [1, 2, 3]})
|
result = tool.invoke({"nested": {"key": "value"}, "items": [1, 2, 3]})
|
||||||
assert result == "Processed 3 items with 1 nested keys"
|
assert result == "Processed 3 items with 1 nested keys"
|
||||||
|
|
||||||
def test_schema_inheritance(self):
|
def test_schema_inheritance():
|
||||||
"""Test tool creation with inherited schema"""
|
"""Test tool creation with inherited schema"""
|
||||||
|
|
||||||
def extended_func(base_param: str, extra_param: int) -> str:
|
def extended_func(base_param: str, extra_param: int) -> str:
|
||||||
@@ -120,7 +119,7 @@ class InternalCrewStructuredTool:
|
|||||||
result = tool.invoke({"base_param": "test", "extra_param": 42})
|
result = tool.invoke({"base_param": "test", "extra_param": 42})
|
||||||
assert result == "test 42"
|
assert result == "test 42"
|
||||||
|
|
||||||
def test_default_values_in_schema(self):
|
def test_default_values_in_schema():
|
||||||
"""Test handling of default values in schema"""
|
"""Test handling of default values in schema"""
|
||||||
|
|
||||||
def default_func(
|
def default_func(
|
||||||
|
|||||||
Reference in New Issue
Block a user