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-02-01 09:59:09 +0000
committerDanConwayDev <DanConwayDev@protonmail.com>2024-02-02 02:30:01 +0000
commit1cacf1bce77b88febc0cf9e2f0f9f468d4b30555 (patch)
tree5c2c69336eddeb79082249a9167cc46e3c155f12 /tests
parent4b66c76a5a3ba878b4603d992353327807b8d8e6 (diff)
feat(repo_ref)!: use nip34 kind and tags
- change kind number - do not rely on d identifiers for unique commit id. set it as default to unique commit id shorthand. - remove "r-" prefix from unique commit id r tag and instead add checks for SHA1 validity - rename tag git_server to clone - add web tag - use single relays tag instead of multiple relay tags BREAKING CHANGE: change repo event kind and tags to reflect nip34 draft. events with the older kind will no longer be found and will not be in a valid format
Diffstat (limited to 'tests')
-rw-r--r--tests/claim.rs63
1 files changed, 37 insertions, 26 deletions
diff --git a/tests/claim.rs b/tests/claim.rs
index cd845f7..9eb4b8a 100644
--- a/tests/claim.rs
+++ b/tests/claim.rs
@@ -51,6 +51,9 @@ mod when_repo_not_previously_claimed {
51 "example-name", 51 "example-name",
52 "--description", 52 "--description",
53 "example-description", 53 "example-description",
54 "--web",
55 "https://exampleproject.xyz",
56 "https://gitworkshop.dev/123",
54 "--relays", 57 "--relays",
55 "ws://localhost:8055", 58 "ws://localhost:8055",
56 "ws://localhost:8056", 59 "ws://localhost:8056",
@@ -251,7 +254,7 @@ mod when_repo_not_previously_claimed {
251 254
252 #[test] 255 #[test]
253 #[serial] 256 #[serial]
254 fn root_commit_as_d_replaceable_event_identifier() -> Result<()> { 257 fn d_replaceable_event_identifier_defaults_to_root_commit_id_shorthand() -> Result<()> {
255 let (_, _, r53, r55, r56) = futures::executor::block_on(prep_run_claim())?; 258 let (_, _, r53, r55, r56) = futures::executor::block_on(prep_run_claim())?;
256 for relay in [&r53, &r55, &r56] { 259 for relay in [&r53, &r55, &r56] {
257 let event: &nostr::Event = relay 260 let event: &nostr::Event = relay
@@ -260,8 +263,12 @@ mod when_repo_not_previously_claimed {
260 .find(|e| e.kind.as_u64().eq(&REPOSITORY_KIND)) 263 .find(|e| e.kind.as_u64().eq(&REPOSITORY_KIND))
261 .unwrap(); 264 .unwrap();
262 265
263 assert!(event.tags.iter().any(|t| t.as_vec()[0].eq("d") 266 assert!(
264 && t.as_vec()[1].eq("9ee507fc4357d7ee16a5d8901bedcd103f23c17d"))); 267 event
268 .tags
269 .iter()
270 .any(|t| t.as_vec()[0].eq("d") && t.as_vec()[1].eq("9ee507f"))
271 );
265 } 272 }
266 Ok(()) 273 Ok(())
267 } 274 }
@@ -277,9 +284,8 @@ mod when_repo_not_previously_claimed {
277 .find(|e| e.kind.as_u64().eq(&REPOSITORY_KIND)) 284 .find(|e| e.kind.as_u64().eq(&REPOSITORY_KIND))
278 .unwrap(); 285 .unwrap();
279 286
280 // root commit 'r' tag with 'r-' prefix
281 assert!(event.tags.iter().any(|t| t.as_vec()[0].eq("r") 287 assert!(event.tags.iter().any(|t| t.as_vec()[0].eq("r")
282 && t.as_vec()[1].eq("r-9ee507fc4357d7ee16a5d8901bedcd103f23c17d"))); 288 && t.as_vec()[1].eq("9ee507fc4357d7ee16a5d8901bedcd103f23c17d")));
283 } 289 }
284 Ok(()) 290 Ok(())
285 } 291 }
@@ -333,15 +339,17 @@ mod when_repo_not_previously_claimed {
333 .find(|e| e.kind.as_u64().eq(&REPOSITORY_KIND)) 339 .find(|e| e.kind.as_u64().eq(&REPOSITORY_KIND))
334 .unwrap(); 340 .unwrap();
335 341
336 assert!(event.tags.iter().any(|t| t.as_vec()[0].eq("git-server") 342 assert!(
337 && t.as_vec()[1].eq("https://localhost:1000"))); 343 event.tags.iter().any(|t| t.as_vec()[0].eq("clone")
344 && t.as_vec()[1].eq("https://localhost:1000"))
345 );
338 } 346 }
339 Ok(()) 347 Ok(())
340 } 348 }
341 349
342 #[test] 350 #[test]
343 #[serial] 351 #[serial]
344 fn git_server_as_reference() -> Result<()> { 352 fn relays() -> Result<()> {
345 let (_, _, r53, r55, r56) = futures::executor::block_on(prep_run_claim())?; 353 let (_, _, r53, r55, r56) = futures::executor::block_on(prep_run_claim())?;
346 for relay in [&r53, &r55, &r56] { 354 for relay in [&r53, &r55, &r56] {
347 let event: &nostr::Event = relay 355 let event: &nostr::Event = relay
@@ -349,17 +357,21 @@ mod when_repo_not_previously_claimed {
349 .iter() 357 .iter()
350 .find(|e| e.kind.as_u64().eq(&REPOSITORY_KIND)) 358 .find(|e| e.kind.as_u64().eq(&REPOSITORY_KIND))
351 .unwrap(); 359 .unwrap();
352 360 let relays_tag = event
353 assert!(event.tags.iter().any( 361 .tags
354 |t| t.as_vec()[0].eq("r") && t.as_vec()[1].eq("https://localhost:1000") 362 .iter()
355 )); 363 .find(|t| t.as_vec()[0].eq("relays"))
364 .unwrap()
365 .as_vec();
366 assert_eq!(relays_tag[1], "ws://localhost:8055",);
367 assert_eq!(relays_tag[2], "ws://localhost:8056",);
356 } 368 }
357 Ok(()) 369 Ok(())
358 } 370 }
359 371
360 #[test] 372 #[test]
361 #[serial] 373 #[serial]
362 fn relays() -> Result<()> { 374 fn web() -> Result<()> {
363 let (_, _, r53, r55, r56) = futures::executor::block_on(prep_run_claim())?; 375 let (_, _, r53, r55, r56) = futures::executor::block_on(prep_run_claim())?;
364 for relay in [&r53, &r55, &r56] { 376 for relay in [&r53, &r55, &r56] {
365 let event: &nostr::Event = relay 377 let event: &nostr::Event = relay
@@ -367,14 +379,14 @@ mod when_repo_not_previously_claimed {
367 .iter() 379 .iter()
368 .find(|e| e.kind.as_u64().eq(&REPOSITORY_KIND)) 380 .find(|e| e.kind.as_u64().eq(&REPOSITORY_KIND))
369 .unwrap(); 381 .unwrap();
370 382 let web_tag = event
371 let relay_tags = event
372 .tags 383 .tags
373 .iter() 384 .iter()
374 .filter(|t| t.as_vec()[0].eq("relay")) 385 .find(|t| t.as_vec()[0].eq("web"))
375 .collect::<Vec<&nostr::Tag>>(); 386 .unwrap()
376 assert_eq!(relay_tags[0].as_vec()[1], "ws://localhost:8055"); 387 .as_vec();
377 assert_eq!(relay_tags[1].as_vec()[1], "ws://localhost:8056"); 388 assert_eq!(web_tag[1], "https://exampleproject.xyz",);
389 assert_eq!(web_tag[2], "https://gitworkshop.dev/123",);
378 } 390 }
379 Ok(()) 391 Ok(())
380 } 392 }
@@ -501,6 +513,9 @@ mod when_repo_not_previously_claimed {
501 "example-name", 513 "example-name",
502 "--description", 514 "--description",
503 "example-description", 515 "example-description",
516 "--web",
517 "https://exampleproject.xyz",
518 "https://gitworkshop.dev/123",
504 ], 519 ],
505 ) 520 )
506 } 521 }
@@ -572,13 +587,9 @@ mod when_repo_not_previously_claimed {
572 .find(|e| e.kind.as_u64().eq(&REPOSITORY_KIND)) 587 .find(|e| e.kind.as_u64().eq(&REPOSITORY_KIND))
573 .unwrap(); 588 .unwrap();
574 589
575 let relay_tags = event 590 assert!(event.tags.iter().any(|t| t.as_vec()[0].eq("relays")
576 .tags 591 && t.as_vec()[1].eq("ws://localhost:8053")
577 .iter() 592 && t.as_vec()[2].eq("ws://localhost:8055")));
578 .filter(|t| t.as_vec()[0].eq("relay"))
579 .collect::<Vec<&nostr::Tag>>();
580 assert_eq!(relay_tags[0].as_vec()[1], "ws://localhost:8053");
581 assert_eq!(relay_tags[1].as_vec()[1], "ws://localhost:8055");
582 } 593 }
583 Ok(()) 594 Ok(())
584 } 595 }