Require string agent registry fields
This commit is contained in:
parent
25aa5d9313
commit
3b0401fb7c
2 changed files with 27 additions and 2 deletions
|
|
@ -31,9 +31,9 @@ class AgentRegistry:
|
||||||
|
|
||||||
def _required_text(entry: Mapping[str, object], key: str) -> str:
|
def _required_text(entry: Mapping[str, object], key: str) -> str:
|
||||||
value = entry.get(key)
|
value = entry.get(key)
|
||||||
if value is None:
|
if not isinstance(value, str):
|
||||||
raise AgentRegistryError("each agent entry requires id and label")
|
raise AgentRegistryError("each agent entry requires id and label")
|
||||||
text = str(value).strip()
|
text = value.strip()
|
||||||
if not text:
|
if not text:
|
||||||
raise AgentRegistryError("each agent entry requires id and label")
|
raise AgentRegistryError("each agent entry requires id and label")
|
||||||
return text
|
return text
|
||||||
|
|
|
||||||
|
|
@ -172,3 +172,28 @@ def test_load_agent_registry_rejects_blank_id_or_label(tmp_path: Path, content:
|
||||||
|
|
||||||
with pytest.raises(AgentRegistryError, match="each agent entry requires id and label"):
|
with pytest.raises(AgentRegistryError, match="each agent entry requires id and label"):
|
||||||
load_agent_registry(path)
|
load_agent_registry(path)
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.parametrize(
|
||||||
|
"content",
|
||||||
|
[
|
||||||
|
"agents:\n"
|
||||||
|
" - id: 123\n"
|
||||||
|
" label: Analyst\n",
|
||||||
|
"agents:\n"
|
||||||
|
" - id: agent-1\n"
|
||||||
|
" label: 456\n",
|
||||||
|
"agents:\n"
|
||||||
|
" - id: true\n"
|
||||||
|
" label: Analyst\n",
|
||||||
|
"agents:\n"
|
||||||
|
" - id: agent-1\n"
|
||||||
|
" label: false\n",
|
||||||
|
],
|
||||||
|
)
|
||||||
|
def test_load_agent_registry_rejects_non_string_id_or_label(tmp_path: Path, content: str):
|
||||||
|
path = tmp_path / "agents.yaml"
|
||||||
|
path.write_text(content, encoding="utf-8")
|
||||||
|
|
||||||
|
with pytest.raises(AgentRegistryError, match="each agent entry requires id and label"):
|
||||||
|
load_agent_registry(path)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue