| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 | 
							- 'use strict'
 
- const co = require('co')
 
- const expect = require('expect.js')
 
- const describe = require('mocha').describe
 
- const it = require('mocha').it
 
- const path = require('path')
 
- const Pool = require('../')
 
- describe('lifetime timeout', () => {
 
-   it('connection lifetime should expire and remove the client', (done) => {
 
-     const pool = new Pool({ maxLifetimeSeconds: 1 })
 
-     pool.query('SELECT NOW()')
 
-     pool.on('remove', () => {
 
-       console.log('expired while idle - on-remove event')
 
-       expect(pool.expiredCount).to.equal(0)
 
-       expect(pool.totalCount).to.equal(0)
 
-       done()
 
-     })
 
-   })
 
-   it('connection lifetime should expire and remove the client after the client is done working', (done) => {
 
-     const pool = new Pool({ maxLifetimeSeconds: 1 })
 
-     pool.query('SELECT pg_sleep(1.4)')
 
-     pool.on('remove', () => {
 
-       console.log('expired while busy - on-remove event')
 
-       expect(pool.expiredCount).to.equal(0)
 
-       expect(pool.totalCount).to.equal(0)
 
-       done()
 
-     })
 
-   })
 
-   it(
 
-     'can remove expired clients and recreate them',
 
-     co.wrap(function* () {
 
-       const pool = new Pool({ maxLifetimeSeconds: 1 })
 
-       let query = pool.query('SELECT pg_sleep(1.4)')
 
-       expect(pool.expiredCount).to.equal(0)
 
-       expect(pool.totalCount).to.equal(1)
 
-       yield query
 
-       yield new Promise((resolve) => setTimeout(resolve, 100))
 
-       expect(pool.expiredCount).to.equal(0)
 
-       expect(pool.totalCount).to.equal(0)
 
-       yield pool.query('SELECT NOW()')
 
-       expect(pool.expiredCount).to.equal(0)
 
-       expect(pool.totalCount).to.equal(1)
 
-     })
 
-   )
 
- })
 
 
  |