22 lines
889 B
Python
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
|