mirror of
https://github.com/brianc/node-postgres.git
synced 2026-01-18 15:55:05 +00:00
47 lines
1.1 KiB
JavaScript
47 lines
1.1 KiB
JavaScript
const Client = require('../')
|
|
const async = require('async')
|
|
const ok = require('okay')
|
|
const bytes = require('crypto').pseudoRandomBytes
|
|
|
|
describe('many connections', function () {
|
|
describe('async', function () {
|
|
const test = function (count, times) {
|
|
it(`connecting ${count} clients ${times} times`, function (done) {
|
|
this.timeout(200000)
|
|
|
|
const connectClient = function (n, cb) {
|
|
const client = new Client()
|
|
client.connect(
|
|
ok(cb, function () {
|
|
bytes(
|
|
1000,
|
|
ok(cb, function (chunk) {
|
|
client.query(
|
|
'SELECT $1::text as txt',
|
|
[chunk.toString('base64')],
|
|
ok(cb, function (rows) {
|
|
client.end(cb)
|
|
})
|
|
)
|
|
})
|
|
)
|
|
})
|
|
)
|
|
}
|
|
|
|
const run = function (n, cb) {
|
|
async.times(count, connectClient, cb)
|
|
}
|
|
|
|
async.timesSeries(times, run, done)
|
|
})
|
|
}
|
|
|
|
test(1, 1)
|
|
test(5, 5)
|
|
test(10, 10)
|
|
test(20, 20)
|
|
test(30, 10)
|
|
})
|
|
})
|