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.rs16
1 files changed, 16 insertions, 0 deletions
diff --git a/grasp-audit/src/client.rs b/grasp-audit/src/client.rs
index 4f3401c..ed76a34 100644
--- a/grasp-audit/src/client.rs
+++ b/grasp-audit/src/client.rs
@@ -25,6 +25,8 @@ pub struct AuditClient {
25 maintainer_keys: Keys, 25 maintainer_keys: Keys,
26 /// Recursive maintainer keys for testing recursive authorization scenarios 26 /// Recursive maintainer keys for testing recursive authorization scenarios
27 recursive_maintainer_keys: Keys, 27 recursive_maintainer_keys: Keys,
28 /// PR author keys for testing PR event scenarios
29 pr_author_keys: Keys,
28 /// Fixture cache for TestContext instances - shared across all contexts using this client 30 /// Fixture cache for TestContext instances - shared across all contexts using this client
29 fixture_cache: FixtureCache, 31 fixture_cache: FixtureCache,
30} 32}
@@ -36,6 +38,7 @@ impl AuditClient {
36 let keys = Keys::generate(); 38 let keys = Keys::generate();
37 let maintainer_keys = Keys::generate(); 39 let maintainer_keys = Keys::generate();
38 let recursive_maintainer_keys = Keys::generate(); 40 let recursive_maintainer_keys = Keys::generate();
41 let pr_author_keys = Keys::generate();
39 let client = Client::new(keys.clone()); 42 let client = Client::new(keys.clone());
40 Self { 43 Self {
41 client, 44 client,
@@ -43,6 +46,7 @@ impl AuditClient {
43 keys, 46 keys,
44 maintainer_keys, 47 maintainer_keys,
45 recursive_maintainer_keys, 48 recursive_maintainer_keys,
49 pr_author_keys,
46 fixture_cache: Arc::new(Mutex::new(HashMap::new())), 50 fixture_cache: Arc::new(Mutex::new(HashMap::new())),
47 } 51 }
48 } 52 }
@@ -52,6 +56,7 @@ impl AuditClient {
52 let keys = Keys::generate(); 56 let keys = Keys::generate();
53 let maintainer_keys = Keys::generate(); 57 let maintainer_keys = Keys::generate();
54 let recursive_maintainer_keys = Keys::generate(); 58 let recursive_maintainer_keys = Keys::generate();
59 let pr_author_keys = Keys::generate();
55 let client = Client::new(keys.clone()); 60 let client = Client::new(keys.clone());
56 61
57 // Add relay and connect 62 // Add relay and connect
@@ -102,6 +107,7 @@ impl AuditClient {
102 keys, 107 keys,
103 maintainer_keys, 108 maintainer_keys,
104 recursive_maintainer_keys, 109 recursive_maintainer_keys,
110 pr_author_keys,
105 fixture_cache: Arc::new(Mutex::new(HashMap::new())), 111 fixture_cache: Arc::new(Mutex::new(HashMap::new())),
106 }) 112 })
107 } 113 }
@@ -278,6 +284,16 @@ impl AuditClient {
278 self.recursive_maintainer_keys.public_key().to_hex() 284 self.recursive_maintainer_keys.public_key().to_hex()
279 } 285 }
280 286
287 /// Get the PR author keys (for PR event testing)
288 pub fn pr_author_keys(&self) -> &Keys {
289 &self.pr_author_keys
290 }
291
292 /// Get the PR author public key as a hex string
293 pub fn pr_author_pubkey_hex(&self) -> String {
294 self.pr_author_keys.public_key().to_hex()
295 }
296
281 /// Create a NIP-34 repository announcement event with full customization 297 /// Create a NIP-34 repository announcement event with full customization
282 /// 298 ///
283 /// This is the core method for creating repository announcements. It allows 299 /// This is the core method for creating repository announcements. It allows