a Relay Test Suite is in the works...

I've already got ideas for 94 tests and as I write these tests they expand out into even more tests.

I hoping that exposing relay behavior will drive relay software towards consistently supporting the same way of doing certain things, and that this will help nostr compatibility.

Tests include things like:

* Can the public write events?

* Can an authenticated person write somebody else's events?

* Does the relay respond to minimally constrained filters?

* Does limit 0 give an EOSE?

* When you write an event and get OK-true, can you read it directly back?

* Does limit behave properly when a filter has multiple pubkeys and multiple kinds?

* Does it require AUTH to read DMs and giftwraps?

* When submitting a replaceable event, are the prior events replaced?

* When submitting a replaceable event with newer ones already present, is it rejected or ignored?

* Does deletion of a replaceable event preserve the events that are newer than the deletion event?

* Does it prompt for auth initially?

* How large of an event can it handle?

* Does it verify signatures?

* How does it react to invalid UTF8?

* Does it handle all JSON escape codes? What about surrogate pairs?

* Does it preserve field order in events?

* Does it preserve fields in events not defined by the nostr spec?

* How many subscriptions does it allow simultaneously?

* Do events with negative created_at values work? What about exponential notation? What about numbers that won't fit in a u64?

... that kind of thing.

If you want to help contribute, even if you just have an idea of what to test, come on over to https://github.com/mikedilger/relay-tester and give feedback, open an issue, or better yet submit a PR.

What about the other things I'm working on?

* Gossip is on pause while we wait for the UI developer to handle some personal affairs, then we will have annotations and NIP-17 DMs.

* Chorus is stable and upgraded to use Pocket

* Pocket has been completed and is stable too, but I haven't tried to make it useful outside of the scope of a relay yet.

More than this I think we just need active relay development lol

Reply to this note

Please Login to reply.

Discussion

No replies yet.