From 5884ddd023c9ab83f84972d11f12f512ba64b2d7 Mon Sep 17 00:00:00 2001 From: 1leo <58687994+1-leo@users.noreply.github.com> Date: Sun, 9 Nov 2025 10:19:21 +0100 Subject: [PATCH] test: scenario to expose the bug --- .../scenarios/boostrap_relay_query_test.dart | 78 +++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100644 packages/ndk/test/scenarios/boostrap_relay_query_test.dart diff --git a/packages/ndk/test/scenarios/boostrap_relay_query_test.dart b/packages/ndk/test/scenarios/boostrap_relay_query_test.dart new file mode 100644 index 000000000..65fa8734f --- /dev/null +++ b/packages/ndk/test/scenarios/boostrap_relay_query_test.dart @@ -0,0 +1,78 @@ +import 'package:ndk/domain_layer/entities/connection_source.dart'; +import 'package:ndk/ndk.dart'; +import 'package:test/test.dart'; + +void main() async { + group( + "boostrap relay test", + skip: true, + () { + test('nostr.wine in boostrap', () async { + final ndk = Ndk( + NdkConfig( + engine: NdkEngine.JIT, + eventVerifier: Bip340EventVerifier(), + cache: MemCacheManager(), + bootstrapRelays: [ + 'wss://nostr.wine', + ]), + ); + + final response = ndk.requests.query(filters: [ + Filter(limit: 5, kinds: [1]) + ]); + + await for (final event in response.stream) { + /// works + print('got event from nostr.wine: ${event.id}'); + } + }); + + test('nostr.wine connect after', () async { + final ndk = Ndk( + NdkConfig( + engine: NdkEngine.JIT, + eventVerifier: Bip340EventVerifier(), + cache: MemCacheManager(), + bootstrapRelays: []), + ); + + await ndk.relays.connectRelay( + dirtyUrl: "wss://nostr.wine", + connectionSource: ConnectionSource.seed, + ); + + final response = ndk.requests.query(filters: [ + Filter(limit: 5, kinds: [1]) + ]); + + await for (final event in response.stream) { + ///todo does not work + print('got event from nostr.wine: ${event.id}'); + } + }); + + test('nostr.wine connect in request', () async { + final ndk = Ndk( + NdkConfig( + engine: NdkEngine.JIT, + eventVerifier: Bip340EventVerifier(), + cache: MemCacheManager(), + bootstrapRelays: []), + ); + + final response = ndk.requests.query( + filters: [ + Filter(limit: 5, kinds: [1]), + ], + explicitRelays: ["wss://nostr.wine"], + ); + + await for (final event in response.stream) { + /// works + print('got event from nostr.wine: ${event.id}'); + } + }); + }, + ); +}