upleb.uk

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

summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorDanConwayDev <DanConwayDev@protonmail.com>2024-09-25 14:37:17 +0100
committerDanConwayDev <DanConwayDev@protonmail.com>2024-09-25 14:37:17 +0100
commitd6faad17e814d252a72e3aca39a4b3898382bab9 (patch)
tree16a238703293fe0d9cce04fa83de2af4a88f5433 /tests
parent4f84dc460c3494286233afe9ca480d3b7c0186b1 (diff)
chore: bump rust-nostr v0.35
bump all rust-nostr packages
Diffstat (limited to 'tests')
-rw-r--r--tests/git_remote_nostr/main.rs6
-rw-r--r--tests/git_remote_nostr/push.rs98
-rw-r--r--tests/ngit_init.rs41
-rw-r--r--tests/ngit_push.rs2
-rw-r--r--tests/ngit_send.rs200
5 files changed, 173 insertions, 174 deletions
diff --git a/tests/git_remote_nostr/main.rs b/tests/git_remote_nostr/main.rs
index 5d2dcbb..189d82d 100644
--- a/tests/git_remote_nostr/main.rs
+++ b/tests/git_remote_nostr/main.rs
@@ -20,7 +20,7 @@ fn get_nostr_remote_url() -> Result<String> {
20 let repo_event = generate_repo_ref_event(); 20 let repo_event = generate_repo_ref_event();
21 let naddr = Coordinate { 21 let naddr = Coordinate {
22 kind: Kind::GitRepoAnnouncement, 22 kind: Kind::GitRepoAnnouncement,
23 public_key: repo_event.author(), 23 public_key: repo_event.pubkey,
24 identifier: repo_event.identifier().unwrap().to_string(), 24 identifier: repo_event.identifier().unwrap().to_string(),
25 relays: vec![ 25 relays: vec![
26 "ws://localhost:8055".to_string(), 26 "ws://localhost:8055".to_string(),
@@ -156,7 +156,7 @@ async fn generate_repo_with_state_event() -> Result<(nostr::Event, GitTestRepo)>
156 let state_event = r56 156 let state_event = r56
157 .events 157 .events
158 .iter() 158 .iter()
159 .find(|e| e.kind().eq(&STATE_KIND)) 159 .find(|e| e.kind.eq(&STATE_KIND))
160 .context("state event not created")?; 160 .context("state event not created")?;
161 161
162 assert_eq!( 162 assert_eq!(
@@ -164,7 +164,7 @@ async fn generate_repo_with_state_event() -> Result<(nostr::Event, GitTestRepo)>
164 .tags 164 .tags
165 .iter() 165 .iter()
166 .filter(|t| t.kind().to_string().as_str().ne("d")) 166 .filter(|t| t.kind().to_string().as_str().ne("d"))
167 .map(|t| t.as_vec().to_vec()) 167 .map(|t| t.as_slice().to_vec())
168 .collect::<HashSet<Vec<String>>>(), 168 .collect::<HashSet<Vec<String>>>(),
169 HashSet::from([ 169 HashSet::from([
170 vec!["HEAD".to_string(), "ref: refs/heads/main".to_string()], 170 vec!["HEAD".to_string(), "ref: refs/heads/main".to_string()],
diff --git a/tests/git_remote_nostr/push.rs b/tests/git_remote_nostr/push.rs
index f552ee5..e0a4e93 100644
--- a/tests/git_remote_nostr/push.rs
+++ b/tests/git_remote_nostr/push.rs
@@ -298,7 +298,7 @@ mod two_branches_in_batch_one_added_one_updated {
298 let state_event = r56 298 let state_event = r56
299 .events 299 .events
300 .iter() 300 .iter()
301 .find(|e| e.kind().eq(&STATE_KIND)) 301 .find(|e| e.kind.eq(&STATE_KIND))
302 .context("state event not created")?; 302 .context("state event not created")?;
303 303
304 assert_eq!( 304 assert_eq!(
@@ -311,7 +311,7 @@ mod two_branches_in_batch_one_added_one_updated {
311 .tags 311 .tags
312 .iter() 312 .iter()
313 .filter(|t| t.kind().to_string().as_str().ne("d")) 313 .filter(|t| t.kind().to_string().as_str().ne("d"))
314 .map(|t| t.as_vec().to_vec()) 314 .map(|t| t.as_slice().to_vec())
315 .collect::<HashSet<Vec<String>>>(), 315 .collect::<HashSet<Vec<String>>>(),
316 HashSet::from([ 316 HashSet::from([
317 vec!["HEAD".to_string(), "ref: refs/heads/main".to_string()], 317 vec!["HEAD".to_string(), "ref: refs/heads/main".to_string()],
@@ -415,7 +415,7 @@ mod two_branches_in_batch_one_added_one_updated {
415 let state_event = r56 415 let state_event = r56
416 .events 416 .events
417 .iter() 417 .iter()
418 .find(|e| e.kind().eq(&STATE_KIND)) 418 .find(|e| e.kind.eq(&STATE_KIND))
419 .context("state event not created")?; 419 .context("state event not created")?;
420 420
421 // println!("{:#?}", state_event); 421 // println!("{:#?}", state_event);
@@ -424,7 +424,7 @@ mod two_branches_in_batch_one_added_one_updated {
424 .tags 424 .tags
425 .iter() 425 .iter()
426 .filter(|t| t.kind().to_string().as_str().ne("d")) 426 .filter(|t| t.kind().to_string().as_str().ne("d"))
427 .map(|t| t.as_vec().to_vec()) 427 .map(|t| t.as_slice().to_vec())
428 .collect::<HashSet<Vec<String>>>(), 428 .collect::<HashSet<Vec<String>>>(),
429 HashSet::from([ 429 HashSet::from([
430 vec!["HEAD".to_string(), "ref: refs/heads/main".to_string()], 430 vec!["HEAD".to_string(), "ref: refs/heads/main".to_string()],
@@ -710,7 +710,7 @@ mod delete_one_branch {
710 let state_event = r56 710 let state_event = r56
711 .events 711 .events
712 .iter() 712 .iter()
713 .find(|e| e.kind().eq(&STATE_KIND)) 713 .find(|e| e.kind.eq(&STATE_KIND))
714 .context("state event not created")?; 714 .context("state event not created")?;
715 715
716 // println!("{:#?}", state_event); 716 // println!("{:#?}", state_event);
@@ -719,7 +719,7 @@ mod delete_one_branch {
719 .tags 719 .tags
720 .iter() 720 .iter()
721 .filter(|t| t.kind().to_string().as_str().ne("d")) 721 .filter(|t| t.kind().to_string().as_str().ne("d"))
722 .map(|t| t.as_vec().to_vec()) 722 .map(|t| t.as_slice().to_vec())
723 .collect::<HashSet<Vec<String>>>(), 723 .collect::<HashSet<Vec<String>>>(),
724 HashSet::from([ 724 HashSet::from([
725 vec!["HEAD".to_string(), "ref: refs/heads/main".to_string()], 725 vec!["HEAD".to_string(), "ref: refs/heads/main".to_string()],
@@ -797,7 +797,7 @@ mod delete_one_branch {
797 let state_event = r56 797 let state_event = r56
798 .events 798 .events
799 .iter() 799 .iter()
800 .find(|e| e.kind().eq(&STATE_KIND)) 800 .find(|e| e.kind.eq(&STATE_KIND))
801 .context("state event not created")?; 801 .context("state event not created")?;
802 802
803 // println!("{:#?}", state_event); 803 // println!("{:#?}", state_event);
@@ -806,7 +806,7 @@ mod delete_one_branch {
806 .tags 806 .tags
807 .iter() 807 .iter()
808 .filter(|t| t.kind().to_string().as_str().ne("d")) 808 .filter(|t| t.kind().to_string().as_str().ne("d"))
809 .map(|t| t.as_vec().to_vec()) 809 .map(|t| t.as_slice().to_vec())
810 .collect::<HashSet<Vec<String>>>(), 810 .collect::<HashSet<Vec<String>>>(),
811 HashSet::from([ 811 HashSet::from([
812 vec!["HEAD".to_string(), "ref: refs/heads/main".to_string()], 812 vec!["HEAD".to_string(), "ref: refs/heads/main".to_string()],
@@ -980,16 +980,16 @@ async fn proposal_merge_commit_pushed_to_main_leads_to_status_event_issued() ->
980 .events 980 .events
981 .iter() 981 .iter()
982 .find(|e| { 982 .find(|e| {
983 e.tags() 983 e.tags
984 .iter() 984 .iter()
985 .find(|t| t.as_vec()[0].eq("branch-name")) 985 .find(|t| t.as_slice()[0].eq("branch-name"))
986 .is_some_and(|t| t.as_vec()[1].eq(FEATURE_BRANCH_NAME_1)) 986 .is_some_and(|t| t.as_slice()[1].eq(FEATURE_BRANCH_NAME_1))
987 }) 987 })
988 .unwrap(); 988 .unwrap();
989 989
990 let merge_status = new_events 990 let merge_status = new_events
991 .iter() 991 .iter()
992 .find(|e| e.kind().eq(&Kind::GitStatusApplied)) 992 .find(|e| e.kind.eq(&Kind::GitStatusApplied))
993 .unwrap(); 993 .unwrap();
994 994
995 assert_eq!( 995 assert_eq!(
@@ -997,9 +997,9 @@ async fn proposal_merge_commit_pushed_to_main_leads_to_status_event_issued() ->
997 merge_status 997 merge_status
998 .tags 998 .tags
999 .iter() 999 .iter()
1000 .find(|t| t.as_vec()[0].eq("merge-commit-id")) 1000 .find(|t| t.as_slice()[0].eq("merge-commit-id"))
1001 .unwrap() 1001 .unwrap()
1002 .as_vec()[1], 1002 .as_slice()[1],
1003 "status sets correct merge-commit-id tag" 1003 "status sets correct merge-commit-id tag"
1004 ); 1004 );
1005 1005
@@ -1007,35 +1007,35 @@ async fn proposal_merge_commit_pushed_to_main_leads_to_status_event_issued() ->
1007 .events 1007 .events
1008 .iter() 1008 .iter()
1009 .filter(|e| { 1009 .filter(|e| {
1010 e.tags() 1010 e.tags
1011 .iter() 1011 .iter()
1012 .any(|t| t.as_vec()[1].eq(&proposal.id().to_string())) 1012 .any(|t| t.as_slice()[1].eq(&proposal.id.to_string()))
1013 && e.kind().eq(&Kind::GitPatch) 1013 && e.kind.eq(&Kind::GitPatch)
1014 }) 1014 })
1015 .last() 1015 .last()
1016 .unwrap(); 1016 .unwrap();
1017 1017
1018 assert_eq!( 1018 assert_eq!(
1019 proposal_tip.id().to_string(), 1019 proposal_tip.id.to_string(),
1020 merge_status 1020 merge_status
1021 .tags 1021 .tags
1022 .iter() 1022 .iter()
1023 .find(|t| t.as_vec().len().eq(&4) && t.as_vec()[3].eq("mention")) 1023 .find(|t| t.as_slice().len().eq(&4) && t.as_slice()[3].eq("mention"))
1024 .unwrap() 1024 .unwrap()
1025 .as_vec()[1], 1025 .as_slice()[1],
1026 "status mentions proposal tip event \r\nmerge status:\r\n{}\r\nproposal tip:\r\n{}", 1026 "status mentions proposal tip event \r\nmerge status:\r\n{}\r\nproposal tip:\r\n{}",
1027 merge_status.as_json(), 1027 merge_status.as_json(),
1028 proposal_tip.as_json(), 1028 proposal_tip.as_json(),
1029 ); 1029 );
1030 1030
1031 assert_eq!( 1031 assert_eq!(
1032 proposal.id().to_string(), 1032 proposal.id.to_string(),
1033 merge_status 1033 merge_status
1034 .tags 1034 .tags
1035 .iter() 1035 .iter()
1036 .find(|t| t.is_root()) 1036 .find(|t| t.is_root())
1037 .unwrap() 1037 .unwrap()
1038 .as_vec()[1], 1038 .as_slice()[1],
1039 "status tags proposal id as root \r\nmerge status:\r\n{}\r\nproposal:\r\n{}", 1039 "status tags proposal id as root \r\nmerge status:\r\n{}\r\nproposal:\r\n{}",
1040 merge_status.as_json(), 1040 merge_status.as_json(),
1041 proposal.as_json(), 1041 proposal.as_json(),
@@ -1136,32 +1136,32 @@ async fn push_2_commits_to_existing_proposal() -> Result<()> {
1136 .events 1136 .events
1137 .iter() 1137 .iter()
1138 .find(|e| { 1138 .find(|e| {
1139 e.tags() 1139 e.tags
1140 .iter() 1140 .iter()
1141 .find(|t| t.as_vec()[0].eq("branch-name")) 1141 .find(|t| t.as_slice()[0].eq("branch-name"))
1142 .is_some_and(|t| t.as_vec()[1].eq(FEATURE_BRANCH_NAME_1)) 1142 .is_some_and(|t| t.as_slice()[1].eq(FEATURE_BRANCH_NAME_1))
1143 }) 1143 })
1144 .unwrap(); 1144 .unwrap();
1145 1145
1146 assert_eq!( 1146 assert_eq!(
1147 proposal.id().to_string(), 1147 proposal.id.to_string(),
1148 first_new_patch 1148 first_new_patch
1149 .tags 1149 .tags
1150 .iter() 1150 .iter()
1151 .find(|t| t.is_root()) 1151 .find(|t| t.is_root())
1152 .unwrap() 1152 .unwrap()
1153 .as_vec()[1], 1153 .as_slice()[1],
1154 "first patch sets proposal id as root" 1154 "first patch sets proposal id as root"
1155 ); 1155 );
1156 1156
1157 assert_eq!( 1157 assert_eq!(
1158 first_new_patch.id().to_string(), 1158 first_new_patch.id.to_string(),
1159 second_new_patch 1159 second_new_patch
1160 .tags 1160 .tags
1161 .iter() 1161 .iter()
1162 .find(|t| t.is_reply()) 1162 .find(|t| t.is_reply())
1163 .unwrap() 1163 .unwrap()
1164 .as_vec()[1], 1164 .as_slice()[1],
1165 "second new patch replies to the first new patch" 1165 "second new patch replies to the first new patch"
1166 ); 1166 );
1167 1167
@@ -1169,21 +1169,21 @@ async fn push_2_commits_to_existing_proposal() -> Result<()> {
1169 .events 1169 .events
1170 .iter() 1170 .iter()
1171 .find(|e| { 1171 .find(|e| {
1172 e.tags() 1172 e.tags
1173 .iter() 1173 .iter()
1174 .any(|t| t.as_vec()[1].eq(&proposal.id().to_string())) 1174 .any(|t| t.as_slice()[1].eq(&proposal.id.to_string()))
1175 && e.content.contains("[PATCH 2/2]") 1175 && e.content.contains("[PATCH 2/2]")
1176 }) 1176 })
1177 .unwrap(); 1177 .unwrap();
1178 1178
1179 assert_eq!( 1179 assert_eq!(
1180 previous_proposal_tip_event.id().to_string(), 1180 previous_proposal_tip_event.id.to_string(),
1181 first_new_patch 1181 first_new_patch
1182 .tags 1182 .tags
1183 .iter() 1183 .iter()
1184 .find(|t| t.is_reply()) 1184 .find(|t| t.is_reply())
1185 .unwrap() 1185 .unwrap()
1186 .as_vec()[1], 1186 .as_slice()[1],
1187 "first patch replies to the previous tip of proposal" 1187 "first patch replies to the previous tip of proposal"
1188 ); 1188 );
1189 1189
@@ -1275,26 +1275,26 @@ async fn force_push_creates_proposal_revision() -> Result<()> {
1275 .events 1275 .events
1276 .iter() 1276 .iter()
1277 .find(|e| { 1277 .find(|e| {
1278 e.tags() 1278 e.tags
1279 .iter() 1279 .iter()
1280 .find(|t| t.as_vec()[0].eq("branch-name")) 1280 .find(|t| t.as_slice()[0].eq("branch-name"))
1281 .is_some_and(|t| t.as_vec()[1].eq(FEATURE_BRANCH_NAME_1)) 1281 .is_some_and(|t| t.as_slice()[1].eq(FEATURE_BRANCH_NAME_1))
1282 }) 1282 })
1283 .unwrap(); 1283 .unwrap();
1284 1284
1285 let revision_root_patch = new_events 1285 let revision_root_patch = new_events
1286 .iter() 1286 .iter()
1287 .find(|e| e.tags().iter().any(|t| t.as_vec()[1].eq("revision-root"))) 1287 .find(|e| e.tags.iter().any(|t| t.as_slice()[1].eq("revision-root")))
1288 .unwrap(); 1288 .unwrap();
1289 1289
1290 assert_eq!( 1290 assert_eq!(
1291 proposal.id().to_string(), 1291 proposal.id.to_string(),
1292 revision_root_patch 1292 revision_root_patch
1293 .tags 1293 .tags
1294 .iter() 1294 .iter()
1295 .find(|t| t.is_reply()) 1295 .find(|t| t.is_reply())
1296 .unwrap() 1296 .unwrap()
1297 .as_vec()[1], 1297 .as_slice()[1],
1298 "revision root patch replies to original proposal" 1298 "revision root patch replies to original proposal"
1299 ); 1299 );
1300 1300
@@ -1321,24 +1321,24 @@ async fn force_push_creates_proposal_revision() -> Result<()> {
1321 ); 1321 );
1322 1322
1323 assert_eq!( 1323 assert_eq!(
1324 revision_root_patch.id().to_string(), 1324 revision_root_patch.id.to_string(),
1325 second_patch 1325 second_patch
1326 .tags 1326 .tags
1327 .iter() 1327 .iter()
1328 .find(|t| t.is_root()) 1328 .find(|t| t.is_root())
1329 .unwrap() 1329 .unwrap()
1330 .as_vec()[1], 1330 .as_slice()[1],
1331 "second patch sets revision id as root" 1331 "second patch sets revision id as root"
1332 ); 1332 );
1333 1333
1334 assert_eq!( 1334 assert_eq!(
1335 second_patch.id().to_string(), 1335 second_patch.id.to_string(),
1336 third_patch 1336 third_patch
1337 .tags 1337 .tags
1338 .iter() 1338 .iter()
1339 .find(|t| t.is_reply()) 1339 .find(|t| t.is_reply())
1340 .unwrap() 1340 .unwrap()
1341 .as_vec()[1], 1341 .as_slice()[1],
1342 "third patch replies to the second new patch" 1342 "third patch replies to the second new patch"
1343 ); 1343 );
1344 1344
@@ -1423,7 +1423,7 @@ async fn push_new_pr_branch_creates_proposal() -> Result<()> {
1423 1423
1424 let proposal = new_events 1424 let proposal = new_events
1425 .iter() 1425 .iter()
1426 .find(|e| e.tags().iter().any(|t| t.as_vec()[1].eq("root"))) 1426 .find(|e| e.tags.iter().any(|t| t.as_slice()[1].eq("root")))
1427 .unwrap(); 1427 .unwrap();
1428 1428
1429 assert!( 1429 assert!(
@@ -1438,11 +1438,11 @@ async fn push_new_pr_branch_creates_proposal() -> Result<()> {
1438 1438
1439 assert_eq!( 1439 assert_eq!(
1440 proposal 1440 proposal
1441 .tags() 1441 .tags
1442 .iter() 1442 .iter()
1443 .find(|t| t.as_vec()[0].eq("branch-name")) 1443 .find(|t| t.as_slice()[0].eq("branch-name"))
1444 .unwrap() 1444 .unwrap()
1445 .as_vec()[1], 1445 .as_slice()[1],
1446 branch_name.replace("pr/", ""), 1446 branch_name.replace("pr/", ""),
1447 ); 1447 );
1448 1448
@@ -1457,13 +1457,13 @@ async fn push_new_pr_branch_creates_proposal() -> Result<()> {
1457 ); 1457 );
1458 1458
1459 assert_eq!( 1459 assert_eq!(
1460 proposal.id().to_string(), 1460 proposal.id.to_string(),
1461 second_patch 1461 second_patch
1462 .tags 1462 .tags
1463 .iter() 1463 .iter()
1464 .find(|t| t.is_root()) 1464 .find(|t| t.is_root())
1465 .unwrap() 1465 .unwrap()
1466 .as_vec()[1], 1466 .as_slice()[1],
1467 "second patch sets proposal id as root" 1467 "second patch sets proposal id as root"
1468 ); 1468 );
1469 1469
diff --git a/tests/ngit_init.rs b/tests/ngit_init.rs
index c8390e3..34da16f 100644
--- a/tests/ngit_init.rs
+++ b/tests/ngit_init.rs
@@ -464,11 +464,9 @@ mod when_repo_not_previously_claimed {
464 .find(|e| e.kind.eq(&Kind::GitRepoAnnouncement)) 464 .find(|e| e.kind.eq(&Kind::GitRepoAnnouncement))
465 .unwrap(); 465 .unwrap();
466 466
467 assert!( 467 assert!(event.tags.iter().any(
468 event.tags.iter().any( 468 |t| t.as_slice()[0].eq("d") && t.as_slice()[1].eq("example-identifier")
469 |t| t.as_vec()[0].eq("d") && t.as_vec()[1].eq("example-identifier") 469 ));
470 )
471 );
472 } 470 }
473 Ok(()) 471 Ok(())
474 } 472 }
@@ -484,9 +482,9 @@ mod when_repo_not_previously_claimed {
484 .find(|e| e.kind.eq(&Kind::GitRepoAnnouncement)) 482 .find(|e| e.kind.eq(&Kind::GitRepoAnnouncement))
485 .unwrap(); 483 .unwrap();
486 484
487 assert!(event.tags.iter().any(|t| t.as_vec()[0].eq("r") 485 assert!(event.tags.iter().any(|t| t.as_slice()[0].eq("r")
488 && t.as_vec()[1].eq("9ee507fc4357d7ee16a5d8901bedcd103f23c17d") 486 && t.as_slice()[1].eq("9ee507fc4357d7ee16a5d8901bedcd103f23c17d")
489 && t.as_vec()[2].eq("euc"))); 487 && t.as_slice()[2].eq("euc")));
490 } 488 }
491 Ok(()) 489 Ok(())
492 } 490 }
@@ -506,7 +504,8 @@ mod when_repo_not_previously_claimed {
506 event 504 event
507 .tags 505 .tags
508 .iter() 506 .iter()
509 .any(|t| t.as_vec()[0].eq("name") && t.as_vec()[1].eq("example-name")) 507 .any(|t| t.as_slice()[0].eq("name")
508 && t.as_slice()[1].eq("example-name"))
510 ); 509 );
511 } 510 }
512 Ok(()) 511 Ok(())
@@ -523,8 +522,8 @@ mod when_repo_not_previously_claimed {
523 .find(|e| e.kind.eq(&Kind::GitRepoAnnouncement)) 522 .find(|e| e.kind.eq(&Kind::GitRepoAnnouncement))
524 .unwrap(); 523 .unwrap();
525 524
526 assert!(event.tags.iter().any(|t| t.as_vec()[0].eq("alt") 525 assert!(event.tags.iter().any(|t| t.as_slice()[0].eq("alt")
527 && t.as_vec()[1].eq("git repository: example-name"))); 526 && t.as_slice()[1].eq("git repository: example-name")));
528 } 527 }
529 Ok(()) 528 Ok(())
530 } 529 }
@@ -540,8 +539,8 @@ mod when_repo_not_previously_claimed {
540 .find(|e| e.kind.eq(&Kind::GitRepoAnnouncement)) 539 .find(|e| e.kind.eq(&Kind::GitRepoAnnouncement))
541 .unwrap(); 540 .unwrap();
542 541
543 assert!(event.tags.iter().any(|t| t.as_vec()[0].eq("description") 542 assert!(event.tags.iter().any(|t| t.as_slice()[0].eq("description")
544 && t.as_vec()[1].eq("example-description"))); 543 && t.as_slice()[1].eq("example-description")));
545 } 544 }
546 Ok(()) 545 Ok(())
547 } 546 }
@@ -558,8 +557,8 @@ mod when_repo_not_previously_claimed {
558 .unwrap(); 557 .unwrap();
559 558
560 assert!( 559 assert!(
561 event.tags.iter().any(|t| t.as_vec()[0].eq("clone") 560 event.tags.iter().any(|t| t.as_slice()[0].eq("clone")
562 && t.as_vec()[1].eq("https://git.myhosting.com/my-repo.git")) /* todo check it defaults to origin */ 561 && t.as_slice()[1].eq("https://git.myhosting.com/my-repo.git")) /* todo check it defaults to origin */
563 ); 562 );
564 } 563 }
565 Ok(()) 564 Ok(())
@@ -578,9 +577,9 @@ mod when_repo_not_previously_claimed {
578 let relays_tag = event 577 let relays_tag = event
579 .tags 578 .tags
580 .iter() 579 .iter()
581 .find(|t| t.as_vec()[0].eq("relays")) 580 .find(|t| t.as_slice()[0].eq("relays"))
582 .unwrap() 581 .unwrap()
583 .as_vec(); 582 .as_slice();
584 assert_eq!(relays_tag[1], "ws://localhost:8055",); 583 assert_eq!(relays_tag[1], "ws://localhost:8055",);
585 assert_eq!(relays_tag[2], "ws://localhost:8056",); 584 assert_eq!(relays_tag[2], "ws://localhost:8056",);
586 } 585 }
@@ -600,9 +599,9 @@ mod when_repo_not_previously_claimed {
600 let web_tag = event 599 let web_tag = event
601 .tags 600 .tags
602 .iter() 601 .iter()
603 .find(|t| t.as_vec()[0].eq("web")) 602 .find(|t| t.as_slice()[0].eq("web"))
604 .unwrap() 603 .unwrap()
605 .as_vec(); 604 .as_slice();
606 assert_eq!(web_tag[1], "https://exampleproject.xyz",); 605 assert_eq!(web_tag[1], "https://exampleproject.xyz",);
607 assert_eq!(web_tag[2], "https://gitworkshop.dev/123",); 606 assert_eq!(web_tag[2], "https://gitworkshop.dev/123",);
608 } 607 }
@@ -622,9 +621,9 @@ mod when_repo_not_previously_claimed {
622 let maintainers_tag = event 621 let maintainers_tag = event
623 .tags 622 .tags
624 .iter() 623 .iter()
625 .find(|t| t.as_vec()[0].eq("maintainers")) 624 .find(|t| t.as_slice()[0].eq("maintainers"))
626 .unwrap() 625 .unwrap()
627 .as_vec(); 626 .as_slice();
628 assert_eq!(maintainers_tag[1], TEST_KEY_1_KEYS.public_key().to_string()); 627 assert_eq!(maintainers_tag[1], TEST_KEY_1_KEYS.public_key().to_string());
629 } 628 }
630 Ok(()) 629 Ok(())
diff --git a/tests/ngit_push.rs b/tests/ngit_push.rs
index eb452cd..3d89f6b 100644
--- a/tests/ngit_push.rs
+++ b/tests/ngit_push.rs
@@ -359,7 +359,7 @@ mod when_branch_is_checked_out {
359 assert!(r55_events.iter().any(|e| { 359 assert!(r55_events.iter().any(|e| {
360 e.tags 360 e.tags
361 .iter() 361 .iter()
362 .any(|t| t.as_vec()[0].eq("commit") && t.as_vec()[1].eq(&commit_id)) 362 .any(|t| t.as_slice()[0].eq("commit") && t.as_slice()[1].eq(&commit_id))
363 })); 363 }));
364 Ok(()) 364 Ok(())
365 } 365 }
diff --git a/tests/ngit_send.rs b/tests/ngit_send.rs
index 2aad232..0fe7a86 100644
--- a/tests/ngit_send.rs
+++ b/tests/ngit_send.rs
@@ -87,17 +87,17 @@ mod when_commits_behind_ask_to_proceed {
87fn is_cover_letter(event: &nostr::Event) -> bool { 87fn is_cover_letter(event: &nostr::Event) -> bool {
88 event.kind.eq(&Kind::GitPatch) 88 event.kind.eq(&Kind::GitPatch)
89 && event 89 && event
90 .tags() 90 .tags
91 .iter() 91 .iter()
92 .any(|t| t.as_vec()[1].eq("cover-letter")) 92 .any(|t| t.as_slice()[1].eq("cover-letter"))
93} 93}
94 94
95fn is_patch(event: &nostr::Event) -> bool { 95fn is_patch(event: &nostr::Event) -> bool {
96 event.kind.eq(&Kind::GitPatch) 96 event.kind.eq(&Kind::GitPatch)
97 && !event 97 && !event
98 .tags() 98 .tags
99 .iter() 99 .iter()
100 .any(|t| t.as_vec()[1].eq("cover-letter")) 100 .any(|t| t.as_slice()[1].eq("cover-letter"))
101} 101}
102 102
103fn prep_git_repo() -> Result<GitTestRepo> { 103fn prep_git_repo() -> Result<GitTestRepo> {
@@ -374,11 +374,11 @@ mod when_cover_letter_details_specified_with_range_of_head_2_sends_cover_letter_
374 374
375 assert_eq!( 375 assert_eq!(
376 cover_letter_event 376 cover_letter_event
377 .tags() 377 .tags
378 .iter() 378 .iter()
379 .find(|t| t.as_vec()[0].eq("r")) 379 .find(|t| t.as_slice()[0].eq("r"))
380 .unwrap() 380 .unwrap()
381 .as_vec()[1], 381 .as_slice()[1],
382 "9ee507fc4357d7ee16a5d8901bedcd103f23c17d" 382 "9ee507fc4357d7ee16a5d8901bedcd103f23c17d"
383 ); 383 );
384 } 384 }
@@ -394,10 +394,10 @@ mod when_cover_letter_details_specified_with_range_of_head_2_sends_cover_letter_
394 relay.events.iter().find(|e| is_cover_letter(e)).unwrap(); 394 relay.events.iter().find(|e| is_cover_letter(e)).unwrap();
395 assert!( 395 assert!(
396 cover_letter_event 396 cover_letter_event
397 .tags() 397 .tags
398 .iter() 398 .iter()
399 .any(|t| t.as_vec()[0].eq("a") 399 .any(|t| t.as_slice()[0].eq("a")
400 && t.as_vec()[1].eq(&format!( 400 && t.as_slice()[1].eq(&format!(
401 "{}:{TEST_KEY_1_PUBKEY_HEX}:{}", 401 "{}:{TEST_KEY_1_PUBKEY_HEX}:{}",
402 Kind::GitRepoAnnouncement, 402 Kind::GitRepoAnnouncement,
403 generate_repo_ref_event().identifier().unwrap() 403 generate_repo_ref_event().identifier().unwrap()
@@ -405,10 +405,10 @@ mod when_cover_letter_details_specified_with_range_of_head_2_sends_cover_letter_
405 ); 405 );
406 assert!( 406 assert!(
407 cover_letter_event 407 cover_letter_event
408 .tags() 408 .tags
409 .iter() 409 .iter()
410 .any(|t| t.as_vec()[0].eq("a") 410 .any(|t| t.as_slice()[0].eq("a")
411 && t.as_vec()[1].eq(&format!( 411 && t.as_slice()[1].eq(&format!(
412 "{}:{TEST_KEY_2_PUBKEY_HEX}:{}", 412 "{}:{TEST_KEY_2_PUBKEY_HEX}:{}",
413 Kind::GitRepoAnnouncement, 413 Kind::GitRepoAnnouncement,
414 generate_repo_ref_event().identifier().unwrap() 414 generate_repo_ref_event().identifier().unwrap()
@@ -423,11 +423,11 @@ mod when_cover_letter_details_specified_with_range_of_head_2_sends_cover_letter_
423 async fn p_tags_for_maintainers() -> Result<()> { 423 async fn p_tags_for_maintainers() -> Result<()> {
424 let event = generate_repo_ref_event(); 424 let event = generate_repo_ref_event();
425 let maintainers = &event 425 let maintainers = &event
426 .tags() 426 .tags
427 .iter() 427 .iter()
428 .find(|t| t.as_vec()[0].eq(&"maintainers")) 428 .find(|t| t.as_slice()[0].eq(&"maintainers"))
429 .unwrap() 429 .unwrap()
430 .as_vec()[1..]; 430 .as_slice()[1..];
431 let (_, _, r53, r55, r56) = prep_run_create_proposal(true).await?; 431 let (_, _, r53, r55, r56) = prep_run_create_proposal(true).await?;
432 for relay in [&r53, &r55, &r56] { 432 for relay in [&r53, &r55, &r56] {
433 for m in maintainers { 433 for m in maintainers {
@@ -435,9 +435,9 @@ mod when_cover_letter_details_specified_with_range_of_head_2_sends_cover_letter_
435 relay.events.iter().find(|e| is_cover_letter(e)).unwrap(); 435 relay.events.iter().find(|e| is_cover_letter(e)).unwrap();
436 assert!( 436 assert!(
437 cover_letter_event 437 cover_letter_event
438 .tags() 438 .tags
439 .iter() 439 .iter()
440 .any(|t| { t.as_vec()[0].eq("p") && t.as_vec()[1].eq(m) }) 440 .any(|t| { t.as_slice()[0].eq("p") && t.as_slice()[1].eq(m) })
441 ); 441 );
442 } 442 }
443 } 443 }
@@ -452,10 +452,9 @@ mod when_cover_letter_details_specified_with_range_of_head_2_sends_cover_letter_
452 let cover_letter_event: &nostr::Event = 452 let cover_letter_event: &nostr::Event =
453 relay.events.iter().find(|e| is_cover_letter(e)).unwrap(); 453 relay.events.iter().find(|e| is_cover_letter(e)).unwrap();
454 assert!( 454 assert!(
455 cover_letter_event 455 cover_letter_event.tags.iter().any(|t| {
456 .tags() 456 t.as_slice()[0].eq("t") && t.as_slice()[1].eq(&"cover-letter")
457 .iter() 457 })
458 .any(|t| { t.as_vec()[0].eq("t") && t.as_vec()[1].eq(&"cover-letter") })
459 ); 458 );
460 } 459 }
461 Ok(()) 460 Ok(())
@@ -470,9 +469,9 @@ mod when_cover_letter_details_specified_with_range_of_head_2_sends_cover_letter_
470 relay.events.iter().find(|e| is_cover_letter(e)).unwrap(); 469 relay.events.iter().find(|e| is_cover_letter(e)).unwrap();
471 assert!( 470 assert!(
472 cover_letter_event 471 cover_letter_event
473 .tags() 472 .tags
474 .iter() 473 .iter()
475 .any(|t| { t.as_vec()[0].eq("t") && t.as_vec()[1].eq(&"root") }) 474 .any(|t| { t.as_slice()[0].eq("t") && t.as_slice()[1].eq(&"root") })
476 ); 475 );
477 } 476 }
478 Ok(()) 477 Ok(())
@@ -489,11 +488,11 @@ mod when_cover_letter_details_specified_with_range_of_head_2_sends_cover_letter_
489 // branch-name tag 488 // branch-name tag
490 assert_eq!( 489 assert_eq!(
491 cover_letter_event 490 cover_letter_event
492 .tags() 491 .tags
493 .iter() 492 .iter()
494 .find(|t| t.as_vec()[0].eq("branch-name")) 493 .find(|t| t.as_slice()[0].eq("branch-name"))
495 .unwrap() 494 .unwrap()
496 .as_vec()[1], 495 .as_slice()[1],
497 "feature" 496 "feature"
498 ); 497 );
499 } 498 }
@@ -511,11 +510,11 @@ mod when_cover_letter_details_specified_with_range_of_head_2_sends_cover_letter_
511 // branch-name tag 510 // branch-name tag
512 assert_eq!( 511 assert_eq!(
513 cover_letter_event 512 cover_letter_event
514 .tags() 513 .tags
515 .iter() 514 .iter()
516 .find(|t| t.as_vec()[0].eq("alt")) 515 .find(|t| t.as_slice()[0].eq("alt"))
517 .unwrap() 516 .unwrap()
518 .as_vec()[1], 517 .as_slice()[1],
519 "git patch cover letter: exampletitle" 518 "git patch cover letter: exampletitle"
520 ); 519 );
521 } 520 }
@@ -540,13 +539,13 @@ mod when_cover_letter_details_specified_with_range_of_head_2_sends_cover_letter_
540 most_recent_patch 539 most_recent_patch
541 .tags 540 .tags
542 .iter() 541 .iter()
543 .any(|t| t.as_vec()[0].eq("r") && t.as_vec()[1].eq(COMMIT_ID)) 542 .any(|t| t.as_slice()[0].eq("r") && t.as_slice()[1].eq(COMMIT_ID))
544 ); 543 );
545 assert!( 544 assert!(
546 most_recent_patch 545 most_recent_patch
547 .tags 546 .tags
548 .iter() 547 .iter()
549 .any(|t| t.as_vec()[0].eq("commit") && t.as_vec()[1].eq(COMMIT_ID)) 548 .any(|t| t.as_slice()[0].eq("commit") && t.as_slice()[1].eq(COMMIT_ID))
550 ); 549 );
551 Ok(()) 550 Ok(())
552 } 551 }
@@ -561,9 +560,9 @@ mod when_cover_letter_details_specified_with_range_of_head_2_sends_cover_letter_
561 most_recent_patch 560 most_recent_patch
562 .tags 561 .tags
563 .iter() 562 .iter()
564 .find(|t| t.as_vec()[0].eq("parent-commit")) 563 .find(|t| t.as_slice()[0].eq("parent-commit"))
565 .unwrap() 564 .unwrap()
566 .as_vec()[1], 565 .as_slice()[1],
567 COMMIT_PARENT_ID, 566 COMMIT_PARENT_ID,
568 ); 567 );
569 Ok(()) 568 Ok(())
@@ -572,8 +571,8 @@ mod when_cover_letter_details_specified_with_range_of_head_2_sends_cover_letter_
572 #[tokio::test] 571 #[tokio::test]
573 #[serial] 572 #[serial]
574 async fn root_commit_as_r() -> Result<()> { 573 async fn root_commit_as_r() -> Result<()> {
575 assert!(prep().await?.tags.iter().any(|t| t.as_vec()[0].eq("r") 574 assert!(prep().await?.tags.iter().any(|t| t.as_slice()[0].eq("r")
576 && t.as_vec()[1].eq("9ee507fc4357d7ee16a5d8901bedcd103f23c17d"))); 575 && t.as_slice()[1].eq("9ee507fc4357d7ee16a5d8901bedcd103f23c17d")));
577 Ok(()) 576 Ok(())
578 } 577 }
579 578
@@ -582,18 +581,18 @@ mod when_cover_letter_details_specified_with_range_of_head_2_sends_cover_letter_
582 async fn p_tags_for_maintainers() -> Result<()> { 581 async fn p_tags_for_maintainers() -> Result<()> {
583 let event = generate_repo_ref_event(); 582 let event = generate_repo_ref_event();
584 let maintainers = &event 583 let maintainers = &event
585 .tags() 584 .tags
586 .iter() 585 .iter()
587 .find(|t| t.as_vec()[0].eq(&"maintainers")) 586 .find(|t| t.as_slice()[0].eq(&"maintainers"))
588 .unwrap() 587 .unwrap()
589 .as_vec()[1..]; 588 .as_slice()[1..];
590 for m in maintainers { 589 for m in maintainers {
591 assert!( 590 assert!(
592 prep() 591 prep()
593 .await? 592 .await?
594 .tags() 593 .tags
595 .iter() 594 .iter()
596 .any(|t| { t.as_vec()[0].eq("p") && t.as_vec()[1].eq(m) }) 595 .any(|t| { t.as_slice()[0].eq("p") && t.as_slice()[1].eq(m) })
597 ); 596 );
598 } 597 }
599 Ok(()) 598 Ok(())
@@ -603,16 +602,16 @@ mod when_cover_letter_details_specified_with_range_of_head_2_sends_cover_letter_
603 #[serial] 602 #[serial]
604 async fn a_tag_for_repo_event_of_each_maintainer() -> Result<()> { 603 async fn a_tag_for_repo_event_of_each_maintainer() -> Result<()> {
605 assert!(prep().await?.tags.iter().any(|t| { 604 assert!(prep().await?.tags.iter().any(|t| {
606 t.as_vec()[0].eq("a") 605 t.as_slice()[0].eq("a")
607 && t.as_vec()[1].eq(&format!( 606 && t.as_slice()[1].eq(&format!(
608 "{}:{TEST_KEY_1_PUBKEY_HEX}:{}", 607 "{}:{TEST_KEY_1_PUBKEY_HEX}:{}",
609 Kind::GitRepoAnnouncement, 608 Kind::GitRepoAnnouncement,
610 generate_repo_ref_event().identifier().unwrap() 609 generate_repo_ref_event().identifier().unwrap()
611 )) 610 ))
612 })); 611 }));
613 assert!(prep().await?.tags.iter().any(|t| { 612 assert!(prep().await?.tags.iter().any(|t| {
614 t.as_vec()[0].eq("a") 613 t.as_slice()[0].eq("a")
615 && t.as_vec()[1].eq(&format!( 614 && t.as_slice()[1].eq(&format!(
616 "{}:{TEST_KEY_2_PUBKEY_HEX}:{}", 615 "{}:{TEST_KEY_2_PUBKEY_HEX}:{}",
617 Kind::GitRepoAnnouncement, 616 Kind::GitRepoAnnouncement,
618 generate_repo_ref_event().identifier().unwrap() 617 generate_repo_ref_event().identifier().unwrap()
@@ -629,9 +628,9 @@ mod when_cover_letter_details_specified_with_range_of_head_2_sends_cover_letter_
629 .await? 628 .await?
630 .tags 629 .tags
631 .iter() 630 .iter()
632 .find(|t| t.as_vec()[0].eq("description")) 631 .find(|t| t.as_slice()[0].eq("description"))
633 .unwrap() 632 .unwrap()
634 .as_vec()[1], 633 .as_slice()[1],
635 "add t3.md" 634 "add t3.md"
636 ); 635 );
637 Ok(()) 636 Ok(())
@@ -645,9 +644,9 @@ mod when_cover_letter_details_specified_with_range_of_head_2_sends_cover_letter_
645 .await? 644 .await?
646 .tags 645 .tags
647 .iter() 646 .iter()
648 .find(|t| t.as_vec()[0].eq("author")) 647 .find(|t| t.as_slice()[0].eq("author"))
649 .unwrap() 648 .unwrap()
650 .as_vec(), 649 .as_slice(),
651 vec!["author", "Joe Bloggs", "joe.bloggs@pm.me", "0", "0"], 650 vec!["author", "Joe Bloggs", "joe.bloggs@pm.me", "0", "0"],
652 ); 651 );
653 Ok(()) 652 Ok(())
@@ -661,9 +660,9 @@ mod when_cover_letter_details_specified_with_range_of_head_2_sends_cover_letter_
661 .await? 660 .await?
662 .tags 661 .tags
663 .iter() 662 .iter()
664 .find(|t| t.as_vec()[0].eq("committer")) 663 .find(|t| t.as_slice()[0].eq("committer"))
665 .unwrap() 664 .unwrap()
666 .as_vec(), 665 .as_slice(),
667 vec!["committer", "Joe Bloggs", "joe.bloggs@pm.me", "0", "0"], 666 vec!["committer", "Joe Bloggs", "joe.bloggs@pm.me", "0", "0"],
668 ); 667 );
669 Ok(()) 668 Ok(())
@@ -677,9 +676,9 @@ mod when_cover_letter_details_specified_with_range_of_head_2_sends_cover_letter_
677 .await? 676 .await?
678 .tags 677 .tags
679 .iter() 678 .iter()
680 .find(|t| t.as_vec()[0].eq("alt")) 679 .find(|t| t.as_slice()[0].eq("alt"))
681 .unwrap() 680 .unwrap()
682 .as_vec(), 681 .as_slice(),
683 vec!["alt", "git patch: add t3.md"], 682 vec!["alt", "git patch: add t3.md"],
684 ); 683 );
685 Ok(()) 684 Ok(())
@@ -700,12 +699,14 @@ mod when_cover_letter_details_specified_with_range_of_head_2_sends_cover_letter_
700 .tags 699 .tags
701 .iter() 700 .iter()
702 .find(|t| { 701 .find(|t| {
703 t.as_vec()[0].eq("e") && t.as_vec().len().eq(&4) && t.as_vec()[3].eq("root") 702 t.as_slice()[0].eq("e")
703 && t.as_slice().len().eq(&4)
704 && t.as_slice()[3].eq("root")
704 }) 705 })
705 .unwrap(); 706 .unwrap();
706 707
707 assert_eq!( 708 assert_eq!(
708 root_event_tag.as_vec()[1], 709 root_event_tag.as_slice()[1],
709 cover_letter_event.id.to_string() 710 cover_letter_event.id.to_string()
710 ); 711 );
711 } 712 }
@@ -724,13 +725,13 @@ mod when_cover_letter_details_specified_with_range_of_head_2_sends_cover_letter_
724 .collect::<Vec<&nostr::Event>>(); 725 .collect::<Vec<&nostr::Event>>();
725 assert_eq!( 726 assert_eq!(
726 patch_events[1] 727 patch_events[1]
727 .tags() 728 .tags
728 .iter() 729 .iter()
729 .find(|t| t.as_vec()[0].eq("e") 730 .find(|t| t.as_slice()[0].eq("e")
730 && t.as_vec().len().eq(&4) 731 && t.as_slice().len().eq(&4)
731 && t.as_vec()[3].eq("reply")) 732 && t.as_slice()[3].eq("reply"))
732 .unwrap() 733 .unwrap()
733 .as_vec()[1], 734 .as_slice()[1],
734 patch_events[0].id.to_string(), 735 patch_events[0].id.to_string(),
735 ); 736 );
736 } 737 }
@@ -745,7 +746,7 @@ mod when_cover_letter_details_specified_with_range_of_head_2_sends_cover_letter_
745 .await? 746 .await?
746 .tags 747 .tags
747 .iter() 748 .iter()
748 .any(|t| t.as_vec()[0].eq("t") && t.as_vec()[1].eq("root")) 749 .any(|t| t.as_slice()[0].eq("t") && t.as_slice()[1].eq("root"))
749 ); 750 );
750 Ok(()) 751 Ok(())
751 } 752 }
@@ -1114,16 +1115,16 @@ mod when_no_cover_letter_flag_set_with_range_of_head_2_sends_2_patches_without_c
1114 // first patch tagged as root 1115 // first patch tagged as root
1115 assert!( 1116 assert!(
1116 patch_events[0] 1117 patch_events[0]
1117 .tags() 1118 .tags
1118 .iter() 1119 .iter()
1119 .any(|t| t.as_vec()[0].eq("t") && t.as_vec()[1].eq("root")) 1120 .any(|t| t.as_slice()[0].eq("t") && t.as_slice()[1].eq("root"))
1120 ); 1121 );
1121 // second patch not tagged as root 1122 // second patch not tagged as root
1122 assert!( 1123 assert!(
1123 !patch_events[1] 1124 !patch_events[1]
1124 .tags() 1125 .tags
1125 .iter() 1126 .iter()
1126 .any(|t| t.as_vec()[0].eq("t") && t.as_vec()[1].eq("root")) 1127 .any(|t| t.as_slice()[0].eq("t") && t.as_slice()[1].eq("root"))
1127 ); 1128 );
1128 } 1129 }
1129 Ok(()) 1130 Ok(())
@@ -1143,11 +1144,11 @@ mod when_no_cover_letter_flag_set_with_range_of_head_2_sends_2_patches_without_c
1143 // branch-name tag 1144 // branch-name tag
1144 assert_eq!( 1145 assert_eq!(
1145 patch_events[0] 1146 patch_events[0]
1146 .tags() 1147 .tags
1147 .iter() 1148 .iter()
1148 .find(|t| t.as_vec()[0].eq("branch-name")) 1149 .find(|t| t.as_slice()[0].eq("branch-name"))
1149 .unwrap() 1150 .unwrap()
1150 .as_vec()[1], 1151 .as_slice()[1],
1151 "feature" 1152 "feature"
1152 ); 1153 );
1153 } 1154 }
@@ -1167,13 +1168,13 @@ mod when_no_cover_letter_flag_set_with_range_of_head_2_sends_2_patches_without_c
1167 1168
1168 assert_eq!( 1169 assert_eq!(
1169 patch_events[1] 1170 patch_events[1]
1170 .tags() 1171 .tags
1171 .iter() 1172 .iter()
1172 .find(|t| t.as_vec()[0].eq("e") 1173 .find(|t| t.as_slice()[0].eq("e")
1173 && t.as_vec().len().eq(&4) 1174 && t.as_slice().len().eq(&4)
1174 && t.as_vec()[3].eq("root")) 1175 && t.as_slice()[3].eq("root"))
1175 .unwrap() 1176 .unwrap()
1176 .as_vec()[1], 1177 .as_slice()[1],
1177 patch_events[0].id.to_string(), 1178 patch_events[0].id.to_string(),
1178 ); 1179 );
1179 } 1180 }
@@ -1572,9 +1573,9 @@ mod root_proposal_specified_using_in_reply_to_with_range_of_head_2_and_cover_let
1572 relay.events.iter().find(|e| is_cover_letter(e)).unwrap(); 1573 relay.events.iter().find(|e| is_cover_letter(e)).unwrap();
1573 assert!( 1574 assert!(
1574 cover_letter_event 1575 cover_letter_event
1575 .tags() 1576 .tags
1576 .iter() 1577 .iter()
1577 .any(|t| { t.as_vec()[0].eq("t") && t.as_vec()[1].eq(&"root") }) 1578 .any(|t| { t.as_slice()[0].eq("t") && t.as_slice()[1].eq(&"root") })
1578 ); 1579 );
1579 } 1580 }
1580 Ok(()) 1581 Ok(())
@@ -1588,10 +1589,9 @@ mod root_proposal_specified_using_in_reply_to_with_range_of_head_2_and_cover_let
1588 let cover_letter_event: &nostr::Event = 1589 let cover_letter_event: &nostr::Event =
1589 relay.events.iter().find(|e| is_cover_letter(e)).unwrap(); 1590 relay.events.iter().find(|e| is_cover_letter(e)).unwrap();
1590 assert!( 1591 assert!(
1591 cover_letter_event 1592 cover_letter_event.tags.iter().any(|t| {
1592 .tags() 1593 t.as_slice()[0].eq("t") && t.as_slice()[1].eq(&"revision-root")
1593 .iter() 1594 })
1594 .any(|t| { t.as_vec()[0].eq("t") && t.as_vec()[1].eq(&"revision-root") })
1595 ); 1595 );
1596 } 1596 }
1597 Ok(()) 1597 Ok(())
@@ -1606,15 +1606,15 @@ mod root_proposal_specified_using_in_reply_to_with_range_of_head_2_and_cover_let
1606 relay.events.iter().find(|e| is_cover_letter(e)).unwrap(); 1606 relay.events.iter().find(|e| is_cover_letter(e)).unwrap();
1607 assert_eq!( 1607 assert_eq!(
1608 cover_letter_event 1608 cover_letter_event
1609 .tags() 1609 .tags
1610 .iter() 1610 .iter()
1611 .find(|t| { 1611 .find(|t| {
1612 t.as_vec()[0].eq("e") 1612 t.as_slice()[0].eq("e")
1613 && t.as_vec().len().eq(&4) 1613 && t.as_slice().len().eq(&4)
1614 && t.as_vec()[3].eq("reply") 1614 && t.as_slice()[3].eq("reply")
1615 }) 1615 })
1616 .unwrap() 1616 .unwrap()
1617 .as_vec()[1], 1617 .as_slice()[1],
1618 // id of state nevent 1618 // id of state nevent
1619 "431e58eb8e1b4e20292d1d5bbe81d5cfb042e1bc165de32eddfdd52245a4cce4", 1619 "431e58eb8e1b4e20292d1d5bbe81d5cfb042e1bc165de32eddfdd52245a4cce4",
1620 ); 1620 );
@@ -1639,12 +1639,12 @@ mod root_proposal_specified_using_in_reply_to_with_range_of_head_2_and_cover_let
1639 .tags 1639 .tags
1640 .iter() 1640 .iter()
1641 .find(|t| { 1641 .find(|t| {
1642 t.as_vec()[0].eq("e") 1642 t.as_slice()[0].eq("e")
1643 && t.as_vec().len().eq(&4) 1643 && t.as_slice().len().eq(&4)
1644 && t.as_vec()[3].eq("root") 1644 && t.as_slice()[3].eq("root")
1645 }) 1645 })
1646 .unwrap() 1646 .unwrap()
1647 .as_vec()[1], 1647 .as_slice()[1],
1648 cover_letter_event.id.to_string() 1648 cover_letter_event.id.to_string()
1649 ); 1649 );
1650 } 1650 }
@@ -1754,10 +1754,10 @@ mod in_reply_to_mentions_issue {
1754 for relay in [&r53, &r55, &r56] { 1754 for relay in [&r53, &r55, &r56] {
1755 let cover_letter_event: &nostr::Event = 1755 let cover_letter_event: &nostr::Event =
1756 relay.events.iter().find(|e| is_cover_letter(e)).unwrap(); 1756 relay.events.iter().find(|e| is_cover_letter(e)).unwrap();
1757 assert!(cover_letter_event.tags().iter().any(|t| { 1757 assert!(cover_letter_event.tags.iter().any(|t| {
1758 t.as_vec()[0].eq("e") 1758 t.as_slice()[0].eq("e")
1759 && t.as_vec()[1].eq(&get_pretend_issue_event().id.to_hex()) 1759 && t.as_slice()[1].eq(&get_pretend_issue_event().id.to_hex())
1760 && t.as_vec()[3].eq(&"mention") 1760 && t.as_slice()[3].eq(&"mention")
1761 })); 1761 }));
1762 } 1762 }
1763 Ok(()) 1763 Ok(())
@@ -1772,9 +1772,9 @@ mod in_reply_to_mentions_issue {
1772 relay.events.iter().find(|e| is_cover_letter(e)).unwrap(); 1772 relay.events.iter().find(|e| is_cover_letter(e)).unwrap();
1773 assert!( 1773 assert!(
1774 !cover_letter_event 1774 !cover_letter_event
1775 .tags() 1775 .tags
1776 .iter() 1776 .iter()
1777 .any(|t| { t.as_vec()[0].eq("t") && t.as_vec()[1].eq(&"revision-root") }) 1777 .any(|t| { t.as_slice()[0].eq("t") && t.as_slice()[1].eq(&"revision-root") })
1778 ); 1778 );
1779 } 1779 }
1780 Ok(()) 1780 Ok(())
@@ -1877,18 +1877,18 @@ mod in_reply_to_mentions_npub_and_nprofile_which_get_mentioned_in_proposal_root
1877 for relay in [&r53, &r55, &r56] { 1877 for relay in [&r53, &r55, &r56] {
1878 let cover_letter_event: &nostr::Event = 1878 let cover_letter_event: &nostr::Event =
1879 relay.events.iter().find(|e| is_cover_letter(e)).unwrap(); 1879 relay.events.iter().find(|e| is_cover_letter(e)).unwrap();
1880 assert!(cover_letter_event.tags().iter().any(|t| { 1880 assert!(cover_letter_event.tags.iter().any(|t| {
1881 t.as_vec()[0].eq("p") 1881 t.as_slice()[0].eq("p")
1882 && t.as_vec()[1].eq(&nostr::Keys::parse( 1882 && t.as_slice()[1].eq(&nostr::Keys::parse(
1883 "nsec1q3c5xnsm5m4wgsrhwnz04p0d5mevkryyggqgdpa9jwulpq9gldhswgtxvq", 1883 "nsec1q3c5xnsm5m4wgsrhwnz04p0d5mevkryyggqgdpa9jwulpq9gldhswgtxvq",
1884 ) 1884 )
1885 .unwrap() 1885 .unwrap()
1886 .public_key() 1886 .public_key()
1887 .to_hex()) 1887 .to_hex())
1888 })); 1888 }));
1889 assert!(cover_letter_event.tags().iter().any(|t| { 1889 assert!(cover_letter_event.tags.iter().any(|t| {
1890 t.as_vec()[0].eq("p") 1890 t.as_slice()[0].eq("p")
1891 && t.as_vec()[1].eq(&nostr::Keys::parse( 1891 && t.as_slice()[1].eq(&nostr::Keys::parse(
1892 "nsec1nx5ulvcndhcuu8k6q8fenw50l6y75sec7pj8vr0r68l6a44w3lqspvj02k", 1892 "nsec1nx5ulvcndhcuu8k6q8fenw50l6y75sec7pj8vr0r68l6a44w3lqspvj02k",
1893 ) 1893 )
1894 .unwrap() 1894 .unwrap()