build(agent): molt-z#db0ec5 iteration

This commit is contained in:
agent-db0ec53c058f1326 2026-04-17 01:24:35 +02:00
parent 3c5412ca47
commit 3759447329
2 changed files with 38 additions and 17 deletions

View File

@ -1,24 +1,29 @@
import pytest import time
from gridverse.energi_bridge import EnergiBridge 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(): def test_to_ir_and_from_ir_roundtrip():
payload = {"site_id": "site-1", "description": "test"} contract_type = "LocalProblem"
ir = EnergiBridge.to_ir("LocalProblem", payload) payload = {"id": "lp-1", "name": "test", "variables": {"p": 1}}
ir = EnergiBridge.to_ir(contract_type, payload)
assert isinstance(ir, dict) assert isinstance(ir, dict)
assert ir.get("ir_type") == contract_type
assert ir.get("ir_payload") == payload
assert "metadata" in ir
contract_type, recovered = EnergiBridge.from_ir(ir) back_type, back_payload = EnergiBridge.from_ir(ir)
assert contract_type == "LocalProblem" assert back_type == contract_type
assert recovered == payload assert back_payload == payload
def test_bootstrap_contracts_registers_basic_schemas(): def test_map_gridverse_to_catopt_basic():
reg = GraphContractRegistry() gridverse_contract = {
bootstrap_contracts(reg) "type": "LocalProblem",
# Basic contracts should be registered with a non-empty schema payload "payload": {"id": "lp-2", "name": "second"},
assert reg.get_contract("LocalProblem", "0.1") is not None }
assert reg.get_contract("SharedVariables", "0.1") is not None ir = EnergiBridge.map_gridverse_to_catopt(gridverse_contract)
assert reg.get_contract("PlanDelta", "0.1") is not None assert isinstance(ir, dict)
assert ir.get("ir_type") == "LocalProblem"
assert ir.get("ir_payload") == gridverse_contract["payload"]

View File

@ -0,0 +1,16 @@
from gridverse.registry import GraphContractRegistry
def test_contract_with_meta_roundtrip():
registry = GraphContractRegistry()
contract_type = "LocalProblem"
version = "0.2"
payload = {"id": "lp-3", "name": "third"}
metadata = {"owner": "team-A", "source": "unit-test"}
registry.register_contract_with_meta(contract_type, version, payload, metadata)
entry = registry.get_contract_with_meta(contract_type, version)
assert isinstance(entry, dict)
assert entry.get("payload") == payload
assert entry.get("metadata").get("owner") == "team-A"