mirror of
https://github.com/brianc/node-postgres.git
synced 2026-01-18 15:55:05 +00:00
Replaces __dirname concatentation in pg test scripts so that editors like VS Code can automatically generate typings and support code navigation (F12).
98 lines
2.4 KiB
JavaScript
98 lines
2.4 KiB
JavaScript
'use strict'
|
|
var helper = require('./test-helper')
|
|
var Client = helper.Client
|
|
|
|
var suite = new helper.Suite()
|
|
|
|
var conInfo = helper.config
|
|
|
|
function getConInfo(override) {
|
|
return Object.assign({}, conInfo, override)
|
|
}
|
|
|
|
function getAppName(conf, cb) {
|
|
var client = new Client(conf)
|
|
client.connect(
|
|
assert.success(function () {
|
|
client.query(
|
|
'SHOW application_name',
|
|
assert.success(function (res) {
|
|
var appName = res.rows[0].application_name
|
|
cb(appName)
|
|
client.end()
|
|
})
|
|
)
|
|
})
|
|
)
|
|
}
|
|
|
|
suite.test('No default appliation_name ', function (done) {
|
|
var conf = getConInfo()
|
|
getAppName({}, function (res) {
|
|
assert.strictEqual(res, '')
|
|
done()
|
|
})
|
|
})
|
|
|
|
suite.test('fallback_application_name is used', function (done) {
|
|
var fbAppName = 'this is my app'
|
|
var conf = getConInfo({
|
|
fallback_application_name: fbAppName,
|
|
})
|
|
getAppName(conf, function (res) {
|
|
assert.strictEqual(res, fbAppName)
|
|
done()
|
|
})
|
|
})
|
|
|
|
suite.test('application_name is used', function (done) {
|
|
var appName = 'some wired !@#$% application_name'
|
|
var conf = getConInfo({
|
|
application_name: appName,
|
|
})
|
|
getAppName(conf, function (res) {
|
|
assert.strictEqual(res, appName)
|
|
done()
|
|
})
|
|
})
|
|
|
|
suite.test('application_name has precedence over fallback_application_name', function (done) {
|
|
var appName = 'some wired !@#$% application_name'
|
|
var fbAppName = 'some other strange $$test$$ appname'
|
|
var conf = getConInfo({
|
|
application_name: appName,
|
|
fallback_application_name: fbAppName,
|
|
})
|
|
getAppName(conf, function (res) {
|
|
assert.strictEqual(res, appName)
|
|
done()
|
|
})
|
|
})
|
|
|
|
suite.test('application_name from connection string', function (done) {
|
|
var appName = 'my app'
|
|
var conParams = require('../../../lib/connection-parameters')
|
|
var conf
|
|
if (process.argv[2]) {
|
|
conf = new conParams(process.argv[2] + '?application_name=' + appName)
|
|
} else {
|
|
conf = 'postgres://?application_name=' + appName
|
|
}
|
|
getAppName(conf, function (res) {
|
|
assert.strictEqual(res, appName)
|
|
done()
|
|
})
|
|
})
|
|
|
|
// TODO: make the test work for native client too
|
|
if (!helper.args.native) {
|
|
suite.test('application_name is read from the env', function (done) {
|
|
var appName = (process.env.PGAPPNAME = 'testest')
|
|
getAppName({}, function (res) {
|
|
delete process.env.PGAPPNAME
|
|
assert.strictEqual(res, appName)
|
|
done()
|
|
})
|
|
})
|
|
}
|