Linux native client
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

25 lines
843 B

from imwald.core.nostr_crypto import build_signed_event, verify_nostr_event
def _sk() -> bytes:
return bytes.fromhex("3501454135014541350145413501453fefb02227e449e57cf4d3a3ce05378683")
def test_verify_accepts_signed_roundtrip() -> None:
sk = _sk()
ev = build_signed_event(sk, created_at=1700000000, kind=1, tags=[["client", "imwald"]], content="hello")
assert verify_nostr_event(ev) is True
def test_verify_rejects_bad_id() -> None:
sk = _sk()
ev = build_signed_event(sk, created_at=1700000000, kind=1, tags=[], content="x")
ev["id"] = "f" * 64
assert verify_nostr_event(ev) is False
def test_verify_rejects_tampered_content() -> None:
sk = _sk()
ev = build_signed_event(sk, created_at=1700000000, kind=1, tags=[], content="x")
ev["content"] = "y"
assert verify_nostr_event(ev) is False