gridresilience-studio-offli.../tests/test_governance_and_registr...

24 lines
873 B
Python

from gridresilience_studio.registry import GraphRegistry, RegistryEntry
from gridresilience_studio.governance import GovernanceLedger
def test_registry_add_and_get():
reg = GraphRegistry()
entry = RegistryEntry(adapter_id="iec61850", contract_version="v0.1", data_contract={"type": "LocalDevicePlan"})
reg.add_entry(entry)
assert reg.get_entry("iec61850").adapter_id == "iec61850"
all_entries = reg.list_entries()
assert "iec61850" in all_entries
def test_governance_ledger_append_and_anchor():
ledger = GovernanceLedger()
e1 = ledger.append("contract-A", "deploy", "tester", 1, payload_hash=None)
e2 = ledger.append("contract-A", "update", "tester", 1, payload_hash="abc123")
entries = ledger.entries()
assert len(entries) == 2
assert entries[0].contract_id == "contract-A"
assert ledger.latest_hash() is not None