25 lines
873 B
Python
25 lines
873 B
Python
import pytest
|
|
|
|
from gridverse.energi_bridge import EnergiBridge
|
|
from gridverse.registry import GraphContractRegistry
|
|
from gridverse.bridge_energia import bootstrap_contracts
|
|
|
|
|
|
def test_to_ir_from_ir_roundtrip():
|
|
payload = {"site_id": "site-1", "description": "test"}
|
|
ir = EnergiBridge.to_ir("LocalProblem", payload)
|
|
assert isinstance(ir, dict)
|
|
|
|
contract_type, recovered = EnergiBridge.from_ir(ir)
|
|
assert contract_type == "LocalProblem"
|
|
assert recovered == payload
|
|
|
|
|
|
def test_bootstrap_contracts_registers_basic_schemas():
|
|
reg = GraphContractRegistry()
|
|
bootstrap_contracts(reg)
|
|
# Basic contracts should be registered with a non-empty schema payload
|
|
assert reg.get_contract("LocalProblem", "0.1") is not None
|
|
assert reg.get_contract("SharedVariables", "0.1") is not None
|
|
assert reg.get_contract("PlanDelta", "0.1") is not None
|