23 lines
766 B
Python
23 lines
766 B
Python
from __future__ import annotations
|
|
|
|
from v1.agent.tool_registry import validate_tool_spec
|
|
|
|
|
|
class TestAgentSecurityRules:
|
|
def test_tool_name_must_be_allowlisted(self):
|
|
validate_tool_spec({"name": "ui.navigate_to", "execution_target": "frontend"})
|
|
validate_tool_spec({"name": "srv.search_docs", "execution_target": "backend"})
|
|
|
|
def test_tool_name_rejected_if_not_in_namespace(self):
|
|
try:
|
|
validate_tool_spec(
|
|
{"name": "malicious.tool", "execution_target": "frontend"}
|
|
)
|
|
except ValueError:
|
|
pass
|
|
else:
|
|
raise AssertionError("Should have raised ValueError for unknown namespace")
|
|
|
|
def test_frontend_result_fails_when_interrupt_mismatch(self):
|
|
pass
|