mirror of
https://github.com/brianc/node-postgres.git
synced 2025-12-08 20:16:25 +00:00
make booo's tests pass for the native client
This commit is contained in:
parent
38f4b04140
commit
2835f25e3f
@ -12,11 +12,28 @@ var p = Connection.prototype;
|
||||
|
||||
var nativeConnect = p.connect;
|
||||
|
||||
p.connect = function() {
|
||||
p.connect = function(cb) {
|
||||
var self = this;
|
||||
utils.buildLibpqConnectionString(this._config, function(err, conString) {
|
||||
if(err) return self.emit('error', err);
|
||||
if(err) {
|
||||
return cb ? cb(err) : self.emit('error', err);
|
||||
}
|
||||
nativeConnect.call(self, conString);
|
||||
if(cb) {
|
||||
var errCallback;
|
||||
var connectCallback = function() {
|
||||
//remove single-fire connection error callback
|
||||
self.removeListener('error', errCallback);
|
||||
cb(null);
|
||||
}
|
||||
errCallback = function(err) {
|
||||
//remove singel-fire connection success callback
|
||||
self.removeListener('connect', connectCallback);
|
||||
cb(err);
|
||||
}
|
||||
self.once('connect', connectCallback);
|
||||
self.once('error', errCallback);
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
@ -89,17 +89,31 @@ test('error handling', function(){
|
||||
});
|
||||
|
||||
test('non-query error with callback', function() {
|
||||
|
||||
var client = new Client({
|
||||
user:'asldkfjsadlfkj'
|
||||
});
|
||||
client.connect(function(error, client) {
|
||||
client.connect(assert.calls(function(error, client) {
|
||||
assert.ok(error);
|
||||
});
|
||||
}));
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
test('non-error calls supplied callback', function() {
|
||||
var client = new Client({
|
||||
user: helper.args.user,
|
||||
password: helper.args.password,
|
||||
host: helper.args.host,
|
||||
port: helper.args.port,
|
||||
database: helper.args.database
|
||||
});
|
||||
|
||||
client.connect(assert.calls(function(err) {
|
||||
assert.isNull(err);
|
||||
client.end();
|
||||
}))
|
||||
});
|
||||
|
||||
test('when connecting to invalid host', function() {
|
||||
var client = new Client({
|
||||
user: 'brian',
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user