You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: gossip/nostr-gossip-memory/src/store.rs
+4-219Lines changed: 4 additions & 219 deletions
Original file line number
Diff line number
Diff line change
@@ -378,228 +378,13 @@ impl NostrGossip for NostrGossipMemory {
378
378
379
379
#[cfg(test)]
380
380
mod tests {
381
-
usenostr::{EventBuilder,JsonUtil,Keys,Tag};
381
+
usenostr_gossip_test_suite::gossip_unit_tests;
382
382
383
383
usesuper::*;
384
384
385
-
#[tokio::test]
386
-
asyncfntest_process_event(){
387
-
let store = NostrGossipMemory::unbounded();
388
-
389
-
let json = r#"{"id":"b7b1fb52ad8461a03e949820ae29a9ea07e35bcd79c95c4b59b0254944f62805","pubkey":"aa4fc8665f5696e33db7e1a572e3b0f5b3d615837b0f362dcb1c8068b098c7b4","created_at":1704644581,"kind":1,"tags":[],"content":"Text note","sig":"ed73a8a4e7c26cd797a7b875c634d9ecb6958c57733305fed23b978109d0411d21b3e182cb67c8ad750884e30ca383b509382ae6187b36e76ee76e6a142c4284"}"#;
390
-
let event = Event::from_json(json).unwrap();
391
-
392
-
// First process
393
-
store.process(&event,None).await.unwrap();
394
-
395
-
// Re-process the same event
396
-
store.process(&event,None).await.unwrap();
397
-
}
398
-
399
-
#[tokio::test]
400
-
asyncfntest_process_nip65_relay_list(){
401
-
let store = NostrGossipMemory::unbounded();
402
-
403
-
// NIP-65 relay list event with read and write relays
404
-
let json = r#"{"id":"0a49bed4a1eb0973a68a0d43b7ca62781ffd4e052b91bbadef09e5cf756f6e68","pubkey":"68d81165918100b7da43fc28f7d1fc12554466e1115886b9e7bb326f65ec4272","created_at":1759351841,"kind":10002,"tags":[["alt","Relay list to discover the user's content"],["r","wss://relay.damus.io/"],["r","wss://nostr.wine/"],["r","wss://nostr.oxtr.dev/"],["r","wss://relay.nostr.wirednet.jp/"]],"content":"","sig":"f5bc6c18b0013214588d018c9086358fb76a529aa10867d4d02a75feb239412ae1c94ac7c7917f6e6e2303d72f00dc4e9b03b168ef98f3c3c0dec9a457ce0304"}"#;
assert_eq!(write_relays.len(),2);// relay.damus.io and relay.nostr.band
385
+
asyncfnsetup() -> NostrGossipMemory{
386
+
NostrGossipMemory::unbounded()
424
387
}
425
388
426
-
#[tokio::test]
427
-
asyncfntest_process_nip17_inbox_relays(){
428
-
let store = NostrGossipMemory::unbounded();
429
-
430
-
// NIP-17 inbox relays event
431
-
let json = r#"{"id":"8d9b40907f80bd7d5014bdc6a2541227b92f4ae20cbff59792b4746a713da81e","pubkey":"68d81165918100b7da43fc28f7d1fc12554466e1115886b9e7bb326f65ec4272","created_at":1756718818,"kind":10050,"tags":[["relay","wss://auth.nostr1.com/"],["relay","wss://nostr.oxtr.dev/"],["relay","wss://nip17.com"]],"content":"","sig":"05611df32f5c4e55bb8d74ab2840378b7707ad162f785a78f8bdaecee5b872667e4e43bcbbf3c6c638335c637f001155b48b7a7040ce2695660467be62f142d5"}"#;
let nip65_json = r#"{"id":"0000000000000000000000000000000000000000000000000000000000000000","pubkey":"68d81165918100b7da43fc28f7d1fc12554466e1115886b9e7bb326f65ec4272","created_at":1704644581,"kind":10002,"tags":[["r","wss://read.relay.io","read"],["r","wss://write.relay.io","write"]],"content":"","sig":"f5bc6c18b0013214588d018c9086358fb76a529aa10867d4d02a75feb239412ae1c94ac7c7917f6e6e2303d72f00dc4e9b03b168ef98f3c3c0dec9a457ce0304"}"#;
516
-
let nip65_event = Event::from_json(nip65_json).unwrap();
517
-
store.process(&nip65_event,None).await.unwrap();
518
-
519
-
// Add event with hints
520
-
let hint_json = r#"{"id":"0000000000000000000000000000000000000000000000000000000000000001","pubkey":"bb4fc8665f5696e33db7e1a572e3b0f5b3d615837b0f362dcb1c8068b098c7b4","created_at":1704644581,"kind":1,"tags":[["p","68d81165918100b7da43fc28f7d1fc12554466e1115886b9e7bb326f65ec4272","wss://hint.relay.io"]],"content":"Hint","sig":"f5bc6c18b0013214588d018c9086358fb76a529aa10867d4d02a75feb239412ae1c94ac7c7917f6e6e2303d72f00dc4e9b03b168ef98f3c3c0dec9a457ce0304"}"#;
521
-
let hint_event = Event::from_json(hint_json).unwrap();
522
-
store.process(&hint_event,None).await.unwrap();
523
-
524
-
// Add received events
525
-
let relay_url = RelayUrl::parse("wss://received.relay.io").unwrap();
526
-
let received_json = r#"{"id":"0000000000000000000000000000000000000000000000000000000000000002","pubkey":"68d81165918100b7da43fc28f7d1fc12554466e1115886b9e7bb326f65ec4272","created_at":1704644581,"kind":1,"tags":[],"content":"Received","sig":"f5bc6c18b0013214588d018c9086358fb76a529aa10867d4d02a75feb239412ae1c94ac7c7917f6e6e2303d72f00dc4e9b03b168ef98f3c3c0dec9a457ce0304"}"#;
527
-
let received_event = Event::from_json(received_json).unwrap();
528
-
store
529
-
.process(&received_event,Some(&relay_url))
530
-
.await
531
-
.unwrap();
532
-
533
-
// Test All selection
534
-
let all_relays = store
535
-
._get_best_relays(
536
-
&public_key,
537
-
BestRelaySelection::All{
538
-
read:5,
539
-
write:5,
540
-
hints:5,
541
-
most_received:5,
542
-
},
543
-
)
544
-
.await;
545
-
546
-
// Should have relays from all categories (duplicates removed by HashSet)
let json = r#"{"id":"0a49bed4a1eb0973a68a0d43b7ca62781ffd4e052b91bbadef09e5cf756f6e68","pubkey":"68d81165918100b7da43fc28f7d1fc12554466e1115886b9e7bb326f65ec4272","created_at":1759351841,"kind":10002,"tags":[["alt","Relay list to discover the user's content"],["r","wss://relay.damus.io/"],["r","wss://nostr.wine/"],["r","wss://nostr.oxtr.dev/"],["r","wss://relay.nostr.wirednet.jp/"]],"content":"","sig":"f5bc6c18b0013214588d018c9086358fb76a529aa10867d4d02a75feb239412ae1c94ac7c7917f6e6e2303d72f00dc4e9b03b168ef98f3c3c0dec9a457ce0304"}"#;
0 commit comments