membrane-temp / tests /test_openenv_optional.py
luffy-orf
Initial Membrane Space layout
8393390
Raw
History Blame Contribute Delete
662 Bytes
"""Optional: pydantic Action/Observation subclasses when openenv-core is installed."""
from __future__ import annotations
import sys
from pathlib import Path
import pytest
pytest.importorskip("openenv.core.env_server")
_ROOT = Path(__file__).resolve().parent.parent
sys.path.insert(0, str(_ROOT))
from models import MembraneAction, MembraneObservation # noqa: E402
def test_pydantic_models_roundtrip():
a = MembraneAction(verb="SEND", surface="AGENT_DM", content="hello")
d = a.model_dump()
a2 = MembraneAction(**d)
assert a2.verb == "SEND"
o = MembraneObservation(done=False, message="m")
assert o.model_dump()["message"] == "m"