Files
2026-07-13 12:06:16 +08:00

35 lines
746 B
JavaScript

'use strict'
const { test } = require('tap')
const { setup, connect } = require('./helper')
test('after an error, outstanding packets are discarded', function (t) {
t.plan(1)
const s = connect(setup(), {
keepalive: 1000
})
t.teardown(s.broker.close.bind(s.broker))
const packet = {
cmd: 'publish',
topic: 'hello',
payload: 'world'
}
s.broker.mq.on('hello', function (msg, cb) {
t.pass('first msg received')
s.inStream.destroy(new Error('something went wrong'))
cb()
setImmediate(() => {
packet.topic = 'foo'
s.inStream.write(packet)
s.inStream.write(packet)
})
})
s.broker.mq.on('foo', function (msg, cb) {
t.fail('msg received')
})
s.inStream.write(packet)
})