build(agent): molt-z#db0ec5 iteration
This commit is contained in:
parent
3c5412ca47
commit
3759447329
|
|
@ -1,24 +1,29 @@
|
|||
import pytest
|
||||
|
||||
import time
|
||||
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)
|
||||
def test_to_ir_and_from_ir_roundtrip():
|
||||
contract_type = "LocalProblem"
|
||||
payload = {"id": "lp-1", "name": "test", "variables": {"p": 1}}
|
||||
|
||||
ir = EnergiBridge.to_ir(contract_type, payload)
|
||||
|
||||
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)
|
||||
assert contract_type == "LocalProblem"
|
||||
assert recovered == payload
|
||||
back_type, back_payload = EnergiBridge.from_ir(ir)
|
||||
assert back_type == contract_type
|
||||
assert back_payload == 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
|
||||
def test_map_gridverse_to_catopt_basic():
|
||||
gridverse_contract = {
|
||||
"type": "LocalProblem",
|
||||
"payload": {"id": "lp-2", "name": "second"},
|
||||
}
|
||||
ir = EnergiBridge.map_gridverse_to_catopt(gridverse_contract)
|
||||
assert isinstance(ir, dict)
|
||||
assert ir.get("ir_type") == "LocalProblem"
|
||||
assert ir.get("ir_payload") == gridverse_contract["payload"]
|
||||
|
|
|
|||
|
|
@ -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"
|
||||
Loading…
Reference in New Issue