mirror of
https://github.com/brianc/node-postgres.git
synced 2025-12-08 20:16:25 +00:00
65 lines
1.4 KiB
JavaScript
65 lines
1.4 KiB
JavaScript
const Client = require('../')
|
|
const ok = require('okay')
|
|
|
|
const notify = function (channel, payload) {
|
|
const client = new Client()
|
|
client.connectSync()
|
|
client.querySync('NOTIFY ' + channel + ", '" + payload + "'")
|
|
client.end()
|
|
}
|
|
|
|
describe('simple LISTEN/NOTIFY', function () {
|
|
before(function (done) {
|
|
const client = (this.client = new Client())
|
|
client.connect(done)
|
|
})
|
|
|
|
it('works', function (done) {
|
|
const client = this.client
|
|
client.querySync('LISTEN boom')
|
|
client.on('notification', function (msg) {
|
|
done()
|
|
})
|
|
notify('boom', 'sup')
|
|
})
|
|
|
|
after(function (done) {
|
|
this.client.end(done)
|
|
})
|
|
})
|
|
|
|
if (!process.env.TRAVIS_CI) {
|
|
describe('async LISTEN/NOTIFY', function () {
|
|
before(function (done) {
|
|
const client = (this.client = new Client())
|
|
client.connect(done)
|
|
})
|
|
|
|
it('works', function (done) {
|
|
const client = this.client
|
|
let count = 0
|
|
const check = function () {
|
|
count++
|
|
if (count >= 2) return done()
|
|
}
|
|
client.on('notification', check)
|
|
client.query(
|
|
'LISTEN test',
|
|
ok(done, function () {
|
|
notify('test', 'bot')
|
|
client.query(
|
|
'SELECT pg_sleep(.05)',
|
|
ok(done, function () {
|
|
notify('test', 'bot')
|
|
})
|
|
)
|
|
})
|
|
)
|
|
})
|
|
|
|
after(function (done) {
|
|
this.client.end(done)
|
|
})
|
|
})
|
|
}
|