diff --git a/packages/pg/test/integration/client/type-coercion-tests.js b/packages/pg/test/integration/client/type-coercion-tests.js index 33249a9b..3bc6273c 100644 --- a/packages/pg/test/integration/client/type-coercion-tests.js +++ b/packages/pg/test/integration/client/type-coercion-tests.js @@ -1,7 +1,6 @@ 'use strict' var helper = require('./test-helper') var pg = helper.pg -var sink const suite = new helper.Suite() var testForTypeCoercion = function (type) { diff --git a/packages/pg/test/integration/connection-pool/connection-pool-size-tests.js b/packages/pg/test/integration/connection-pool/connection-pool-size-tests.js index da281a19..1d87584e 100644 --- a/packages/pg/test/integration/connection-pool/connection-pool-size-tests.js +++ b/packages/pg/test/integration/connection-pool/connection-pool-size-tests.js @@ -1,10 +1,41 @@ 'use strict' -var helper = require('./test-helper') +const helper = require('../test-helper') +const assert = require('assert') -helper.testPoolSize(1) +const suite = new helper.Suite() -helper.testPoolSize(2) +const testPoolSize = function (max) { + suite.testAsync(`test ${max} queries executed on a pool rapidly`, () => { + const pool = new helper.pg.Pool({ max: 10 }) -helper.testPoolSize(40) + let count = 0 -helper.testPoolSize(200) + return new Promise((resolve) => { + for (var i = 0; i < max; i++) { + pool.connect(function (err, client, release) { + assert(!err) + client.query('SELECT * FROM NOW()') + client.query('select generate_series(0, 25)', function (err, result) { + assert.strictEqual(result.rows.length, 26) + }) + client.query('SELECT * FROM NOW()', (err) => { + assert(!err) + release() + if (++count === max) { + resolve() + pool.end() + } + }) + }) + } + }) + }) +} + +testPoolSize(1) + +testPoolSize(2) + +testPoolSize(40) + +testPoolSize(200) diff --git a/packages/pg/test/integration/connection-pool/test-helper.js b/packages/pg/test/integration/connection-pool/test-helper.js index 97a177a6..14f8134e 100644 --- a/packages/pg/test/integration/connection-pool/test-helper.js +++ b/packages/pg/test/integration/connection-pool/test-helper.js @@ -1,31 +1,4 @@ 'use strict' var helper = require('./../test-helper') -const suite = new helper.Suite() - -helper.testPoolSize = function (max) { - suite.test(`test ${max} queries executed on a pool rapidly`, (cb) => { - const pool = new helper.pg.Pool({ max: 10 }) - - var sink = new helper.Sink(max, function () { - pool.end(cb) - }) - - for (var i = 0; i < max; i++) { - pool.connect(function (err, client, done) { - assert(!err) - client.query('SELECT * FROM NOW()') - client.query('select generate_series(0, 25)', function (err, result) { - assert.equal(result.rows.length, 26) - }) - var query = client.query('SELECT * FROM NOW()', (err) => { - assert(!err) - sink.add() - done() - }) - }) - } - }) -} - -module.exports = Object.assign({}, helper, { suite: suite }) +module.exports = helper diff --git a/packages/pg/test/integration/gh-issues/2416-tests.js b/packages/pg/test/integration/gh-issues/2416-tests.js new file mode 100644 index 00000000..669eb778 --- /dev/null +++ b/packages/pg/test/integration/gh-issues/2416-tests.js @@ -0,0 +1,14 @@ +const helper = require('../test-helper') + +const suite = new helper.Suite() + +suite.testAsync('it sets search_path on connection', async () => { + const client = new helper.pg.Client({ + options: '--search_path=foo', + }) + await client.connect() + const { rows } = await client.query('SHOW search_path') + assert.strictEqual(rows.length, 1) + assert.strictEqual(rows[0].search_path, 'foo') + await client.end() +}) diff --git a/packages/pg/test/test-helper.js b/packages/pg/test/test-helper.js index 5999ea98..15abcd46 100644 --- a/packages/pg/test/test-helper.js +++ b/packages/pg/test/test-helper.js @@ -183,33 +183,6 @@ process.on('uncaughtException', function (err) { process.exit(255) }) -var Sink = function (expected, timeout, callback) { - var defaultTimeout = 5000 - if (typeof timeout === 'function') { - callback = timeout - timeout = defaultTimeout - } - timeout = timeout || defaultTimeout - var internalCount = 0 - var kill = function () { - assert.ok(false, 'Did not reach expected ' + expected + ' with an idle timeout of ' + timeout) - } - var killTimeout = setTimeout(kill, timeout) - return { - add: function (count) { - count = count || 1 - internalCount += count - clearTimeout(killTimeout) - if (internalCount < expected) { - killTimeout = setTimeout(kill, timeout) - } else { - assert.equal(internalCount, expected) - callback() - } - }, - } -} - var getTimezoneOffset = Date.prototype.getTimezoneOffset var setTimezoneOffset = function (minutesOffset) { @@ -231,7 +204,6 @@ const rejection = (promise) => ) module.exports = { - Sink: Sink, Suite: Suite, pg: require('./../lib/'), args: args,