node-postgres/packages/pg/test/unit/test-helper.js
Charmander 149f482324 Replace uses of private/undocumented readyState API
The `readyState` of a newly-created `net.Socket` changed from `'closed'` to `'open'` in Node 14.0.0, so this makes the JS driver work on Node 14.

`Connection` now always calls `connect` on its `stream` when `connect` is called on it.
2020-04-21 23:20:48 -07:00

47 lines
829 B
JavaScript

'use strict'
var EventEmitter = require('events').EventEmitter
var helper = require('../test-helper')
var Connection = require('../../lib/connection')
global.MemoryStream = function () {
EventEmitter.call(this)
this.packets = []
}
helper.sys.inherits(MemoryStream, EventEmitter)
var p = MemoryStream.prototype
p.connect = function () {
// NOOP
}
p.write = function (packet, cb) {
this.packets.push(packet)
if (cb) {
cb()
}
}
p.end = function () {
p.closed = true
}
p.setKeepAlive = function () {}
p.closed = false
p.writable = true
const createClient = function () {
var stream = new MemoryStream()
var client = new Client({
connection: new Connection({ stream: stream }),
})
client.connect()
return client
}
module.exports = Object.assign({}, helper, {
createClient: createClient,
})