35 lines
746 B
JavaScript
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)
|
|
})
|