From 66ea0249d8e29a6d6da1c5afc21483525ed7d2a2 Mon Sep 17 00:00:00 2001 From: brianc Date: Wed, 30 May 2012 22:40:49 -0500 Subject: [PATCH] add failing test for #130 --- test/integration/client/test-helper.js | 7 ------- test/integration/gh-issues/130.js | 17 +++++++++++++++++ test/integration/test-helper.js | 10 +++++++++- test/unit/test-helper.js | 3 +++ 4 files changed, 29 insertions(+), 8 deletions(-) create mode 100644 test/integration/gh-issues/130.js diff --git a/test/integration/client/test-helper.js b/test/integration/client/test-helper.js index d8ae3d85..24cddf61 100644 --- a/test/integration/client/test-helper.js +++ b/test/integration/client/test-helper.js @@ -1,10 +1,3 @@ var helper = require(__dirname+'/../test-helper'); -//creates a client from cli parameters -helper.client = function() { - var client = new Client(helper.config); - client.connect(); - return client; -}; - module.exports = helper; diff --git a/test/integration/gh-issues/130.js b/test/integration/gh-issues/130.js new file mode 100644 index 00000000..34670a69 --- /dev/null +++ b/test/integration/gh-issues/130.js @@ -0,0 +1,17 @@ +var helper = require(__dirname + '/../test-helper'); +var exec = require('child_process').exec; + +helper.pg.defaults.poolIdleTimeout = 1000; + +helper.pg.connect(helper.config, function(err,client) { + client.query("SELECT pg_backend_pid()", function(err, result) { + var pid = result.rows[0].pg_backend_pid; + exec('psql -c "select pg_terminate_backend('+pid+')" template1', assert.calls(function (error, stdout, stderr) { + assert.isNull(error); + })); + }); +}); + +helper.pg.on('error', function(err, client) { + //swallow errors +}); diff --git a/test/integration/test-helper.js b/test/integration/test-helper.js index 08fea767..55d11420 100644 --- a/test/integration/test-helper.js +++ b/test/integration/test-helper.js @@ -1,10 +1,18 @@ var helper = require(__dirname + '/../test-helper'); -//TODO would this be better served set at ../test-helper? if(helper.args.native) { Client = require(__dirname + '/../../lib/native'); + helper.Client = Client; helper.pg = helper.pg.native; } + +//creates a client from cli parameters +helper.client = function() { + var client = new Client(helper.config); + client.connect(); + return client; +}; + //export parent helper stuffs module.exports = helper; diff --git a/test/unit/test-helper.js b/test/unit/test-helper.js index f57b766a..3bcd21e0 100644 --- a/test/unit/test-helper.js +++ b/test/unit/test-helper.js @@ -6,6 +6,7 @@ MemoryStream = function() { this.packets = []; }; + helper.sys.inherits(MemoryStream, EventEmitter); var p = MemoryStream.prototype; @@ -14,6 +15,8 @@ p.write = function(packet) { this.packets.push(packet); }; +p.writable = true; + createClient = function() { var stream = new MemoryStream(); stream.readyState = "open";