Files
memabra/tests/test_schemas.py
2026-04-15 11:06:05 +08:00

31 lines
964 B
Python

import pytest
from memabra.schemas import SchemaRegistry, SchemaValidationError
EXAMPLE_TRAJECTORY = "docs/examples/trajectory_success_memory.json"
def test_schema_registry_validates_example_trajectory():
registry = SchemaRegistry()
with open(EXAMPLE_TRAJECTORY, "r", encoding="utf-8") as f:
example = __import__("json").load(f)
registry.validate_trajectory(example)
def test_schema_registry_rejects_missing_required_keys():
registry = SchemaRegistry()
with pytest.raises(SchemaValidationError):
registry.validate_trajectory({"trajectory_id": "oops"})
def test_no_resource_warning_from_schema_validation():
import warnings
with warnings.catch_warnings(record=True) as w:
warnings.simplefilter("always", ResourceWarning)
test_schema_registry_validates_example_trajectory()
resource_warnings = [x for x in w if issubclass(x.category, ResourceWarning)]
assert len(resource_warnings) == 0