From 721a2e810ef5e7a1c3fab5d6c6d5f71dced89bb9 Mon Sep 17 00:00:00 2001 From: brianc Date: Mon, 25 Oct 2010 21:43:55 -0500 Subject: [PATCH] integration test refactoring --- .../connection/bound-command-tests.js | 58 +++++++++---------- test/integration/connection/test-helper.js | 34 ++++------- 2 files changed, 39 insertions(+), 53 deletions(-) diff --git a/test/integration/connection/bound-command-tests.js b/test/integration/connection/bound-command-tests.js index 9cbfb16c..5c752bac 100644 --- a/test/integration/connection/bound-command-tests.js +++ b/test/integration/connection/bound-command-tests.js @@ -3,62 +3,58 @@ http://developer.postgresql.org/pgdocs/postgres/protocol-flow.html#PROTOCOL-FLOW test('flushing once', function() { helper.connect(function(con) { + con.parse({ + text: 'select * from ids' + }); + + con.bind(); + con.execute(); + con.flush(); assert.raises(con, 'parseComplete'); assert.raises(con, 'bindComplete'); assert.raises(con, 'dataRow'); - assert.raises(con, 'commandComplete'); - assert.raises(con, 'commandComplete'); - assert.raises(con, 'readyForQuery'); - - con.parse({ - text: 'select * from ids' - }); - con.bind(); - con.execute(); - con.flush(); - con.on('commandComplete', function() { + assert.raises(con, 'commandComplete', function(){ con.sync(); }); - con.on('readyForQuery', function() { + assert.raises(con, 'readyForQuery', function(){ con.end(); }); + }); }); test("sending many flushes", function() { helper.connect(function(con) { - assert.raises(con, 'parseComplete'); - assert.raises(con, 'bindComplete'); - assert.raises(con, 'dataRow'); - assert.raises(con, 'commandComplete'); - assert.raises(con, 'commandComplete'); - assert.raises(con, 'readyForQuery'); - - con.parse({ - text: 'select * from ids' - }); - - con.flush(); - - con.once('parseComplete', function() { + assert.raises(con, 'parseComplete', function(){ con.bind(); con.flush(); }); - con.once('bindComplete', function() { + assert.raises(con, 'bindComplete', function(){ con.execute(); con.flush(); }); - con.once('commandComplete', function() { - con.sync(); + assert.raises(con, 'dataRow', function(msg){ + assert.equal(msg.fields[0], 1); + assert.raises(con, 'dataRow', function(msg){ + assert.equal(msg.fields[0], 2); + assert.raises(con, 'commandComplete', function(){ + con.sync(); + }); + assert.raises(con, 'readyForQuery', function(){ + con.end(); + }); + }); }); - con.once('readyForQuery', function() { - con.end(); + con.parse({ + text: "select * from ids order by id" }); + con.flush(); + }); }); diff --git a/test/integration/connection/test-helper.js b/test/integration/connection/test-helper.js index 42cb8d2a..1fa68293 100644 --- a/test/integration/connection/test-helper.js +++ b/test/integration/connection/test-helper.js @@ -1,37 +1,28 @@ var net = require('net'); var helper = require(__dirname+'/../test-helper'); -var authConnect = function(username, database, callback) { - if(typeof username === 'function') { - callback = username; - username = helper.args.user; - database = helper.args.database; - } - var connection = new Connection({stream: new net.Stream()}); - connection.on('error', function(error){ +var connect = function(callback) { + var username = helper.args.user; + var database = helper.args.database; + var con = new Connection({stream: new net.Stream()}); + con.on('error', function(error){ console.log(error); throw new Error("Connection error"); }); - connection.connect('5432','localhost'); - connection.once('connect', function() { - connection.startup({ + con.connect('5432','localhost'); + con.once('connect', function() { + con.startup({ user: username, database: database }); - connection.once('authenticationCleartextPassword', function(){ - connection.password(helper.args.password); + con.once('authenticationCleartextPassword', function(){ + con.password(helper.args.password); }); - connection.once('authenticationMD5Password', function(msg){ + con.once('authenticationMD5Password', function(msg){ var inner = Client.md5(helper.args.password+helper.args.user); var outer = Client.md5(inner + msg.salt.toString('binary')); - connection.password("md5"+outer); + con.password("md5"+outer); }); - callback(connection); - }); -}; - -var connect = function(callback) { - authConnect(function(con) { con.once('readyForQuery', function() { con.query('create temp table ids(id integer)'); con.once('readyForQuery', function() { @@ -45,6 +36,5 @@ var connect = function(callback) { }; module.exports = { - authConnect: authConnect, connect: connect };