From 4625958aa51d3bfc67f89e39fa28b843a1f0ac8e Mon Sep 17 00:00:00 2001 From: DanConwayDev Date: Mon, 2 Jun 2025 07:51:22 +0100 Subject: tests: fix tests by adding maintainer ann event to comply with changes in 5f45edbebe310decb06f955d95665a6ad387c6cb --- test_utils/src/lib.rs | 25 ++++++++++++++++------ tests/git_remote_nostr/main.rs | 8 +++++++ tests/git_remote_nostr/push.rs | 48 +++++++++++++++++++++++++++++++++++++++++- 3 files changed, 74 insertions(+), 7 deletions(-) diff --git a/test_utils/src/lib.rs b/test_utils/src/lib.rs index f1939ac..5feb64b 100644 --- a/test_utils/src/lib.rs +++ b/test_utils/src/lib.rs @@ -152,6 +152,13 @@ pub fn generate_repo_ref_event() -> nostr::Event { } pub fn generate_repo_ref_event_with_git_server(git_servers: Vec) -> nostr::Event { + generate_repo_ref_event_with_git_server_with_keys(git_servers, &TEST_KEY_1_KEYS) +} + +pub fn generate_repo_ref_event_with_git_server_with_keys( + git_servers: Vec, + keys: &nostr::Keys, +) -> nostr::Event { // taken from test git_repo // TODO - this may not be consistant across computers as it might take the // author and committer from global git config @@ -185,16 +192,22 @@ pub fn generate_repo_ref_event_with_git_server(git_servers: Vec) -> nost ), Tag::custom( nostr::TagKind::Custom(std::borrow::Cow::Borrowed("maintainers")), - vec![ - TEST_KEY_1_KEYS.public_key().to_string(), - TEST_KEY_2_KEYS.public_key().to_string(), - ], + [ + vec![keys.public_key().to_string()], + vec![ + TEST_KEY_1_KEYS.public_key().to_string(), + TEST_KEY_2_KEYS.public_key().to_string(), + ] + .into_iter() + .filter(|key| !keys.public_key().to_string().eq(key)) + .collect(), + ] + .concat(), ), ]) - .sign_with_keys(&TEST_KEY_1_KEYS) + .sign_with_keys(keys) .unwrap() } - /// enough to fool event_is_patch_set_root pub fn get_pretend_proposal_root_event() -> nostr::Event { serde_json::from_str(r#"{"id":"431e58eb8e1b4e20292d1d5bbe81d5cfb042e1bc165de32eddfdd52245a4cce4","pubkey":"f53e4bcd7a9cdef049cf6467d638a1321958acd3b71eb09823fd6fadb023d768","created_at":1721404213,"kind":1617,"tags":[["a","30617:ba882566eff14f3baa976103998c452d27fe95b65a796a6a9f92628bced76fe5:9ee507fc4357d7ee16a5d8901bedcd103f23c17d-consider-it-random"],["a","30617:f53e4bcd7a9cdef049cf6467d638a1321958acd3b71eb09823fd6fadb023d768:9ee507fc4357d7ee16a5d8901bedcd103f23c17d-consider-it-random"],["r","9ee507fc4357d7ee16a5d8901bedcd103f23c17d"],["t","cover-letter"],["alt","git patch cover letter: exampletitle"],["t","root"],["e","8cb75aa4cda10a3a0f3242dc49d36159d30b3185bf63414cf6ce17f5c14a73b1","","mention"],["branch-name","feature"],["p","ba882566eff14f3baa976103998c452d27fe95b65a796a6a9f92628bced76fe5"],["p","f53e4bcd7a9cdef049cf6467d638a1321958acd3b71eb09823fd6fadb023d768"]],"content":"From fe973a840fba2a8ab37dd505c154854a69a6505c Mon Sep 17 00:00:00 2001\nSubject: [PATCH 0/2] exampletitle\n\nexampledescription","sig":"37d5b2338bf9fd9d598e6494ae88af9a8dbd52330cfe9d025ee55e35e2f3f55e931ba039d9f7fed8e6fc40206e47619a24f730f8eddc2a07ccfb3988a5005170"}"#).unwrap() diff --git a/tests/git_remote_nostr/main.rs b/tests/git_remote_nostr/main.rs index 6b51825..fc541f8 100644 --- a/tests/git_remote_nostr/main.rs +++ b/tests/git_remote_nostr/main.rs @@ -117,6 +117,10 @@ async fn generate_repo_with_state_event() -> Result<(nostr::Event, GitTestRepo)> generate_repo_ref_event_with_git_server(vec![ source_git_repo.dir.to_str().unwrap().to_string(), ]), + generate_repo_ref_event_with_git_server_with_keys( + vec![source_git_repo.dir.to_str().unwrap().to_string()], + &TEST_KEY_2_KEYS, + ), ]; // fallback (51,52) user write (53, 55) repo (55, 56) blaster (57) let (mut r51, mut r52, mut r53, mut r55, mut r56, mut r57) = ( @@ -190,6 +194,10 @@ async fn prep_source_repo_and_events_including_proposals() generate_test_key_1_metadata_event("fred"), generate_test_key_1_relay_list_event(), generate_repo_ref_event_with_git_server(vec![source_path.to_string()]), + generate_repo_ref_event_with_git_server_with_keys( + vec![source_path.to_string()], + &TEST_KEY_2_KEYS, + ), state_event, ]; // fallback (51,52) user write (53, 55) repo (55, 56) blaster (57) diff --git a/tests/git_remote_nostr/push.rs b/tests/git_remote_nostr/push.rs index eab2422..f46b0ea 100644 --- a/tests/git_remote_nostr/push.rs +++ b/tests/git_remote_nostr/push.rs @@ -32,6 +32,10 @@ mod two_branches_in_batch_one_added_one_updated { generate_repo_ref_event_with_git_server(vec![ source_git_repo.dir.to_str().unwrap().to_string(), ]), + generate_repo_ref_event_with_git_server_with_keys( + vec![source_git_repo.dir.to_str().unwrap().to_string()], + &TEST_KEY_2_KEYS, + ), ]; // fallback (51,52) user write (53, 55) repo (55, 56) blaster (57) let (mut r51, mut r52, mut r53, mut r55, mut r56, mut r57) = ( @@ -107,6 +111,10 @@ mod two_branches_in_batch_one_added_one_updated { generate_repo_ref_event_with_git_server(vec![ source_git_repo.dir.to_str().unwrap().to_string(), ]), + generate_repo_ref_event_with_git_server_with_keys( + vec![source_git_repo.dir.to_str().unwrap().to_string()], + &TEST_KEY_2_KEYS, + ), ]; // fallback (51,52) user write (53, 55) repo (55, 56) blaster (57) let (mut r51, mut r52, mut r53, mut r55, mut r56, mut r57) = ( @@ -193,6 +201,10 @@ mod two_branches_in_batch_one_added_one_updated { generate_repo_ref_event_with_git_server(vec![ source_git_repo.dir.to_str().unwrap().to_string(), ]), + generate_repo_ref_event_with_git_server_with_keys( + vec![source_git_repo.dir.to_str().unwrap().to_string()], + &TEST_KEY_2_KEYS, + ), ]; // fallback (51,52) user write (53, 55) repo (55, 56) blaster (57) let (mut r51, mut r52, mut r53, mut r55, mut r56, mut r57) = ( @@ -261,6 +273,10 @@ mod two_branches_in_batch_one_added_one_updated { generate_repo_ref_event_with_git_server(vec![ source_git_repo.dir.to_str().unwrap().to_string(), ]), + generate_repo_ref_event_with_git_server_with_keys( + vec![source_git_repo.dir.to_str().unwrap().to_string()], + &TEST_KEY_2_KEYS, + ), ]; // fallback (51,52) user write (53, 55) repo (55, 56) blaster (57) let (mut r51, mut r52, mut r53, mut r55, mut r56, mut r57) = ( @@ -345,6 +361,10 @@ mod two_branches_in_batch_one_added_one_updated { generate_repo_ref_event_with_git_server(vec![ source_git_repo.dir.to_str().unwrap().to_string(), ]), + generate_repo_ref_event_with_git_server_with_keys( + vec![source_git_repo.dir.to_str().unwrap().to_string()], + &TEST_KEY_2_KEYS, + ), state_event.clone(), ]; @@ -463,6 +483,10 @@ mod delete_one_branch { generate_repo_ref_event_with_git_server(vec![ source_git_repo.dir.to_str().unwrap().to_string(), ]), + generate_repo_ref_event_with_git_server_with_keys( + vec![source_git_repo.dir.to_str().unwrap().to_string()], + &TEST_KEY_2_KEYS, + ), ]; // fallback (51,52) user write (53, 55) repo (55, 56) blaster (57) let (mut r51, mut r52, mut r53, mut r55, mut r56, mut r57) = ( @@ -538,6 +562,10 @@ mod delete_one_branch { generate_repo_ref_event_with_git_server(vec![ source_git_repo.dir.to_str().unwrap().to_string(), ]), + generate_repo_ref_event_with_git_server_with_keys( + vec![source_git_repo.dir.to_str().unwrap().to_string()], + &TEST_KEY_2_KEYS, + ), ]; // fallback (51,52) user write (53, 55) repo (55, 56) blaster (57) let (mut r51, mut r52, mut r53, mut r55, mut r56, mut r57) = ( @@ -612,6 +640,10 @@ mod delete_one_branch { generate_repo_ref_event_with_git_server(vec![ source_git_repo.dir.to_str().unwrap().to_string(), ]), + generate_repo_ref_event_with_git_server_with_keys( + vec![source_git_repo.dir.to_str().unwrap().to_string()], + &TEST_KEY_2_KEYS, + ), ]; // fallback (51,52) user write (53, 55) repo (55, 56) blaster (57) let (mut r51, mut r52, mut r53, mut r55, mut r56, mut r57) = ( @@ -668,6 +700,10 @@ mod delete_one_branch { generate_repo_ref_event_with_git_server(vec![ source_git_repo.dir.to_str().unwrap().to_string(), ]), + generate_repo_ref_event_with_git_server_with_keys( + vec![source_git_repo.dir.to_str().unwrap().to_string()], + &TEST_KEY_2_KEYS, + ), state_event.clone(), ]; @@ -755,6 +791,10 @@ mod delete_one_branch { generate_repo_ref_event_with_git_server(vec![ source_git_repo.dir.to_str().unwrap().to_string(), ]), + generate_repo_ref_event_with_git_server_with_keys( + vec![source_git_repo.dir.to_str().unwrap().to_string()], + &TEST_KEY_2_KEYS, + ), state_event.clone(), ]; @@ -841,6 +881,10 @@ async fn pushes_to_all_git_servers_listed_and_ok_printed() -> Result<()> { source_git_repo.dir.to_str().unwrap().to_string(), second_source_git_repo.dir.to_str().unwrap().to_string(), ]), + generate_repo_ref_event_with_git_server_with_keys( + vec![source_git_repo.dir.to_str().unwrap().to_string()], + &TEST_KEY_2_KEYS, + ), state_event.clone(), ]; @@ -1835,8 +1879,10 @@ async fn push_new_pr_branch_creates_proposal() -> Result<()> { } mod push_from_another_maintainer { + // TODO that has issued announcement - // - that is listed by trusted maintainer - succeeds + // - that is listed by trusted maintainer - succeeds (covered by above + // tests) // - that isn't listed by trusted maintainer - fails // TODO that hasn't yet issued announcement // - that is listed by trusted maintainer - fails -- cgit v1.2.3