idea199-replicasurety-econo.../tests/test_ledger.py

34 lines
1.0 KiB
Python

from idea199_replicasurety_economic_surety import ledger
from idea199_replicasurety_economic_surety.models import BondRecord, ClaimSubmission, ReplayBundle, TraceEvent
from datetime import datetime
def test_create_and_get_bond():
br = BondRecord(
escrow_id="escrow-1",
issuer="alice",
stake_amount=100.0,
policy_hash="phash",
ttl=None,
)
r = ledger.create_bond(br)
assert r.escrow_id == "escrow-1"
got = ledger.get_bond("escrow-1")
assert got.issuer == "alice"
def test_submit_claim():
claim = ClaimSubmission(claim_id="claim-1", evidence_root="evidence123", claimant="bob")
r = ledger.submit_claim(claim)
assert r.claim_id == "claim-1"
def test_verify_replay():
trace = [
TraceEvent(seq=0, timestamp=datetime.utcnow(), message="a"),
TraceEvent(seq=1, timestamp=datetime.utcnow(), message="b"),
]
rb = ReplayBundle(trace=trace, monitors={}, evidence_root="r")
r = ledger.verify_replay(rb)
assert r["verdict"] == "ok"