a test on pool subscribing to many relays, getting many events then closing on eose.

This commit is contained in:
fiatjaf
2023-12-22 08:21:58 -03:00
parent 1890c91ae3
commit 9ac1b63994

View File

@@ -12,7 +12,7 @@ afterAll(() => {
pool.close([...relays, 'wss://offchain.pub', 'wss://eden.nostr.land']) 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 priv = generateSecretKey()
let pub = getPublicKey(priv) let pub = getPublicKey(priv)
@@ -43,7 +43,7 @@ test('removing duplicates when querying', async () => {
expect(received[0]).toEqual(event) expect(received[0]).toEqual(event)
}) })
test('same with double querying', async () => { test('same with double subs', async () => {
let priv = generateSecretKey() let priv = generateSecretKey()
let pub = getPublicKey(priv) let pub = getPublicKey(priv)
@@ -76,6 +76,23 @@ test('same with double querying', async () => {
expect(received).toHaveLength(2) expect(received).toHaveLength(2)
}) })
test('query a bunch of events and cancel on eose', async () => {
let events = new Set<string>()
await new Promise<void>(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 () => { test('querySync()', async () => {
let events = await pool.querySync([...relays.slice(2), 'wss://offchain.pub', 'wss://eden.nostr.land'], { let events = await pool.querySync([...relays.slice(2), 'wss://offchain.pub', 'wss://eden.nostr.land'], {
authors: ['3bf0c63fcb93463407af97a5e5ee64fa883d107ef9e558472c4eb9aaaefa459d'], authors: ['3bf0c63fcb93463407af97a5e5ee64fa883d107ef9e558472c4eb9aaaefa459d'],