Skip to content

Commit 4d795cf

Browse files
authored
chore: lf
1 parent 967d7b7 commit 4d795cf

File tree

1 file changed

+95
-95
lines changed

1 file changed

+95
-95
lines changed
Lines changed: 95 additions & 95 deletions
Original file line numberDiff line numberDiff line change
@@ -1,95 +1,95 @@
1-
'use strict'
2-
3-
const helper = require('../test-helper')
4-
const { Client } = require('../../../')
5-
6-
const suite = new helper.Suite()
7-
8-
suite.test('pipelining property can be set and retrieved', (cb) => {
9-
const client = new Client(helper.config)
10-
// Initially false
11-
helper.assert.equal(client.pipelining, false)
12-
client.connect((err) => {
13-
if (err) return cb(err)
14-
// Can be set to true after connection
15-
client.pipelining = true
16-
helper.assert.equal(client.pipelining, true)
17-
// Can be set back to false
18-
client.pipelining = false
19-
helper.assert.equal(client.pipelining, false)
20-
client.end(cb)
21-
})
22-
})
23-
24-
suite.test('cannot enable pipelining before connection', (cb) => {
25-
const client = new Client(helper.config)
26-
try {
27-
client.pipelining = true
28-
helper.assert.fail('Should have thrown error')
29-
} catch (err) {
30-
helper.assert.equal(err.message, 'Cannot enable pipelining mode before connection is established')
31-
cb()
32-
}
33-
})
34-
35-
suite.test('pipelining mode allows multiple parameterized queries', (cb) => {
36-
const client = new Client(helper.config)
37-
client.connect((err) => {
38-
if (err) return cb(err)
39-
client.pipelining = true
40-
let completed = 0
41-
const results = []
42-
// Send multiple queries in pipeline mode
43-
client.query('SELECT $1::text as message', ['Hello'], (err, result) => {
44-
if (err) return cb(err)
45-
results[0] = result
46-
completed++
47-
if (completed === 3) checkResults()
48-
})
49-
client.query('SELECT $1::int as number', [42], (err, result) => {
50-
if (err) return cb(err)
51-
results[1] = result
52-
completed++
53-
if (completed === 3) checkResults()
54-
})
55-
client.query('SELECT $1::text as greeting', ['World'], (err, result) => {
56-
if (err) return cb(err)
57-
results[2] = result
58-
completed++
59-
if (completed === 3) checkResults()
60-
})
61-
function checkResults() {
62-
helper.assert.equal(results[0].rows[0].message, 'Hello')
63-
helper.assert.equal(results[1].rows[0].number, 42)
64-
helper.assert.equal(results[2].rows[0].greeting, 'World')
65-
client.end(cb)
66-
}
67-
})
68-
})
69-
70-
suite.test('pipelining mode rejects simple queries', (cb) => {
71-
const client = new Client(helper.config)
72-
client.connect((err) => {
73-
if (err) return cb(err)
74-
client.pipelining = true
75-
client.query('SELECT 1', (err, result) => {
76-
helper.assert(err)
77-
helper.assert.equal(err.message, 'Simple query protocol is not allowed in pipeline mode. Use parameterized queries.')
78-
client.end(cb)
79-
})
80-
})
81-
})
82-
83-
suite.test('pipelining mode rejects multi-statement queries', (cb) => {
84-
const client = new Client(helper.config)
85-
client.connect((err) => {
86-
if (err) return cb(err)
87-
client.pipelining = true
88-
client.query('SELECT $1; SELECT $2', [1, 2], (err, result) => {
89-
helper.assert(err)
90-
helper.assert.equal(err.message, 'Multiple SQL commands in a single query are not allowed in pipeline mode')
91-
client.end(cb)
92-
})
93-
})
94-
})
95-
module.exports = suite
1+
'use strict'
2+
3+
const helper = require('../test-helper')
4+
const { Client } = require('../../../')
5+
6+
const suite = new helper.Suite()
7+
8+
suite.test('pipelining property can be set and retrieved', (cb) => {
9+
const client = new Client(helper.config)
10+
// Initially false
11+
helper.assert.equal(client.pipelining, false)
12+
client.connect((err) => {
13+
if (err) return cb(err)
14+
// Can be set to true after connection
15+
client.pipelining = true
16+
helper.assert.equal(client.pipelining, true)
17+
// Can be set back to false
18+
client.pipelining = false
19+
helper.assert.equal(client.pipelining, false)
20+
client.end(cb)
21+
})
22+
})
23+
24+
suite.test('cannot enable pipelining before connection', (cb) => {
25+
const client = new Client(helper.config)
26+
try {
27+
client.pipelining = true
28+
helper.assert.fail('Should have thrown error')
29+
} catch (err) {
30+
helper.assert.equal(err.message, 'Cannot enable pipelining mode before connection is established')
31+
cb()
32+
}
33+
})
34+
35+
suite.test('pipelining mode allows multiple parameterized queries', (cb) => {
36+
const client = new Client(helper.config)
37+
client.connect((err) => {
38+
if (err) return cb(err)
39+
client.pipelining = true
40+
let completed = 0
41+
const results = []
42+
// Send multiple queries in pipeline mode
43+
client.query('SELECT $1::text as message', ['Hello'], (err, result) => {
44+
if (err) return cb(err)
45+
results[0] = result
46+
completed++
47+
if (completed === 3) checkResults()
48+
})
49+
client.query('SELECT $1::int as number', [42], (err, result) => {
50+
if (err) return cb(err)
51+
results[1] = result
52+
completed++
53+
if (completed === 3) checkResults()
54+
})
55+
client.query('SELECT $1::text as greeting', ['World'], (err, result) => {
56+
if (err) return cb(err)
57+
results[2] = result
58+
completed++
59+
if (completed === 3) checkResults()
60+
})
61+
function checkResults() {
62+
helper.assert.equal(results[0].rows[0].message, 'Hello')
63+
helper.assert.equal(results[1].rows[0].number, 42)
64+
helper.assert.equal(results[2].rows[0].greeting, 'World')
65+
client.end(cb)
66+
}
67+
})
68+
})
69+
70+
suite.test('pipelining mode rejects simple queries', (cb) => {
71+
const client = new Client(helper.config)
72+
client.connect((err) => {
73+
if (err) return cb(err)
74+
client.pipelining = true
75+
client.query('SELECT 1', (err, result) => {
76+
helper.assert(err)
77+
helper.assert.equal(err.message, 'Simple query protocol is not allowed in pipeline mode. Use parameterized queries.')
78+
client.end(cb)
79+
})
80+
})
81+
})
82+
83+
suite.test('pipelining mode rejects multi-statement queries', (cb) => {
84+
const client = new Client(helper.config)
85+
client.connect((err) => {
86+
if (err) return cb(err)
87+
client.pipelining = true
88+
client.query('SELECT $1; SELECT $2', [1, 2], (err, result) => {
89+
helper.assert(err)
90+
helper.assert.equal(err.message, 'Multiple SQL commands in a single query are not allowed in pipeline mode')
91+
client.end(cb)
92+
})
93+
})
94+
})
95+
module.exports = suite

0 commit comments

Comments
 (0)