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