Files
modules/indexes-search/hyper-p2p-bloom-gossip/test/test.js
T
2026-05-20 22:56:32 -04:00

38 lines
927 B
JavaScript

require('bare-process/global')
const test = require('brittle')
const { HyperP2PBloomGossip, PROTOCOL } = require('../index.js')
test('exports', (t) => {
t.ok(HyperP2PBloomGossip)
t.is(PROTOCOL, 'bloom-gossip/v1')
})
test('add mightContain exportBits', async (t) => {
const m = new HyperP2PBloomGossip()
t.ok(m.add('peer-1'))
t.ok(m.mightContain('peer-1'))
t.ok(m.exportBits().bits)
await m.close()
})
test('validation', async (t) => {
const m = new HyperP2PBloomGossip()
try { m.add('') } catch (e) { t.ok(e) }
await m.close()
})
test('remote gossip', async (t) => {
const m = new HyperP2PBloomGossip()
m._onGossip({ type: 'bloom-add', key: 'remote-key' })
t.ok(m.mightContain('remote-key'))
await m.close()
})
test('getStats', async (t) => {
const m = new HyperP2PBloomGossip()
m.add('x')
t.is(m.getStats().protocol, 'bloom-gossip/v1')
t.is(m.getStats().added, 1)
await m.close()
})