Update to NPM version
This commit is contained in:
54
ProjectSourceCode/node_modules/pg-pool/test/releasing-clients.js
generated
vendored
Normal file
54
ProjectSourceCode/node_modules/pg-pool/test/releasing-clients.js
generated
vendored
Normal file
@@ -0,0 +1,54 @@
|
||||
const Pool = require('../')
|
||||
|
||||
const expect = require('expect.js')
|
||||
const net = require('net')
|
||||
|
||||
describe('releasing clients', () => {
|
||||
it('removes a client which cannot be queried', async () => {
|
||||
// make a pool w/ only 1 client
|
||||
const pool = new Pool({ max: 1 })
|
||||
expect(pool.totalCount).to.eql(0)
|
||||
const client = await pool.connect()
|
||||
expect(pool.totalCount).to.eql(1)
|
||||
expect(pool.idleCount).to.eql(0)
|
||||
// reach into the client and sever its connection
|
||||
client.connection.end()
|
||||
|
||||
// wait for the client to error out
|
||||
const err = await new Promise((resolve) => client.once('error', resolve))
|
||||
expect(err).to.be.ok()
|
||||
expect(pool.totalCount).to.eql(1)
|
||||
expect(pool.idleCount).to.eql(0)
|
||||
|
||||
// try to return it to the pool - this removes it because its broken
|
||||
client.release()
|
||||
expect(pool.totalCount).to.eql(0)
|
||||
expect(pool.idleCount).to.eql(0)
|
||||
|
||||
// make sure pool still works
|
||||
const { rows } = await pool.query('SELECT NOW()')
|
||||
expect(rows).to.have.length(1)
|
||||
await pool.end()
|
||||
})
|
||||
|
||||
it('removes a client which is ending', async () => {
|
||||
// make a pool w/ only 1 client
|
||||
const pool = new Pool({ max: 1 })
|
||||
expect(pool.totalCount).to.eql(0)
|
||||
const client = await pool.connect()
|
||||
expect(pool.totalCount).to.eql(1)
|
||||
expect(pool.idleCount).to.eql(0)
|
||||
// end the client gracefully (but you shouldn't do this with pooled clients)
|
||||
client.end()
|
||||
|
||||
// try to return it to the pool
|
||||
client.release()
|
||||
expect(pool.totalCount).to.eql(0)
|
||||
expect(pool.idleCount).to.eql(0)
|
||||
|
||||
// make sure pool still works
|
||||
const { rows } = await pool.query('SELECT NOW()')
|
||||
expect(rows).to.have.length(1)
|
||||
await pool.end()
|
||||
})
|
||||
})
|
||||
Reference in New Issue
Block a user