34 lines
1.0 KiB
Python
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"
|