Skip to content

Commit 2835f25

Browse files
committed
make booo's tests pass for the native client
1 parent 38f4b04 commit 2835f25

File tree

2 files changed

+36
-5
lines changed

2 files changed

+36
-5
lines changed

lib/native/index.js

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,28 @@ var p = Connection.prototype;
1212

1313
var nativeConnect = p.connect;
1414

15-
p.connect = function() {
15+
p.connect = function(cb) {
1616
var self = this;
1717
utils.buildLibpqConnectionString(this._config, function(err, conString) {
18-
if(err) return self.emit('error', err);
18+
if(err) {
19+
return cb ? cb(err) : self.emit('error', err);
20+
}
1921
nativeConnect.call(self, conString);
22+
if(cb) {
23+
var errCallback;
24+
var connectCallback = function() {
25+
//remove single-fire connection error callback
26+
self.removeListener('error', errCallback);
27+
cb(null);
28+
}
29+
errCallback = function(err) {
30+
//remove singel-fire connection success callback
31+
self.removeListener('connect', connectCallback);
32+
cb(err);
33+
}
34+
self.once('connect', connectCallback);
35+
self.once('error', errCallback);
36+
}
2037
})
2138
}
2239

test/integration/client/error-handling-tests.js

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -89,15 +89,29 @@ test('error handling', function(){
8989
});
9090

9191
test('non-query error with callback', function() {
92-
9392
var client = new Client({
9493
user:'asldkfjsadlfkj'
9594
});
96-
client.connect(function(error, client) {
95+
client.connect(assert.calls(function(error, client) {
9796
assert.ok(error);
98-
});
97+
}));
98+
});
99+
100+
});
101+
102+
test('non-error calls supplied callback', function() {
103+
var client = new Client({
104+
user: helper.args.user,
105+
password: helper.args.password,
106+
host: helper.args.host,
107+
port: helper.args.port,
108+
database: helper.args.database
99109
});
100110

111+
client.connect(assert.calls(function(err) {
112+
assert.isNull(err);
113+
client.end();
114+
}))
101115
});
102116

103117
test('when connecting to invalid host', function() {

0 commit comments

Comments
 (0)