Very cool. I might use you then. I haven't tried setting up the other relays besides nostr-rs-relay and chorus. FYI The tester is designed to test a relay software implementation, not a live running relay, because: 1. It might crash a live relay, 2. It will put a lot of junk events into the relay, and 3. it might get false results if it ends up finding events it didn't inject But I'm sure someone will ignore that recommendation.
Yes, I'm doing a docker compose with all popular relays available to be tested (so, not used). Also trying to compile relay-tester from your repo, I started and it seems huge! :D
I need a few weeks to write the bulk of the tests. You can play with it now if you want but it's only 18 pretty stupid tests so far.
Don't worry, love to play and faceplan-me a lots of Rust error message 😂
Binary build is ✅ First tests are ✅ Need now to build docker compose to allow ssl Relay to use wss and start first tests ✅
Building image is done ✅ I'm now able to rebuild the binary each time you'll update the cod and make new tests. Each relay will have SSL cert and tested with wss//. Current tests on a strfry default config relay: RESULTS: nip11_provided: PASS claimed_support_for_nip4: PASS claimed_support_for_nip9: PASS claimed_support_for_nip11: PASS claimed_support_for_nip26: INFO (not supported) claimed_support_for_nip29: INFO (not supported) claimed_support_for_nip40: PASS claimed_support_for_nip42: INFO (not supported) claimed_support_for_nip45: INFO (not supported) claimed_support_for_nip50: INFO (not supported) claimed_support_for_nip59: INFO (not supported) claimed_support_for_nip65: INFO (not supported) claimed_support_for_nip70: UNTESTED claimed_support_for_nip94: INFO (not supported) claimed_support_for_nip96: INFO (not supported) public_can_write: PASS public_can_read_back: PASS supports_eose: PASS find_by_id: UNTESTED find_by_pubkey_and_kind: UNTESTED find_by_pubkey_and_tags: UNTESTED find_by_kind_and_tags: UNTESTED find_by_tags: UNTESTED find_by_pubkey: UNTESTED find_by_scrape: UNTESTED find_replaceable_event: UNTESTED find_parameterized_replaceable_event: UNTESTED replaceable_event_removes_previous: UNTESTED replaceable_event_doesnt_remove_future: UNTESTED parameterized_replaceable_event_removes_previous: UNTESTED parameterized_replaceable_event_doesnt_remove_future: UNTESTED since_until_include_equals: UNTESTED limit_zero: UNTESTED event_always_gets_ok_reply: UNTESTED auth_always_gets_ok_reply: UNTESTED limit_works_across_multiple_filter_groups: UNTESTED serves_post_eose_events: UNTESTED no_timeout_while_subscribed: UNTESTED nip4_dms_require_auth: UNTESTED delete_by_id: UNTESTED delete_by_id_of_others: UNTESTED resubmission_of_deleted_by id: UNTESTED delete_by_npnaddr: UNTESTED delete_by_npnaddr_of_others: UNTESTED delete_by_npnaddr_preserves_newer: UNTESTED resubmission_of_deleted_by_npnaddr: UNTESTED resubmission_of_olderthan_deleted_by_npnaddr: UNTESTED resubmission_of_newerthan_deleted_by_npnaddr: UNTESTED delete_by_pnaddr: UNTESTED delete_by_pnaddr_of_others: UNTESTED delete_by_pnaddr_preserves_newer: UNTESTED delete_by_pnaddr_bound_by_dtag: UNTESTED resubmission_of_deleted_by_pnaddr: UNTESTED resubmission_of_olderthan_deleted_by_pnaddr: UNTESTED resubmission_of_newerthan_deleted_by_pnaddr: UNTESTED deleted_returns_ok_false: UNTESTED prompts_for_auth_initially: FAIL can_auth_as_unknown: UNTESTED unknown_can_write_own: UNTESTED unknown_can_readback_own: UNTESTED unknown_can_write_other: UNTESTED unknown_can_readback_other: UNTESTED can_auth_as_known: UNTESTED known_can_write_own: UNTESTED known_can_readback_own: UNTESTED known_can_write_other: UNTESTED known_can_readback_other: UNTESTED giftwraps_require_auth: UNTESTED large_contact_lists: UNTESTED preserves_json_field_order: UNTESTED preserves_nonstandard_json_fields: UNTESTED handles_event_kind_larger_than_16bit: UNTESTED handles_filter_kind_larger_than_16bit: UNTESTED handles_event_created_at_larger_than_64bit: UNTESTED handles_filter_created_at_larger_than_64bit: UNTESTED accepts_events_before_nostr_was_invented: UNTESTED accepts_negative_event_created_at: UNTESTED accepts_events_in_the_near_future: UNTESTED accepts_events_in_the_distant_future: UNTESTED accepts_negative_filter_created_at: UNTESTED accepts_filter_created_at_in_near_future: UNTESTED accepts_filter_created_at_in_distant_future: UNTESTED handles_all_json_escape_codes: UNTESTED handles_surrogate_pairs: UNTESTED verifies_signatures: UNTESTED accepts_invalid_utf8: UNTESTED accepts_null_characters: UNTESTED handles_filter_prefixes: UNTESTED keeps_ephemeral_events: UNTESTED max_subscriptions: UNTESTED allows_immediate_reconnect: UNTESTED idle_timeout_if_unsubscribed: UNTESTED handles_empty_tags: UNTESTED