37 lines
1.3 KiB
Python
37 lines
1.3 KiB
Python
from __future__ import annotations
|
|
|
|
from test_hermes_register_tools import load_plugin_module
|
|
|
|
|
|
def test_tool_schemas_exist_for_all_tools():
|
|
module = load_plugin_module()
|
|
schemas = module.schemas.TOOL_SCHEMAS
|
|
|
|
assert set(schemas) == {
|
|
"memory_search",
|
|
"memory_append_episode",
|
|
"memory_commit_session",
|
|
"memory_upsert",
|
|
"memory_feedback",
|
|
}
|
|
|
|
|
|
def test_tool_schemas_have_required_fields():
|
|
module = load_plugin_module()
|
|
schemas = module.schemas.TOOL_SCHEMAS
|
|
|
|
assert schemas["memory_search"]["parameters"]["required"] == ["query", "user_id", "agent_id"]
|
|
assert schemas["memory_append_episode"]["parameters"]["required"] == ["content", "user_id", "agent_id", "session_id"]
|
|
assert schemas["memory_commit_session"]["parameters"]["required"] == ["user_id", "agent_id", "session_id"]
|
|
assert schemas["memory_upsert"]["parameters"]["required"] == ["user_id", "agent_id", "content", "memory_type"]
|
|
assert schemas["memory_feedback"]["parameters"]["required"] == ["memory_id", "user_id", "agent_id", "feedback"]
|
|
|
|
|
|
def test_upsert_schema_warns_high_risk():
|
|
module = load_plugin_module()
|
|
|
|
description = module.schemas.TOOL_SCHEMAS["memory_upsert"]["description"].lower()
|
|
assert "high-risk" in description
|
|
assert "do not call automatically" in description
|
|
|