mirror of
https://github.com/brianc/node-postgres.git
synced 2025-12-08 20:16:25 +00:00
integration test refactoring
This commit is contained in:
parent
3e0c2e4809
commit
721a2e810e
@ -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();
|
||||
|
||||
});
|
||||
});
|
||||
|
||||
@ -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
|
||||
};
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user