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"