From 9ac1b63994f7a036e7802076f941b1cf4d4dcddf Mon Sep 17 00:00:00 2001 From: fiatjaf Date: Fri, 22 Dec 2023 08:21:58 -0300 Subject: [PATCH] a test on pool subscribing to many relays, getting many events then closing on eose. --- pool.test.ts | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/pool.test.ts b/pool.test.ts index c7c003f..bc00e96 100644 --- a/pool.test.ts +++ b/pool.test.ts @@ -12,7 +12,7 @@ afterAll(() => { pool.close([...relays, 'wss://offchain.pub', 'wss://eden.nostr.land']) }) -test('removing duplicates when querying', async () => { +test('removing duplicates when subscribing', async () => { let priv = generateSecretKey() let pub = getPublicKey(priv) @@ -43,7 +43,7 @@ test('removing duplicates when querying', async () => { expect(received[0]).toEqual(event) }) -test('same with double querying', async () => { +test('same with double subs', async () => { let priv = generateSecretKey() let pub = getPublicKey(priv) @@ -76,6 +76,23 @@ test('same with double querying', async () => { expect(received).toHaveLength(2) }) +test('query a bunch of events and cancel on eose', async () => { + let events = new Set() + await new Promise(resolve => { + pool.subscribeManyEose( + [...relays, 'wss://relayable.org', 'wss://relay.noswhere.com', 'wss://nothing.com'], + [{ kinds: [0, 1], limit: 40 }], + { + onevent(event) { + events.add(event.id) + }, + onclose: resolve as any, + }, + ) + }) + expect(events.size).toBeGreaterThan(50) +}) + test('querySync()', async () => { let events = await pool.querySync([...relays.slice(2), 'wss://offchain.pub', 'wss://eden.nostr.land'], { authors: ['3bf0c63fcb93463407af97a5e5ee64fa883d107ef9e558472c4eb9aaaefa459d'],