Download tests/unit/test_tool_registry.py from jayc1978/aegis: direct link, hf CLI and curl.
- Browser
- Download file 1.82 kB
-
https://huggingface.co/jayc1978/aegis/resolve/main/tests/unit/test_tool_registry.py
- Command line
-
hf download hf://jayc1978/aegis/tests/unit/test_tool_registry.py
-
curl -L -o test_tool_registry.py https://huggingface.co/jayc1978/aegis/resolve/main/tests/unit/test_tool_registry.py
1.82 kB
| import pytest | |
| from aegis.core.tool_registry import ( | |
| DuplicateToolError, | |
| ToolNotFoundError, | |
| ToolRegistry, | |
| ) | |
| class StubTool: | |
| def __init__(self, name: str) -> None: | |
| self.name = name | |
| def test_registry_registers_and_resolves_tool() -> None: | |
| tool = StubTool("calculator") | |
| registry = ToolRegistry() | |
| registry.register(tool) | |
| assert registry.get("calculator") is tool | |
| assert registry.contains("calculator") is True | |
| assert len(registry) == 1 | |
| def test_registry_accepts_initial_tools() -> None: | |
| calculator = StubTool("calculator") | |
| search = StubTool("search") | |
| registry = ToolRegistry([calculator, search]) | |
| assert registry.get("calculator") is calculator | |
| assert registry.get("search") is search | |
| assert len(registry) == 2 | |
| def test_registry_rejects_duplicate_tool_names() -> None: | |
| registry = ToolRegistry([StubTool("calculator")]) | |
| with pytest.raises(DuplicateToolError): | |
| registry.register(StubTool("calculator")) | |
| def test_registry_raises_when_tool_is_missing() -> None: | |
| registry = ToolRegistry() | |
| with pytest.raises(ToolNotFoundError): | |
| registry.get("missing") | |
| def test_registry_returns_sorted_names() -> None: | |
| registry = ToolRegistry( | |
| [ | |
| StubTool("search"), | |
| StubTool("calculator"), | |
| ] | |
| ) | |
| assert registry.names() == ("calculator", "search") | |
| def test_registry_normalizes_tool_names() -> None: | |
| tool = StubTool(" calculator ") | |
| registry = ToolRegistry([tool]) | |
| assert registry.contains("calculator") is True | |
| assert registry.get(" calculator ") is tool | |
| def test_registry_rejects_empty_tool_name() -> None: | |
| registry = ToolRegistry() | |
| with pytest.raises(ValueError, match="Tool name cannot be empty"): | |
| registry.register(StubTool(" ")) | |