upleb.uk

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

summaryrefslogtreecommitdiff
path: root/grasp-audit/src/client.rs
diff options
context:
space:
mode:
Diffstat (limited to 'grasp-audit/src/client.rs')
-rw-r--r--grasp-audit/src/client.rs23
1 files changed, 15 insertions, 8 deletions
diff --git a/grasp-audit/src/client.rs b/grasp-audit/src/client.rs
index ed76a34..e4e9f07 100644
--- a/grasp-audit/src/client.rs
+++ b/grasp-audit/src/client.rs
@@ -129,7 +129,9 @@ impl AuditClient {
129 /// Get the relay URL 129 /// Get the relay URL
130 pub async fn relay_url(&self) -> Result<String> { 130 pub async fn relay_url(&self) -> Result<String> {
131 let relays = self.client.relays().await; 131 let relays = self.client.relays().await;
132 let relay = relays.values().next() 132 let relay = relays
133 .values()
134 .next()
133 .ok_or_else(|| anyhow!("No relays configured"))?; 135 .ok_or_else(|| anyhow!("No relays configured"))?;
134 Ok(relay.url().to_string()) 136 Ok(relay.url().to_string())
135 } 137 }
@@ -522,12 +524,14 @@ mod tests {
522 let keys = Keys::generate(); 524 let keys = Keys::generate();
523 let maintainer_keys = Keys::generate(); 525 let maintainer_keys = Keys::generate();
524 let recursive_maintainer_keys = Keys::generate(); 526 let recursive_maintainer_keys = Keys::generate();
527 let pr_author_keys = Keys::generate();
525 let client = AuditClient { 528 let client = AuditClient {
526 client: Client::new(keys.clone()), 529 client: Client::new(keys.clone()),
527 config: config.clone(), 530 config: config.clone(),
528 keys: keys.clone(), 531 keys: keys.clone(),
529 maintainer_keys, 532 maintainer_keys,
530 recursive_maintainer_keys, 533 recursive_maintainer_keys,
534 pr_author_keys,
531 fixture_cache: Arc::new(Mutex::new(HashMap::new())), 535 fixture_cache: Arc::new(Mutex::new(HashMap::new())),
532 }; 536 };
533 537
@@ -543,12 +547,14 @@ mod tests {
543 let keys = Keys::generate(); 547 let keys = Keys::generate();
544 let maintainer_keys = Keys::generate(); 548 let maintainer_keys = Keys::generate();
545 let recursive_maintainer_keys = Keys::generate(); 549 let recursive_maintainer_keys = Keys::generate();
550 let pr_author_keys = Keys::generate();
546 let client = AuditClient { 551 let client = AuditClient {
547 client: Client::new(keys.clone()), 552 client: Client::new(keys.clone()),
548 config: config.clone(), 553 config: config.clone(),
549 keys: keys.clone(), 554 keys: keys.clone(),
550 maintainer_keys, 555 maintainer_keys,
551 recursive_maintainer_keys, 556 recursive_maintainer_keys,
557 pr_author_keys,
552 fixture_cache: Arc::new(Mutex::new(HashMap::new())), 558 fixture_cache: Arc::new(Mutex::new(HashMap::new())),
553 }; 559 };
554 560
@@ -610,13 +616,10 @@ mod tests {
610 // Note: We can't test create_repo_announcement_with_maintainers directly in unit tests 616 // Note: We can't test create_repo_announcement_with_maintainers directly in unit tests
611 // because it requires a connected relay. Instead, we test the underlying event building 617 // because it requires a connected relay. Instead, we test the underlying event building
612 // with maintainers tag to verify the tag format is correct. 618 // with maintainers tag to verify the tag format is correct.
613 619
614 // Build an event with maintainers tag directly to test the tag format 620 // Build an event with maintainers tag directly to test the tag format
615 let event = client 621 let event = client
616 .event_builder( 622 .event_builder(Kind::GitRepoAnnouncement, "Test repository")
617 Kind::GitRepoAnnouncement,
618 "Test repository",
619 )
620 .tag(Tag::identifier("test-repo")) 623 .tag(Tag::identifier("test-repo"))
621 .tag(Tag::custom( 624 .tag(Tag::custom(
622 TagKind::custom("maintainers"), 625 TagKind::custom("maintainers"),
@@ -639,10 +642,14 @@ mod tests {
639 // Verify the tag contains the maintainer pubkeys 642 // Verify the tag contains the maintainer pubkeys
640 let tag = maintainers_tag.unwrap(); 643 let tag = maintainers_tag.unwrap();
641 let tag_vec: Vec<String> = tag.clone().to_vec(); 644 let tag_vec: Vec<String> = tag.clone().to_vec();
642 645
643 // First element is "maintainers", rest are the pubkeys 646 // First element is "maintainers", rest are the pubkeys
644 assert_eq!(tag_vec[0], "maintainers"); 647 assert_eq!(tag_vec[0], "maintainers");
645 assert_eq!(tag_vec.len(), 3, "Expected 3 elements: tag name + 2 pubkeys"); 648 assert_eq!(
649 tag_vec.len(),
650 3,
651 "Expected 3 elements: tag name + 2 pubkeys"
652 );
646 assert_eq!(tag_vec[1], maintainer_pubkeys[0]); 653 assert_eq!(tag_vec[1], maintainer_pubkeys[0]);
647 assert_eq!(tag_vec[2], maintainer_pubkeys[1]); 654 assert_eq!(tag_vec[2], maintainer_pubkeys[1]);
648 } 655 }