From 15bf0d0b6befae6c81631c0e5d0dc2947dd3318a Mon Sep 17 00:00:00 2001 From: DanConwayDev Date: Wed, 11 Feb 2026 09:20:48 +0000 Subject: feat: use fallback relays for bootstrapping only - Add --relay flag to 'ngit account create' allowing users to specify relay URLs (repeatable). Defaults to relay-default-set when not provided. - Remove fallback relays from fetch when repo context exists (repo coordinate provided). Only use them for bootstrapping (profile discovery with no repo context). - Remove fallback relays from publish when repo or user relays exist. Only use them when neither is available (e.g. new account signup). - Update --customize help text to reflect new relay-default-set behavior. --- tests/ngit_init.rs | 140 ++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 132 insertions(+), 8 deletions(-) (limited to 'tests/ngit_init.rs') diff --git a/tests/ngit_init.rs b/tests/ngit_init.rs index 5483315..f70bc2e 100644 --- a/tests/ngit_init.rs +++ b/tests/ngit_init.rs @@ -337,7 +337,21 @@ mod state_b_coordinate_only { ), Relay::new(8052, None, None), Relay::new(8053, None, None), - Relay::new(8055, None, None), + Relay::new( + 8055, + None, + Some(&|relay, client_id, subscription_id, _| -> Result<()> { + relay.respond_events( + client_id, + &subscription_id, + &vec![ + generate_test_key_1_metadata_event("fred"), + generate_test_key_1_relay_list_event(), + ], + )?; + Ok(()) + }), + ), Relay::new(8056, None, None), ); @@ -420,7 +434,21 @@ mod state_b_coordinate_only { ), Relay::new(8052, None, None), Relay::new(8053, None, None), - Relay::new(8055, None, None), + Relay::new( + 8055, + None, + Some(&|relay, client_id, subscription_id, _| -> Result<()> { + relay.respond_events( + client_id, + &subscription_id, + &vec![ + generate_test_key_1_metadata_event("fred"), + generate_test_key_1_relay_list_event(), + ], + )?; + Ok(()) + }), + ), Relay::new(8056, None, None), ); @@ -537,7 +565,22 @@ mod state_c_my_announcement { ), Relay::new(8052, None, None), Relay::new(8053, None, None), - Relay::new(8055, None, None), + Relay::new( + 8055, + None, + Some(&|relay, client_id, subscription_id, _| -> Result<()> { + relay.respond_events( + client_id, + &subscription_id, + &vec![ + generate_test_key_1_metadata_event("fred"), + generate_test_key_1_relay_list_event(), + generate_repo_ref_event(), + ], + )?; + Ok(()) + }), + ), Relay::new(8056, None, None), ); @@ -595,7 +638,22 @@ mod state_c_my_announcement { ), Relay::new(8052, None, None), Relay::new(8053, None, None), - Relay::new(8055, None, None), + Relay::new( + 8055, + None, + Some(&|relay, client_id, subscription_id, _| -> Result<()> { + relay.respond_events( + client_id, + &subscription_id, + &vec![ + generate_test_key_1_metadata_event("fred"), + generate_test_key_1_relay_list_event(), + generate_repo_ref_event(), + ], + )?; + Ok(()) + }), + ), Relay::new(8056, None, None), ); @@ -657,7 +715,22 @@ mod state_c_my_announcement { ), Relay::new(8052, None, None), Relay::new(8053, None, None), - Relay::new(8055, None, None), + Relay::new( + 8055, + None, + Some(&|relay, client_id, subscription_id, _| -> Result<()> { + relay.respond_events( + client_id, + &subscription_id, + &vec![ + generate_test_key_1_metadata_event("fred"), + generate_test_key_1_relay_list_event(), + generate_repo_ref_event(), + ], + )?; + Ok(()) + }), + ), Relay::new(8056, None, None), ); @@ -836,7 +909,24 @@ mod state_d_co_maintainer { ), Relay::new(8052, None, None), Relay::new(8053, None, None), - Relay::new(8055, None, None), + Relay::new( + 8055, + None, + Some(&|relay, client_id, subscription_id, _| -> Result<()> { + relay.respond_events( + client_id, + &subscription_id, + &vec![ + generate_test_key_1_metadata_event("fred"), + generate_test_key_1_relay_list_event(), + generate_test_key_2_metadata_event("carole"), + generate_test_key_2_relay_list_event(), + generate_repo_ref_event_as_key_2_listing_key_1(), + ], + )?; + Ok(()) + }), + ), Relay::new(8056, None, None), ); @@ -1021,7 +1111,24 @@ mod state_e_not_listed { ), Relay::new(8052, None, None), Relay::new(8053, None, None), - Relay::new(8055, None, None), + Relay::new( + 8055, + None, + Some(&|relay, client_id, subscription_id, _| -> Result<()> { + relay.respond_events( + client_id, + &subscription_id, + &vec![ + generate_test_key_1_metadata_event("fred"), + generate_test_key_1_relay_list_event(), + generate_test_key_2_metadata_event("carole"), + generate_test_key_2_relay_list_event(), + generate_repo_ref_event_as_key_2_not_listing_key_1(), + ], + )?; + Ok(()) + }), + ), Relay::new(8056, None, None), ); @@ -1104,7 +1211,24 @@ mod state_e_not_listed { ), Relay::new(8052, None, None), Relay::new(8053, None, None), - Relay::new(8055, None, None), + Relay::new( + 8055, + None, + Some(&|relay, client_id, subscription_id, _| -> Result<()> { + relay.respond_events( + client_id, + &subscription_id, + &vec![ + generate_test_key_1_metadata_event("fred"), + generate_test_key_1_relay_list_event(), + generate_test_key_2_metadata_event("carole"), + generate_test_key_2_relay_list_event(), + generate_repo_ref_event_as_key_2_not_listing_key_1(), + ], + )?; + Ok(()) + }), + ), Relay::new(8056, None, None), ); -- cgit v1.2.3