Spaces:
Running
Running
| """Tool unit tests, with emphasis on calculator safety.""" | |
| import json | |
| import pytest | |
| from app.agent.tools import calculator, datetime_tool | |
| async def test_calculator_valid(expression: str, expected: str) -> None: | |
| assert await calculator.run(expression) == expected | |
| async def test_calculator_rejects_unsafe(expression: str) -> None: | |
| result = await calculator.run(expression) | |
| assert result.startswith("Error") | |
| async def test_datetime_tool() -> None: | |
| payload = json.loads(await datetime_tool.run("Asia/Kolkata")) | |
| assert payload["timezone"] == "Asia/Kolkata" | |
| assert "iso" in payload and "date" in payload | |
| async def test_datetime_tool_bad_timezone() -> None: | |
| payload = json.loads(await datetime_tool.run("Not/AZone")) | |
| assert "error" in payload | |