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
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
|
|
|