| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 | 
							- 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()
 
-   })
 
- })
 
 
  |