nostrrelay/tests
Patrick Mulligan fd19acff97 fix(nip09): honour a tags in deletion requests
A kind-5 request could only name events by `e` tag. Worse, one that
carried `a` tags and no `e` tags built a filter with an empty id list,
which matched every event by that author and marked them all deleted.

Handle `a` tags per NIP-09: parse `kind:pubkey:d` (the `d` value may
contain ':'), require the pubkey to be the request author and the kind
to be replaceable or addressable, and remove only versions up to the
request's `created_at` so a later re-publication survives. An empty
`d` addresses a replaceable kind.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013Tbyw6FwjhEJg3gHfPHxWt
(cherry picked from commit e695f9c66881d3d520d40f0cd3e9c95d9435938c)
2026-09-13 17:54:00 +02:00
..
fixture [fix] Ws api tests (#31) 2024-11-11 15:25:25 +02:00
__init__.py refactor: extract fixtures 2023-02-03 09:58:50 +02:00
conftest.py refactor: get rid of secp lib (#40) 2025-11-04 10:30:43 +02:00
helpers.py feat: improve codequality and CI (#25) 2024-08-30 13:20:23 +02:00
test_clients.py test: wait for messages instead of sleeping in the client flow 2026-09-13 17:53:43 +02:00
test_events.py refactor: get rid of secp lib (#40) 2025-11-04 10:30:43 +02:00
test_init.py [fix] Ws api tests (#31) 2024-11-11 15:25:25 +02:00
test_nip09.py fix(nip09): honour a tags in deletion requests 2026-09-13 17:54:00 +02:00
test_nip17.py feat(nip17): support gift-wrapped private direct messages 2026-05-03 13:59:14 +02:00
test_notify.py fix: deliver events to every matching subscription on a connection 2026-09-12 14:04:58 +02:00
test_req_filters.py fix: keep every filter of a multi-filter REQ 2026-09-13 17:53:43 +02:00