idea150-medimesh-federated-.../tests/test_governance_and_sync.py

22 lines
889 B
Python

from medimesh.governance import GovernanceLedger, IdentityAuthority
from medimesh.sync import OfflineDeltaStore
def test_governance_chain_verifies_and_credentials_are_short_lived() -> None:
authority = IdentityAuthority.create("tester")
ledger = GovernanceLedger()
ledger.append(authority, "site.registered", {"site_id": "hospital-a"})
cred = ledger.issue_credential(authority, "did:medimesh:subject", ["read:inventory"], ttl_seconds=60)
assert cred.is_valid()
assert ledger.verify_chain({authority.did: authority})
def test_delta_sync_replay_is_deterministic() -> None:
store = OfflineDeltaStore()
store.append("hospital-a", "set", {"on_hand": 10}, "did:medimesh:test")
store.append("hospital-a", "increment", {"on_hand": -3}, "did:medimesh:test")
assert store.verify_chain("hospital-a")
assert store.replay("hospital-a")["on_hand"] == 7