diff options
| author | DanConwayDev <DanConwayDev@protonmail.com> | 2024-09-25 14:37:17 +0100 |
|---|---|---|
| committer | DanConwayDev <DanConwayDev@protonmail.com> | 2024-09-25 14:37:17 +0100 |
| commit | d6faad17e814d252a72e3aca39a4b3898382bab9 (patch) | |
| tree | 16a238703293fe0d9cce04fa83de2af4a88f5433 /src/lib/repo_ref.rs | |
| parent | 4f84dc460c3494286233afe9ca480d3b7c0186b1 (diff) | |
chore: bump rust-nostr v0.35
bump all rust-nostr packages
Diffstat (limited to 'src/lib/repo_ref.rs')
| -rw-r--r-- | src/lib/repo_ref.rs | 103 |
1 files changed, 61 insertions, 42 deletions
diff --git a/src/lib/repo_ref.rs b/src/lib/repo_ref.rs index e498c86..2468d4d 100644 --- a/src/lib/repo_ref.rs +++ b/src/lib/repo_ref.rs | |||
| @@ -42,42 +42,50 @@ impl TryFrom<nostr::Event> for RepoRef { | |||
| 42 | } | 42 | } |
| 43 | let mut r = Self::default(); | 43 | let mut r = Self::default(); |
| 44 | 44 | ||
| 45 | if let Some(t) = event.tags.iter().find(|t| t.as_vec()[0].eq("d")) { | 45 | if let Some(t) = event.tags.iter().find(|t| t.as_slice()[0].eq("d")) { |
| 46 | r.identifier = t.as_vec()[1].clone(); | 46 | r.identifier = t.as_slice()[1].clone(); |
| 47 | } | 47 | } |
| 48 | 48 | ||
| 49 | if let Some(t) = event.tags.iter().find(|t| t.as_vec()[0].eq("name")) { | 49 | if let Some(t) = event.tags.iter().find(|t| t.as_slice()[0].eq("name")) { |
| 50 | r.name = t.as_vec()[1].clone(); | 50 | r.name = t.as_slice()[1].clone(); |
| 51 | } | 51 | } |
| 52 | 52 | ||
| 53 | if let Some(t) = event.tags.iter().find(|t| t.as_vec()[0].eq("description")) { | 53 | if let Some(t) = event |
| 54 | r.description = t.as_vec()[1].clone(); | 54 | .tags |
| 55 | .iter() | ||
| 56 | .find(|t| t.as_slice()[0].eq("description")) | ||
| 57 | { | ||
| 58 | r.description = t.as_slice()[1].clone(); | ||
| 55 | } | 59 | } |
| 56 | 60 | ||
| 57 | if let Some(t) = event.tags.iter().find(|t| t.as_vec()[0].eq("clone")) { | 61 | if let Some(t) = event.tags.iter().find(|t| t.as_slice()[0].eq("clone")) { |
| 58 | r.git_server = t.clone().to_vec(); | 62 | r.git_server = t.clone().to_vec(); |
| 59 | r.git_server.remove(0); | 63 | r.git_server.remove(0); |
| 60 | } | 64 | } |
| 61 | 65 | ||
| 62 | if let Some(t) = event.tags.iter().find(|t| t.as_vec()[0].eq("web")) { | 66 | if let Some(t) = event.tags.iter().find(|t| t.as_slice()[0].eq("web")) { |
| 63 | r.web = t.clone().to_vec(); | 67 | r.web = t.clone().to_vec(); |
| 64 | r.web.remove(0); | 68 | r.web.remove(0); |
| 65 | } | 69 | } |
| 66 | 70 | ||
| 67 | if let Some(t) = event.tags.iter().find(|t| { | 71 | if let Some(t) = event.tags.iter().find(|t| { |
| 68 | t.as_vec()[0].eq("r") | 72 | t.as_slice()[0].eq("r") |
| 69 | && t.as_vec()[1].len().eq(&40) | 73 | && t.as_slice()[1].len().eq(&40) |
| 70 | && git2::Oid::from_str(t.as_vec()[1].as_str()).is_ok() | 74 | && git2::Oid::from_str(t.as_slice()[1].as_str()).is_ok() |
| 71 | }) { | 75 | }) { |
| 72 | r.root_commit = t.as_vec()[1].clone(); | 76 | r.root_commit = t.as_slice()[1].clone(); |
| 73 | } | 77 | } |
| 74 | 78 | ||
| 75 | if let Some(t) = event.tags.iter().find(|t| t.as_vec()[0].eq("relays")) { | 79 | if let Some(t) = event.tags.iter().find(|t| t.as_slice()[0].eq("relays")) { |
| 76 | r.relays = t.clone().to_vec(); | 80 | r.relays = t.clone().to_vec(); |
| 77 | r.relays.remove(0); | 81 | r.relays.remove(0); |
| 78 | } | 82 | } |
| 79 | 83 | ||
| 80 | if let Some(t) = event.tags.iter().find(|t| t.as_vec()[0].eq("maintainers")) { | 84 | if let Some(t) = event |
| 85 | .tags | ||
| 86 | .iter() | ||
| 87 | .find(|t| t.as_slice()[0].eq("maintainers")) | ||
| 88 | { | ||
| 81 | let mut maintainers = t.clone().to_vec(); | 89 | let mut maintainers = t.clone().to_vec(); |
| 82 | maintainers.remove(0); | 90 | maintainers.remove(0); |
| 83 | if !maintainers.contains(&event.pubkey.to_string()) { | 91 | if !maintainers.contains(&event.pubkey.to_string()) { |
| @@ -98,7 +106,7 @@ impl TryFrom<nostr::Event> for RepoRef { | |||
| 98 | Coordinate { | 106 | Coordinate { |
| 99 | kind: event.kind, | 107 | kind: event.kind, |
| 100 | identifier: event.identifier().unwrap().to_string(), | 108 | identifier: event.identifier().unwrap().to_string(), |
| 101 | public_key: event.author(), | 109 | public_key: event.pubkey, |
| 102 | relays: vec![], | 110 | relays: vec![], |
| 103 | }, | 111 | }, |
| 104 | event, | 112 | event, |
| @@ -606,7 +614,7 @@ mod tests { | |||
| 606 | .await | 614 | .await |
| 607 | .tags | 615 | .tags |
| 608 | .iter() | 616 | .iter() |
| 609 | .any(|t| t.as_vec()[0].eq("d") && t.as_vec()[1].eq("123412341")) | 617 | .any(|t| t.as_slice()[0].eq("d") && t.as_slice()[1].eq("123412341")) |
| 610 | ) | 618 | ) |
| 611 | } | 619 | } |
| 612 | 620 | ||
| @@ -617,36 +625,44 @@ mod tests { | |||
| 617 | .await | 625 | .await |
| 618 | .tags | 626 | .tags |
| 619 | .iter() | 627 | .iter() |
| 620 | .any(|t| t.as_vec()[0].eq("name") && t.as_vec()[1].eq("test name")) | 628 | .any(|t| t.as_slice()[0].eq("name") && t.as_slice()[1].eq("test name")) |
| 621 | ) | 629 | ) |
| 622 | } | 630 | } |
| 623 | 631 | ||
| 624 | #[tokio::test] | 632 | #[tokio::test] |
| 625 | async fn alt() { | 633 | async fn alt() { |
| 626 | assert!( | 634 | assert!(create().await.tags.iter().any(|t| t.as_slice()[0].eq("alt") |
| 627 | create().await.tags.iter().any(|t| t.as_vec()[0].eq("alt") | 635 | && t.as_slice()[1].eq("git repository: test name"))) |
| 628 | && t.as_vec()[1].eq("git repository: test name")) | ||
| 629 | ) | ||
| 630 | } | 636 | } |
| 631 | 637 | ||
| 632 | #[tokio::test] | 638 | #[tokio::test] |
| 633 | async fn description() { | 639 | async fn description() { |
| 634 | assert!(create().await.tags.iter().any( | 640 | assert!( |
| 635 | |t| t.as_vec()[0].eq("description") && t.as_vec()[1].eq("test description") | 641 | create() |
| 636 | )) | 642 | .await |
| 643 | .tags | ||
| 644 | .iter() | ||
| 645 | .any(|t| t.as_slice()[0].eq("description") | ||
| 646 | && t.as_slice()[1].eq("test description")) | ||
| 647 | ) | ||
| 637 | } | 648 | } |
| 638 | 649 | ||
| 639 | #[tokio::test] | 650 | #[tokio::test] |
| 640 | async fn root_commit_as_reference() { | 651 | async fn root_commit_as_reference() { |
| 641 | assert!(create().await.tags.iter().any(|t| t.as_vec()[0].eq("r") | 652 | assert!(create().await.tags.iter().any(|t| t.as_slice()[0].eq("r") |
| 642 | && t.as_vec()[1].eq("5e664e5a7845cd1373c79f580ca4fe29ab5b34d2"))) | 653 | && t.as_slice()[1].eq("5e664e5a7845cd1373c79f580ca4fe29ab5b34d2"))) |
| 643 | } | 654 | } |
| 644 | 655 | ||
| 645 | #[tokio::test] | 656 | #[tokio::test] |
| 646 | async fn git_server() { | 657 | async fn git_server() { |
| 647 | assert!(create().await.tags.iter().any( | 658 | assert!( |
| 648 | |t| t.as_vec()[0].eq("clone") && t.as_vec()[1].eq("https://localhost:1000") | 659 | create() |
| 649 | )) | 660 | .await |
| 661 | .tags | ||
| 662 | .iter() | ||
| 663 | .any(|t| t.as_slice()[0].eq("clone") | ||
| 664 | && t.as_slice()[1].eq("https://localhost:1000")) | ||
| 665 | ) | ||
| 650 | } | 666 | } |
| 651 | 667 | ||
| 652 | #[tokio::test] | 668 | #[tokio::test] |
| @@ -655,21 +671,24 @@ mod tests { | |||
| 655 | let relays_tag: &nostr::Tag = event | 671 | let relays_tag: &nostr::Tag = event |
| 656 | .tags | 672 | .tags |
| 657 | .iter() | 673 | .iter() |
| 658 | .find(|t| t.as_vec()[0].eq("relays")) | 674 | .find(|t| t.as_slice()[0].eq("relays")) |
| 659 | .unwrap(); | 675 | .unwrap(); |
| 660 | assert_eq!(relays_tag.as_vec().len(), 3); | 676 | assert_eq!(relays_tag.as_slice().len(), 3); |
| 661 | assert_eq!(relays_tag.as_vec()[1], "ws://relay1.io"); | 677 | assert_eq!(relays_tag.as_slice()[1], "ws://relay1.io"); |
| 662 | assert_eq!(relays_tag.as_vec()[2], "ws://relay2.io"); | 678 | assert_eq!(relays_tag.as_slice()[2], "ws://relay2.io"); |
| 663 | } | 679 | } |
| 664 | 680 | ||
| 665 | #[tokio::test] | 681 | #[tokio::test] |
| 666 | async fn web() { | 682 | async fn web() { |
| 667 | let event = create().await; | 683 | let event = create().await; |
| 668 | let web_tag: &nostr::Tag = | 684 | let web_tag: &nostr::Tag = event |
| 669 | event.tags.iter().find(|t| t.as_vec()[0].eq("web")).unwrap(); | 685 | .tags |
| 670 | assert_eq!(web_tag.as_vec().len(), 3); | 686 | .iter() |
| 671 | assert_eq!(web_tag.as_vec()[1], "https://exampleproject.xyz"); | 687 | .find(|t| t.as_slice()[0].eq("web")) |
| 672 | assert_eq!(web_tag.as_vec()[2], "https://gitworkshop.dev/123"); | 688 | .unwrap(); |
| 689 | assert_eq!(web_tag.as_slice().len(), 3); | ||
| 690 | assert_eq!(web_tag.as_slice()[1], "https://exampleproject.xyz"); | ||
| 691 | assert_eq!(web_tag.as_slice()[2], "https://gitworkshop.dev/123"); | ||
| 673 | } | 692 | } |
| 674 | 693 | ||
| 675 | #[tokio::test] | 694 | #[tokio::test] |
| @@ -678,15 +697,15 @@ mod tests { | |||
| 678 | let maintainers_tag: &nostr::Tag = event | 697 | let maintainers_tag: &nostr::Tag = event |
| 679 | .tags | 698 | .tags |
| 680 | .iter() | 699 | .iter() |
| 681 | .find(|t| t.as_vec()[0].eq("maintainers")) | 700 | .find(|t| t.as_slice()[0].eq("maintainers")) |
| 682 | .unwrap(); | 701 | .unwrap(); |
| 683 | assert_eq!(maintainers_tag.as_vec().len(), 3); | 702 | assert_eq!(maintainers_tag.as_slice().len(), 3); |
| 684 | assert_eq!( | 703 | assert_eq!( |
| 685 | maintainers_tag.as_vec()[1], | 704 | maintainers_tag.as_slice()[1], |
| 686 | TEST_KEY_1_KEYS.public_key().to_string() | 705 | TEST_KEY_1_KEYS.public_key().to_string() |
| 687 | ); | 706 | ); |
| 688 | assert_eq!( | 707 | assert_eq!( |
| 689 | maintainers_tag.as_vec()[2], | 708 | maintainers_tag.as_slice()[2], |
| 690 | TEST_KEY_2_KEYS.public_key().to_string() | 709 | TEST_KEY_2_KEYS.public_key().to_string() |
| 691 | ); | 710 | ); |
| 692 | } | 711 | } |