upleb.uk

Public git repos — served from a NIP-34 GRASP relay at git.upleb.uk

summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--test_utils/src/lib.rs25
-rw-r--r--tests/git_remote_nostr/main.rs8
-rw-r--r--tests/git_remote_nostr/push.rs48
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 {
152} 152}
153 153
154pub fn generate_repo_ref_event_with_git_server(git_servers: Vec<String>) -> nostr::Event { 154pub fn generate_repo_ref_event_with_git_server(git_servers: Vec<String>) -> nostr::Event {
155 generate_repo_ref_event_with_git_server_with_keys(git_servers, &TEST_KEY_1_KEYS)
156}
157
158pub fn generate_repo_ref_event_with_git_server_with_keys(
159 git_servers: Vec<String>,
160 keys: &nostr::Keys,
161) -> nostr::Event {
155 // taken from test git_repo 162 // taken from test git_repo
156 // TODO - this may not be consistant across computers as it might take the 163 // TODO - this may not be consistant across computers as it might take the
157 // author and committer from global git config 164 // author and committer from global git config
@@ -185,16 +192,22 @@ pub fn generate_repo_ref_event_with_git_server(git_servers: Vec<String>) -> nost
185 ), 192 ),
186 Tag::custom( 193 Tag::custom(
187 nostr::TagKind::Custom(std::borrow::Cow::Borrowed("maintainers")), 194 nostr::TagKind::Custom(std::borrow::Cow::Borrowed("maintainers")),
188 vec![ 195 [
189 TEST_KEY_1_KEYS.public_key().to_string(), 196 vec![keys.public_key().to_string()],
190 TEST_KEY_2_KEYS.public_key().to_string(), 197 vec![
191 ], 198 TEST_KEY_1_KEYS.public_key().to_string(),
199 TEST_KEY_2_KEYS.public_key().to_string(),
200 ]
201 .into_iter()
202 .filter(|key| !keys.public_key().to_string().eq(key))
203 .collect(),
204 ]
205 .concat(),
192 ), 206 ),
193 ]) 207 ])
194 .sign_with_keys(&TEST_KEY_1_KEYS) 208 .sign_with_keys(keys)
195 .unwrap() 209 .unwrap()
196} 210}
197
198/// enough to fool event_is_patch_set_root 211/// enough to fool event_is_patch_set_root
199pub fn get_pretend_proposal_root_event() -> nostr::Event { 212pub fn get_pretend_proposal_root_event() -> nostr::Event {
200 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() 213 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)>
117 generate_repo_ref_event_with_git_server(vec![ 117 generate_repo_ref_event_with_git_server(vec![
118 source_git_repo.dir.to_str().unwrap().to_string(), 118 source_git_repo.dir.to_str().unwrap().to_string(),
119 ]), 119 ]),
120 generate_repo_ref_event_with_git_server_with_keys(
121 vec![source_git_repo.dir.to_str().unwrap().to_string()],
122 &TEST_KEY_2_KEYS,
123 ),
120 ]; 124 ];
121 // fallback (51,52) user write (53, 55) repo (55, 56) blaster (57) 125 // fallback (51,52) user write (53, 55) repo (55, 56) blaster (57)
122 let (mut r51, mut r52, mut r53, mut r55, mut r56, mut r57) = ( 126 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()
190 generate_test_key_1_metadata_event("fred"), 194 generate_test_key_1_metadata_event("fred"),
191 generate_test_key_1_relay_list_event(), 195 generate_test_key_1_relay_list_event(),
192 generate_repo_ref_event_with_git_server(vec![source_path.to_string()]), 196 generate_repo_ref_event_with_git_server(vec![source_path.to_string()]),
197 generate_repo_ref_event_with_git_server_with_keys(
198 vec![source_path.to_string()],
199 &TEST_KEY_2_KEYS,
200 ),
193 state_event, 201 state_event,
194 ]; 202 ];
195 // fallback (51,52) user write (53, 55) repo (55, 56) blaster (57) 203 // 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 {
32 generate_repo_ref_event_with_git_server(vec![ 32 generate_repo_ref_event_with_git_server(vec![
33 source_git_repo.dir.to_str().unwrap().to_string(), 33 source_git_repo.dir.to_str().unwrap().to_string(),
34 ]), 34 ]),
35 generate_repo_ref_event_with_git_server_with_keys(
36 vec![source_git_repo.dir.to_str().unwrap().to_string()],
37 &TEST_KEY_2_KEYS,
38 ),
35 ]; 39 ];
36 // fallback (51,52) user write (53, 55) repo (55, 56) blaster (57) 40 // fallback (51,52) user write (53, 55) repo (55, 56) blaster (57)
37 let (mut r51, mut r52, mut r53, mut r55, mut r56, mut r57) = ( 41 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 {
107 generate_repo_ref_event_with_git_server(vec![ 111 generate_repo_ref_event_with_git_server(vec![
108 source_git_repo.dir.to_str().unwrap().to_string(), 112 source_git_repo.dir.to_str().unwrap().to_string(),
109 ]), 113 ]),
114 generate_repo_ref_event_with_git_server_with_keys(
115 vec![source_git_repo.dir.to_str().unwrap().to_string()],
116 &TEST_KEY_2_KEYS,
117 ),
110 ]; 118 ];
111 // fallback (51,52) user write (53, 55) repo (55, 56) blaster (57) 119 // fallback (51,52) user write (53, 55) repo (55, 56) blaster (57)
112 let (mut r51, mut r52, mut r53, mut r55, mut r56, mut r57) = ( 120 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 {
193 generate_repo_ref_event_with_git_server(vec![ 201 generate_repo_ref_event_with_git_server(vec![
194 source_git_repo.dir.to_str().unwrap().to_string(), 202 source_git_repo.dir.to_str().unwrap().to_string(),
195 ]), 203 ]),
204 generate_repo_ref_event_with_git_server_with_keys(
205 vec![source_git_repo.dir.to_str().unwrap().to_string()],
206 &TEST_KEY_2_KEYS,
207 ),
196 ]; 208 ];
197 // fallback (51,52) user write (53, 55) repo (55, 56) blaster (57) 209 // fallback (51,52) user write (53, 55) repo (55, 56) blaster (57)
198 let (mut r51, mut r52, mut r53, mut r55, mut r56, mut r57) = ( 210 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 {
261 generate_repo_ref_event_with_git_server(vec![ 273 generate_repo_ref_event_with_git_server(vec![
262 source_git_repo.dir.to_str().unwrap().to_string(), 274 source_git_repo.dir.to_str().unwrap().to_string(),
263 ]), 275 ]),
276 generate_repo_ref_event_with_git_server_with_keys(
277 vec![source_git_repo.dir.to_str().unwrap().to_string()],
278 &TEST_KEY_2_KEYS,
279 ),
264 ]; 280 ];
265 // fallback (51,52) user write (53, 55) repo (55, 56) blaster (57) 281 // fallback (51,52) user write (53, 55) repo (55, 56) blaster (57)
266 let (mut r51, mut r52, mut r53, mut r55, mut r56, mut r57) = ( 282 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 {
345 generate_repo_ref_event_with_git_server(vec![ 361 generate_repo_ref_event_with_git_server(vec![
346 source_git_repo.dir.to_str().unwrap().to_string(), 362 source_git_repo.dir.to_str().unwrap().to_string(),
347 ]), 363 ]),
364 generate_repo_ref_event_with_git_server_with_keys(
365 vec![source_git_repo.dir.to_str().unwrap().to_string()],
366 &TEST_KEY_2_KEYS,
367 ),
348 state_event.clone(), 368 state_event.clone(),
349 ]; 369 ];
350 370
@@ -463,6 +483,10 @@ mod delete_one_branch {
463 generate_repo_ref_event_with_git_server(vec![ 483 generate_repo_ref_event_with_git_server(vec![
464 source_git_repo.dir.to_str().unwrap().to_string(), 484 source_git_repo.dir.to_str().unwrap().to_string(),
465 ]), 485 ]),
486 generate_repo_ref_event_with_git_server_with_keys(
487 vec![source_git_repo.dir.to_str().unwrap().to_string()],
488 &TEST_KEY_2_KEYS,
489 ),
466 ]; 490 ];
467 // fallback (51,52) user write (53, 55) repo (55, 56) blaster (57) 491 // fallback (51,52) user write (53, 55) repo (55, 56) blaster (57)
468 let (mut r51, mut r52, mut r53, mut r55, mut r56, mut r57) = ( 492 let (mut r51, mut r52, mut r53, mut r55, mut r56, mut r57) = (
@@ -538,6 +562,10 @@ mod delete_one_branch {
538 generate_repo_ref_event_with_git_server(vec![ 562 generate_repo_ref_event_with_git_server(vec![
539 source_git_repo.dir.to_str().unwrap().to_string(), 563 source_git_repo.dir.to_str().unwrap().to_string(),
540 ]), 564 ]),
565 generate_repo_ref_event_with_git_server_with_keys(
566 vec![source_git_repo.dir.to_str().unwrap().to_string()],
567 &TEST_KEY_2_KEYS,
568 ),
541 ]; 569 ];
542 // fallback (51,52) user write (53, 55) repo (55, 56) blaster (57) 570 // fallback (51,52) user write (53, 55) repo (55, 56) blaster (57)
543 let (mut r51, mut r52, mut r53, mut r55, mut r56, mut r57) = ( 571 let (mut r51, mut r52, mut r53, mut r55, mut r56, mut r57) = (
@@ -612,6 +640,10 @@ mod delete_one_branch {
612 generate_repo_ref_event_with_git_server(vec![ 640 generate_repo_ref_event_with_git_server(vec![
613 source_git_repo.dir.to_str().unwrap().to_string(), 641 source_git_repo.dir.to_str().unwrap().to_string(),
614 ]), 642 ]),
643 generate_repo_ref_event_with_git_server_with_keys(
644 vec![source_git_repo.dir.to_str().unwrap().to_string()],
645 &TEST_KEY_2_KEYS,
646 ),
615 ]; 647 ];
616 // fallback (51,52) user write (53, 55) repo (55, 56) blaster (57) 648 // fallback (51,52) user write (53, 55) repo (55, 56) blaster (57)
617 let (mut r51, mut r52, mut r53, mut r55, mut r56, mut r57) = ( 649 let (mut r51, mut r52, mut r53, mut r55, mut r56, mut r57) = (
@@ -668,6 +700,10 @@ mod delete_one_branch {
668 generate_repo_ref_event_with_git_server(vec![ 700 generate_repo_ref_event_with_git_server(vec![
669 source_git_repo.dir.to_str().unwrap().to_string(), 701 source_git_repo.dir.to_str().unwrap().to_string(),
670 ]), 702 ]),
703 generate_repo_ref_event_with_git_server_with_keys(
704 vec![source_git_repo.dir.to_str().unwrap().to_string()],
705 &TEST_KEY_2_KEYS,
706 ),
671 state_event.clone(), 707 state_event.clone(),
672 ]; 708 ];
673 709
@@ -755,6 +791,10 @@ mod delete_one_branch {
755 generate_repo_ref_event_with_git_server(vec![ 791 generate_repo_ref_event_with_git_server(vec![
756 source_git_repo.dir.to_str().unwrap().to_string(), 792 source_git_repo.dir.to_str().unwrap().to_string(),
757 ]), 793 ]),
794 generate_repo_ref_event_with_git_server_with_keys(
795 vec![source_git_repo.dir.to_str().unwrap().to_string()],
796 &TEST_KEY_2_KEYS,
797 ),
758 state_event.clone(), 798 state_event.clone(),
759 ]; 799 ];
760 800
@@ -841,6 +881,10 @@ async fn pushes_to_all_git_servers_listed_and_ok_printed() -> Result<()> {
841 source_git_repo.dir.to_str().unwrap().to_string(), 881 source_git_repo.dir.to_str().unwrap().to_string(),
842 second_source_git_repo.dir.to_str().unwrap().to_string(), 882 second_source_git_repo.dir.to_str().unwrap().to_string(),
843 ]), 883 ]),
884 generate_repo_ref_event_with_git_server_with_keys(
885 vec![source_git_repo.dir.to_str().unwrap().to_string()],
886 &TEST_KEY_2_KEYS,
887 ),
844 state_event.clone(), 888 state_event.clone(),
845 ]; 889 ];
846 890
@@ -1835,8 +1879,10 @@ async fn push_new_pr_branch_creates_proposal() -> Result<()> {
1835} 1879}
1836 1880
1837mod push_from_another_maintainer { 1881mod push_from_another_maintainer {
1882
1838 // TODO that has issued announcement 1883 // TODO that has issued announcement
1839 // - that is listed by trusted maintainer - succeeds 1884 // - that is listed by trusted maintainer - succeeds (covered by above
1885 // tests)
1840 // - that isn't listed by trusted maintainer - fails 1886 // - that isn't listed by trusted maintainer - fails
1841 // TODO that hasn't yet issued announcement 1887 // TODO that hasn't yet issued announcement
1842 // - that is listed by trusted maintainer - fails 1888 // - that is listed by trusted maintainer - fails