Move Go reference implementation to refimpl/go-lang/ and add new Python reference implementation in refimpl/python/. Update build.sh with renamed draft and simplified tool paths. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
39 lines
1.0 KiB
Python
39 lines
1.0 KiB
Python
"""Additional tests for ledger module."""
|
|
|
|
import time
|
|
|
|
import pytest
|
|
|
|
from ect import Payload, MemoryLedger, ErrTaskIDExists, POL_DECISION_APPROVED
|
|
|
|
|
|
def test_ledger_append_and_get():
|
|
m = MemoryLedger()
|
|
p = Payload(iss="i", aud=["a"], iat=1, exp=2, jti="j1", exec_act="act", par=[])
|
|
seq = m.append("jws1", p)
|
|
assert seq == 1
|
|
assert m.get_by_tid("j1").jti == "j1"
|
|
|
|
|
|
def test_ledger_err_task_id_exists():
|
|
m = MemoryLedger()
|
|
p = Payload(iss="i", aud=["a"], iat=1, exp=2, jti="j-dup", exec_act="e", par=[])
|
|
m.append("jws1", p)
|
|
with pytest.raises(ErrTaskIDExists):
|
|
m.append("jws2", p)
|
|
|
|
|
|
def test_ledger_contains_wid():
|
|
m = MemoryLedger()
|
|
p = Payload(iss="i", aud=["a"], iat=1, exp=2, jti="j1", exec_act="e", par=[], wid="wf1")
|
|
m.append("jws", p)
|
|
assert m.contains("j1", "") is True
|
|
assert m.contains("j1", "wf1") is True
|
|
assert m.contains("j1", "wf2") is False
|
|
|
|
|
|
def test_ledger_append_none():
|
|
m = MemoryLedger()
|
|
seq = m.append("jws", None)
|
|
assert seq == 0
|