Harden M7.3 server: typed schemas, depth tracking, fnmatch, config preservation, and collision detection
This commit is contained in:
@@ -80,6 +80,31 @@ class TestToolArgument:
|
||||
assert restored.default == original.default
|
||||
assert restored.description == original.description
|
||||
|
||||
def test_typed_metadata_roundtrip(self):
|
||||
original = ToolArgument(
|
||||
flag="--limit",
|
||||
variable="limit",
|
||||
default=10,
|
||||
description="Maximum results",
|
||||
type="integer",
|
||||
enum=[10, 25, 50],
|
||||
required=True,
|
||||
)
|
||||
assert ToolArgument.from_dict(original.to_dict()) == original
|
||||
|
||||
@pytest.mark.parametrize(
|
||||
"values",
|
||||
[
|
||||
{"type": "object"},
|
||||
{"enum": []},
|
||||
{"enum": "fast"},
|
||||
{"required": "yes"},
|
||||
],
|
||||
)
|
||||
def test_rejects_invalid_typed_metadata(self, values):
|
||||
with pytest.raises(ValueError):
|
||||
ToolArgument(flag="--value", variable="value", **values)
|
||||
|
||||
|
||||
class TestPromptStep:
|
||||
"""Tests for PromptStep dataclass."""
|
||||
|
||||
Reference in New Issue
Block a user