Nexus / tests /test_function_validator.py
abc1181's picture
REBUILD
aca03d2
Raw
History Blame Contribute Delete
1.07 kB
import pytest
from app.services.function_validator import validate_tool, clean_tool
class TestFunctionValidator:
def test_validate_tool_valid(self):
tool = {
"name": "get_weather",
"description": "Get weather",
"parameters": {"type": "object", "properties": {"city": {"type": "string"}}}
}
assert validate_tool(tool) is True
def test_validate_tool_empty_name(self):
tool = {"name": "", "parameters": {}}
assert validate_tool(tool) is False
def test_validate_tool_long_name(self):
tool = {"name": "a" * 65, "parameters": {}}
assert validate_tool(tool) is False
def test_validate_tool_invalid_chars(self):
tool = {"name": "get weather!", "parameters": {}}
assert validate_tool(tool) is False
def test_clean_tool(self):
tool = {"name": "test", "description": "desc", "parameters": {"type": "object"}}
cleaned = clean_tool(tool)
assert cleaned["type"] == "function"
assert cleaned["function"]["name"] == "test"