upleb.uk

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

summaryrefslogtreecommitdiff
path: root/tests/prs_create.rs
diff options
context:
space:
mode:
authorjk <email@jkrause.io>2024-01-31 15:13:52 +0100
committerDanConwayDev <DanConwayDev@protonmail.com>2024-02-02 07:21:01 +0000
commitab1450c655f7fdfc214e1556d16fc754ca684613 (patch)
tree9ded305354a272d411059493e9475a3e39ff5cae /tests/prs_create.rs
parentccdbc337ae16d7c70be44166269c8b2d5b9f5c09 (diff)
test: replace block_on with tokio::tests
This is intended to improve the reliabilty of the tests. there have been particular issues with random tests never ending when run in the nix configuration see discussion here https://github.com/DanConwayDev/ngit-cli/issues/ 6#issuecomment-1918971239 and: https://github.com/DanConwayDev/ngit-cli/pull/7
Diffstat (limited to 'tests/prs_create.rs')
-rw-r--r--tests/prs_create.rs127
1 files changed, 65 insertions, 62 deletions
diff --git a/tests/prs_create.rs b/tests/prs_create.rs
index ca92ac2..4f71e5a 100644
--- a/tests/prs_create.rs
+++ b/tests/prs_create.rs
@@ -252,10 +252,10 @@ mod sends_pr_and_2_patches_to_3_relays {
252 Ok((r51, r52, r53, r55, r56)) 252 Ok((r51, r52, r53, r55, r56))
253 } 253 }
254 254
255 #[test] 255 #[tokio::test]
256 #[serial] 256 #[serial]
257 fn only_1_pr_kind_event_sent_to_each_relay() -> Result<()> { 257 async fn only_1_pr_kind_event_sent_to_each_relay() -> Result<()> {
258 let (_, _, r53, r55, r56) = futures::executor::block_on(prep_run_create_pr())?; 258 let (_, _, r53, r55, r56) = prep_run_create_pr().await?;
259 for relay in [&r53, &r55, &r56] { 259 for relay in [&r53, &r55, &r56] {
260 assert_eq!( 260 assert_eq!(
261 relay 261 relay
@@ -269,10 +269,10 @@ mod sends_pr_and_2_patches_to_3_relays {
269 Ok(()) 269 Ok(())
270 } 270 }
271 271
272 #[test] 272 #[tokio::test]
273 #[serial] 273 #[serial]
274 fn only_1_pr_kind_event_sent_to_user_relays() -> Result<()> { 274 async fn only_1_pr_kind_event_sent_to_user_relays() -> Result<()> {
275 let (_, _, r53, r55, _) = futures::executor::block_on(prep_run_create_pr())?; 275 let (_, _, r53, r55, _) = prep_run_create_pr().await?;
276 for relay in [&r53, &r55] { 276 for relay in [&r53, &r55] {
277 assert_eq!( 277 assert_eq!(
278 relay 278 relay
@@ -286,10 +286,10 @@ mod sends_pr_and_2_patches_to_3_relays {
286 Ok(()) 286 Ok(())
287 } 287 }
288 288
289 #[test] 289 #[tokio::test]
290 #[serial] 290 #[serial]
291 fn only_1_pr_kind_event_sent_to_repo_relays() -> Result<()> { 291 async fn only_1_pr_kind_event_sent_to_repo_relays() -> Result<()> {
292 let (_, _, _, r55, r56) = futures::executor::block_on(prep_run_create_pr())?; 292 let (_, _, _, r55, r56) = prep_run_create_pr().await?;
293 for relay in [&r55, &r56] { 293 for relay in [&r55, &r56] {
294 assert_eq!( 294 assert_eq!(
295 relay 295 relay
@@ -303,10 +303,10 @@ mod sends_pr_and_2_patches_to_3_relays {
303 Ok(()) 303 Ok(())
304 } 304 }
305 305
306 #[test] 306 #[tokio::test]
307 #[serial] 307 #[serial]
308 fn pr_not_sent_to_fallback_relay() -> Result<()> { 308 async fn pr_not_sent_to_fallback_relay() -> Result<()> {
309 let (r51, r52, _, _, _) = futures::executor::block_on(prep_run_create_pr())?; 309 let (r51, r52, _, _, _) = prep_run_create_pr().await?;
310 for relay in [&r51, &r52] { 310 for relay in [&r51, &r52] {
311 assert_eq!( 311 assert_eq!(
312 relay 312 relay
@@ -320,10 +320,10 @@ mod sends_pr_and_2_patches_to_3_relays {
320 Ok(()) 320 Ok(())
321 } 321 }
322 322
323 #[test] 323 #[tokio::test]
324 #[serial] 324 #[serial]
325 fn only_2_patch_kind_events_sent_to_each_relay() -> Result<()> { 325 async fn only_2_patch_kind_events_sent_to_each_relay() -> Result<()> {
326 let (_, _, r53, r55, r56) = futures::executor::block_on(prep_run_create_pr())?; 326 let (_, _, r53, r55, r56) = prep_run_create_pr().await?;
327 for relay in [&r53, &r55, &r56] { 327 for relay in [&r53, &r55, &r56] {
328 assert_eq!( 328 assert_eq!(
329 relay 329 relay
@@ -337,10 +337,10 @@ mod sends_pr_and_2_patches_to_3_relays {
337 Ok(()) 337 Ok(())
338 } 338 }
339 339
340 #[test] 340 #[tokio::test]
341 #[serial] 341 #[serial]
342 fn patch_content_contains_patch_in_email_format() -> Result<()> { 342 async fn patch_content_contains_patch_in_email_format() -> Result<()> {
343 let (_, _, r53, r55, r56) = futures::executor::block_on(prep_run_create_pr())?; 343 let (_, _, r53, r55, r56) = prep_run_create_pr().await?;
344 for relay in [&r53, &r55, &r56] { 344 for relay in [&r53, &r55, &r56] {
345 let patch_events: Vec<&nostr::Event> = relay 345 let patch_events: Vec<&nostr::Event> = relay
346 .events 346 .events
@@ -407,10 +407,10 @@ mod sends_pr_and_2_patches_to_3_relays {
407 mod pr_tags { 407 mod pr_tags {
408 use super::*; 408 use super::*;
409 409
410 #[test] 410 #[tokio::test]
411 #[serial] 411 #[serial]
412 fn pr_tags_repo_commit() -> Result<()> { 412 async fn pr_tags_repo_commit() -> Result<()> {
413 let (_, _, r53, r55, r56) = futures::executor::block_on(prep_run_create_pr())?; 413 let (_, _, r53, r55, r56) = prep_run_create_pr().await?;
414 let root_commit = GitTestRepo::default().initial_commit()?; 414 let root_commit = GitTestRepo::default().initial_commit()?;
415 415
416 for relay in [&r53, &r55, &r56] { 416 for relay in [&r53, &r55, &r56] {
@@ -429,10 +429,10 @@ mod sends_pr_and_2_patches_to_3_relays {
429 Ok(()) 429 Ok(())
430 } 430 }
431 431
432 #[test] 432 #[tokio::test]
433 #[serial] 433 #[serial]
434 fn pr_tags_title_as_name() -> Result<()> { 434 async fn pr_tags_title_as_name() -> Result<()> {
435 let (_, _, r53, r55, r56) = futures::executor::block_on(prep_run_create_pr())?; 435 let (_, _, r53, r55, r56) = prep_run_create_pr().await?;
436 for relay in [&r53, &r55, &r56] { 436 for relay in [&r53, &r55, &r56] {
437 let pr_event: &nostr::Event = relay 437 let pr_event: &nostr::Event = relay
438 .events 438 .events
@@ -453,10 +453,10 @@ mod sends_pr_and_2_patches_to_3_relays {
453 Ok(()) 453 Ok(())
454 } 454 }
455 455
456 #[test] 456 #[tokio::test]
457 #[serial] 457 #[serial]
458 fn pr_tags_description() -> Result<()> { 458 async fn pr_tags_description() -> Result<()> {
459 let (_, _, r53, r55, r56) = futures::executor::block_on(prep_run_create_pr())?; 459 let (_, _, r53, r55, r56) = prep_run_create_pr().await?;
460 for relay in [&r53, &r55, &r56] { 460 for relay in [&r53, &r55, &r56] {
461 let pr_event: &nostr::Event = relay 461 let pr_event: &nostr::Event = relay
462 .events 462 .events
@@ -477,10 +477,10 @@ mod sends_pr_and_2_patches_to_3_relays {
477 Ok(()) 477 Ok(())
478 } 478 }
479 479
480 #[test] 480 #[tokio::test]
481 #[serial] 481 #[serial]
482 fn pr_tags_branch_name() -> Result<()> { 482 async fn pr_tags_branch_name() -> Result<()> {
483 let (_, _, r53, r55, r56) = futures::executor::block_on(prep_run_create_pr())?; 483 let (_, _, r53, r55, r56) = prep_run_create_pr().await?;
484 for relay in [&r53, &r55, &r56] { 484 for relay in [&r53, &r55, &r56] {
485 let pr_event: &nostr::Event = relay 485 let pr_event: &nostr::Event = relay
486 .events 486 .events
@@ -506,8 +506,8 @@ mod sends_pr_and_2_patches_to_3_relays {
506 mod patch_tags { 506 mod patch_tags {
507 use super::*; 507 use super::*;
508 508
509 fn prep() -> Result<nostr::Event> { 509 async fn prep() -> Result<nostr::Event> {
510 let (_, _, r53, _, _) = futures::executor::block_on(prep_run_create_pr())?; 510 let (_, _, r53, _, _) = prep_run_create_pr().await?;
511 Ok(r53 511 Ok(r53
512 .events 512 .events
513 .iter() 513 .iter()
@@ -516,11 +516,11 @@ mod sends_pr_and_2_patches_to_3_relays {
516 .clone()) 516 .clone())
517 } 517 }
518 518
519 #[test] 519 #[tokio::test]
520 #[serial] 520 #[serial]
521 fn commit_and_commit_r() -> Result<()> { 521 async fn commit_and_commit_r() -> Result<()> {
522 static COMMIT_ID: &str = "fe973a840fba2a8ab37dd505c154854a69a6505c"; 522 static COMMIT_ID: &str = "fe973a840fba2a8ab37dd505c154854a69a6505c";
523 let most_recent_patch = prep()?; 523 let most_recent_patch = prep().await?;
524 assert!( 524 assert!(
525 most_recent_patch 525 most_recent_patch
526 .tags 526 .tags
@@ -536,12 +536,12 @@ mod sends_pr_and_2_patches_to_3_relays {
536 Ok(()) 536 Ok(())
537 } 537 }
538 538
539 #[test] 539 #[tokio::test]
540 #[serial] 540 #[serial]
541 fn parent_commit() -> Result<()> { 541 async fn parent_commit() -> Result<()> {
542 // commit parent 'r' and 'parent-commit' tag 542 // commit parent 'r' and 'parent-commit' tag
543 static COMMIT_PARENT_ID: &str = "232efb37ebc67692c9e9ff58b83c0d3d63971a0a"; 543 static COMMIT_PARENT_ID: &str = "232efb37ebc67692c9e9ff58b83c0d3d63971a0a";
544 let most_recent_patch = prep()?; 544 let most_recent_patch = prep().await?;
545 assert!( 545 assert!(
546 most_recent_patch.tags.iter().any( 546 most_recent_patch.tags.iter().any(
547 |t| t.as_vec()[0].eq("parent-commit") && t.as_vec()[1].eq(COMMIT_PARENT_ID) 547 |t| t.as_vec()[0].eq("parent-commit") && t.as_vec()[1].eq(COMMIT_PARENT_ID)
@@ -550,19 +550,20 @@ mod sends_pr_and_2_patches_to_3_relays {
550 Ok(()) 550 Ok(())
551 } 551 }
552 552
553 #[test] 553 #[tokio::test]
554 #[serial] 554 #[serial]
555 fn root_commit_as_r() -> Result<()> { 555 async fn root_commit_as_r() -> Result<()> {
556 assert!(prep()?.tags.iter().any(|t| t.as_vec()[0].eq("r") 556 assert!(prep().await?.tags.iter().any(|t| t.as_vec()[0].eq("r")
557 && t.as_vec()[1].eq("9ee507fc4357d7ee16a5d8901bedcd103f23c17d"))); 557 && t.as_vec()[1].eq("9ee507fc4357d7ee16a5d8901bedcd103f23c17d")));
558 Ok(()) 558 Ok(())
559 } 559 }
560 560
561 #[test] 561 #[tokio::test]
562 #[serial] 562 #[serial]
563 fn description_with_commit_message() -> Result<()> { 563 async fn description_with_commit_message() -> Result<()> {
564 assert_eq!( 564 assert_eq!(
565 prep()? 565 prep()
566 .await?
566 .tags 567 .tags
567 .iter() 568 .iter()
568 .find(|t| t.as_vec()[0].eq("description")) 569 .find(|t| t.as_vec()[0].eq("description"))
@@ -573,11 +574,12 @@ mod sends_pr_and_2_patches_to_3_relays {
573 Ok(()) 574 Ok(())
574 } 575 }
575 576
576 #[test] 577 #[tokio::test]
577 #[serial] 578 #[serial]
578 fn commit_author() -> Result<()> { 579 async fn commit_author() -> Result<()> {
579 assert_eq!( 580 assert_eq!(
580 prep()? 581 prep()
582 .await?
581 .tags 583 .tags
582 .iter() 584 .iter()
583 .find(|t| t.as_vec()[0].eq("author")) 585 .find(|t| t.as_vec()[0].eq("author"))
@@ -588,11 +590,12 @@ mod sends_pr_and_2_patches_to_3_relays {
588 Ok(()) 590 Ok(())
589 } 591 }
590 592
591 #[test] 593 #[tokio::test]
592 #[serial] 594 #[serial]
593 fn commit_committer() -> Result<()> { 595 async fn commit_committer() -> Result<()> {
594 assert_eq!( 596 assert_eq!(
595 prep()? 597 prep()
598 .await?
596 .tags 599 .tags
597 .iter() 600 .iter()
598 .find(|t| t.as_vec()[0].eq("committer")) 601 .find(|t| t.as_vec()[0].eq("committer"))
@@ -603,10 +606,10 @@ mod sends_pr_and_2_patches_to_3_relays {
603 Ok(()) 606 Ok(())
604 } 607 }
605 608
606 #[test] 609 #[tokio::test]
607 #[serial] 610 #[serial]
608 fn patch_tags_pr_event_as_root() -> Result<()> { 611 async fn patch_tags_pr_event_as_root() -> Result<()> {
609 let (_, _, r53, r55, r56) = futures::executor::block_on(prep_run_create_pr())?; 612 let (_, _, r53, r55, r56) = prep_run_create_pr().await?;
610 for relay in [&r53, &r55, &r56] { 613 for relay in [&r53, &r55, &r56] {
611 let patch_events: Vec<&nostr::Event> = relay 614 let patch_events: Vec<&nostr::Event> = relay
612 .events 615 .events
@@ -705,10 +708,10 @@ mod sends_pr_and_2_patches_to_3_relays {
705 Ok(()) 708 Ok(())
706 } 709 }
707 710
708 #[test] 711 #[tokio::test]
709 #[serial] 712 #[serial]
710 fn check_cli_output() -> Result<()> { 713 async fn check_cli_output() -> Result<()> {
711 futures::executor::block_on(run_test_async())?; 714 run_test_async().await?;
712 Ok(()) 715 Ok(())
713 } 716 }
714 } 717 }
@@ -787,10 +790,10 @@ mod sends_pr_and_2_patches_to_3_relays {
787 Ok(()) 790 Ok(())
788 } 791 }
789 792
790 #[test] 793 #[tokio::test]
791 #[serial] 794 #[serial]
792 fn only_first_rejected_event_sent_to_relay() -> Result<()> { 795 async fn only_first_rejected_event_sent_to_relay() -> Result<()> {
793 futures::executor::block_on(run_test_async())?; 796 run_test_async().await?;
794 Ok(()) 797 Ok(())
795 } 798 }
796 } 799 }
@@ -879,10 +882,10 @@ mod sends_pr_and_2_patches_to_3_relays {
879 Ok((r51, r52, r53)) 882 Ok((r51, r52, r53))
880 } 883 }
881 884
882 #[test] 885 #[tokio::test]
883 #[serial] 886 #[serial]
884 fn cli_show_rejection_with_comment() -> Result<()> { 887 async fn cli_show_rejection_with_comment() -> Result<()> {
885 futures::executor::block_on(run_test_async())?; 888 run_test_async().await?;
886 Ok(()) 889 Ok(())
887 } 890 }
888 } 891 }