Brian C 50c06f9bc6
Remove test globals (#3264)
* Remove assert from globals

* Remove Client from globals

* Remove global test function

* Remove MemoryStream from globals

* Require assert in SASL integration tests

* Attempt to use a postgres with ssl?

* Use latest image

* Remove connection tests - they test internals that are better covered by testint the client
2024-06-19 13:46:16 -05:00

83 lines
2.0 KiB
JavaScript

'use strict'
const helper = require('./test-helper')
const assert = require('assert')
var Connection = require('../../../lib/connection')
const suite = new helper.Suite()
const test = suite.test.bind(suite)
const { MemoryStream } = helper
test('connection can take existing stream', function () {
var stream = new MemoryStream()
var con = new Connection({ stream: stream })
assert.equal(con.stream, stream)
})
test('connection can take stream factory method', function () {
var stream = new MemoryStream()
var connectionOpts = {}
var makeStream = function (opts) {
assert.equal(connectionOpts, opts)
return stream
}
connectionOpts.stream = makeStream
var con = new Connection(connectionOpts)
assert.equal(con.stream, stream)
})
test('using any stream', function () {
var makeStream = function () {
var stream = new MemoryStream()
stream.connect = function (port, host) {
this.connectCalled = true
this.port = port
this.host = host
}
return stream
}
var stream = makeStream()
var con = new Connection({ stream: stream })
con.connect(1234, 'bang')
test('makes stream connect', function () {
assert.equal(stream.connectCalled, true)
})
test('uses configured port', function () {
assert.equal(stream.port, 1234)
})
test('uses configured host', function () {
assert.equal(stream.host, 'bang')
})
test('after stream connects client emits connected event', function () {
var hit = false
con.once('connect', function () {
hit = true
})
assert.ok(stream.emit('connect'))
assert.ok(hit)
})
test('after stream emits connected event init TCP-keepalive', function () {
var stream = makeStream()
var con = new Connection({ stream: stream, keepAlive: true })
con.connect(123, 'test')
var res = false
stream.setKeepAlive = function (bit) {
res = bit
}
assert.ok(stream.emit('connect'))
setTimeout(function () {
assert.equal(res, true)
})
})
})