Skip to content

Commit 8bed670

Browse files
committed
Add more error handling to error handling tests
1 parent 07988f9 commit 8bed670

File tree

2 files changed

+35
-13
lines changed

2 files changed

+35
-13
lines changed

Diff for: packages/pg/test/integration/client/error-handling-tests.js

+26-13
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,10 @@ const suite = new helper.Suite('error handling')
1919

2020
suite.test('sending non-array argument as values causes an error callback', (done) => {
2121
const client = new Client()
22-
client.connect(() => {
22+
client.connect((err) => {
23+
if (err) {
24+
return done(err)
25+
}
2326
client.query('select $1::text as name', 'foo', (err) => {
2427
assert(err instanceof Error)
2528
client.query('SELECT $1::text as name', ['foo'], (err, res) => {
@@ -32,27 +35,33 @@ suite.test('sending non-array argument as values causes an error callback', (don
3235

3336
suite.test('re-using connections results in error callback', (done) => {
3437
const client = new Client()
35-
client.connect(() => {
38+
client.connect((err) => {
39+
if (err) {
40+
return done(err)
41+
}
3642
client.connect((err) => {
3743
assert(err instanceof Error)
3844
client.end(done)
3945
})
4046
})
4147
})
4248

43-
suite.test('re-using connections results in promise rejection', (done) => {
49+
suite.testAsync('re-using connections results in promise rejection', () => {
4450
const client = new Client()
45-
client.connect().then(() => {
46-
client.connect().catch((err) => {
51+
return client.connect().then(() => {
52+
return helper.rejection(client.connect()).then((err) => {
4753
assert(err instanceof Error)
48-
client.end().then(done)
54+
return client.end()
4955
})
5056
})
5157
})
5258

5359
suite.test('using a client after closing it results in error', (done) => {
5460
const client = new Client()
55-
client.connect(() => {
61+
client.connect((err) => {
62+
if (err) {
63+
return done(err)
64+
}
5665
client.end(
5766
assert.calls(() => {
5867
client.query(
@@ -227,12 +236,16 @@ suite.test('connected, idle client error', (done) => {
227236

228237
suite.test('cannot pass non-string values to query as text', (done) => {
229238
const client = new Client()
230-
client.connect()
231-
client.query({ text: {} }, (err) => {
232-
assert(err)
233-
client.query({}, (err) => {
234-
client.on('drain', () => {
235-
client.end(done)
239+
client.connect((err) => {
240+
if (err) {
241+
return done(err)
242+
}
243+
client.query({ text: {} }, (err) => {
244+
assert(err)
245+
client.query({}, (err) => {
246+
client.on('drain', () => {
247+
client.end(done)
248+
})
236249
})
237250
})
238251
})

Diff for: packages/pg/test/test-helper.js

+9
Original file line numberDiff line numberDiff line change
@@ -232,6 +232,14 @@ var resetTimezoneOffset = function () {
232232
Date.prototype.getTimezoneOffset = getTimezoneOffset
233233
}
234234

235+
const rejection = (promise) =>
236+
promise.then(
237+
(value) => {
238+
throw new Error(`Promise resolved when rejection was expected; value: ${sys.inspect(value)}`)
239+
},
240+
(error) => error
241+
)
242+
235243
module.exports = {
236244
Sink: Sink,
237245
Suite: Suite,
@@ -242,4 +250,5 @@ module.exports = {
242250
Client: Client,
243251
setTimezoneOffset: setTimezoneOffset,
244252
resetTimezoneOffset: resetTimezoneOffset,
253+
rejection: rejection,
245254
}

0 commit comments

Comments
 (0)