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