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.01)')
- 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)')
- expect(pool.expiredCount).to.equal(0)
- expect(pool.totalCount).to.equal(1)
- yield query
- 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)
- })
- )
- })
|