mirror of
https://github.com/brianc/node-postgres.git
synced 2026-01-18 15:55:05 +00:00
use ConnectionParameters for js client properties
This commit is contained in:
parent
9dad56a54e
commit
1e3107aa55
@ -2,6 +2,7 @@ var crypto = require('crypto');
|
||||
var EventEmitter = require('events').EventEmitter;
|
||||
var util = require('util');
|
||||
|
||||
var ConnectionParameters = require(__dirname + '/connection-parameters');
|
||||
var Query = require(__dirname + '/query');
|
||||
var utils = require(__dirname + '/utils');
|
||||
var defaults = require(__dirname + '/defaults');
|
||||
@ -10,20 +11,21 @@ var CopyFromStream = require(__dirname + '/copystream').CopyFromStream;
|
||||
var CopyToStream = require(__dirname + '/copystream').CopyToStream;
|
||||
var Client = function(config) {
|
||||
EventEmitter.call(this);
|
||||
if(typeof config === 'string') {
|
||||
config = utils.normalizeConnectionInfo(config)
|
||||
}
|
||||
|
||||
this.connectionParameters = new ConnectionParameters(config);
|
||||
this.user = this.connectionParameters.user;
|
||||
this.database = this.connectionParameters.database;
|
||||
this.port = this.connectionParameters.port;
|
||||
this.host = this.connectionParameters.host;
|
||||
this.password = this.connectionParameters.password;
|
||||
|
||||
config = config || {};
|
||||
this.user = config.user || defaults.user;
|
||||
this.database = config.database || defaults.database;
|
||||
this.port = config.port || defaults.port;
|
||||
this.host = config.host || defaults.host;
|
||||
|
||||
this.connection = config.connection || new Connection({
|
||||
stream: config.stream,
|
||||
ssl: config.ssl
|
||||
});
|
||||
this.queryQueue = [];
|
||||
this.password = config.password || defaults.password;
|
||||
this.binary = config.binary || defaults.binary;
|
||||
this.encoding = 'utf8';
|
||||
this.processID = null;
|
||||
|
||||
@ -1,6 +1,13 @@
|
||||
var helper = require(__dirname + '/test-helper');
|
||||
var pg = helper.pg;
|
||||
|
||||
//clear process.env
|
||||
var realEnv = {};
|
||||
for(var key in process.env) {
|
||||
realEnv[key] = process.env[key];
|
||||
if(!key.indexOf('PG')) delete process.env[key];
|
||||
}
|
||||
|
||||
test('default values', function() {
|
||||
assert.same(pg.defaults,{
|
||||
user: process.env.USER,
|
||||
@ -44,3 +51,8 @@ if(!helper.args.native) {
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
//restore process.env
|
||||
for(var key in realEnv) {
|
||||
process.env[key] = realEnv[key];
|
||||
}
|
||||
|
||||
@ -4,8 +4,8 @@ test('client settings', function() {
|
||||
|
||||
test('defaults', function() {
|
||||
var client = new Client();
|
||||
assert.equal(client.user, process.env.USER);
|
||||
assert.equal(client.database, process.env.USER);
|
||||
assert.equal(client.user, process.env['PGUSER'] || process.env.USER);
|
||||
assert.equal(client.database, process.env['PGDATABASE'] || process.env.USER);
|
||||
assert.equal(client.port, 5432);
|
||||
});
|
||||
|
||||
@ -41,11 +41,11 @@ test('initializing from a config string', function() {
|
||||
|
||||
test('when not including all values the defaults are used', function() {
|
||||
var client = new Client("pg://host1")
|
||||
assert.equal(client.user, process.env.USER)
|
||||
assert.equal(client.password, null)
|
||||
assert.equal(client.user, process.env['PGUSER'] || process.env.USER)
|
||||
assert.equal(client.password, process.env['PGPASSWORD'] || null)
|
||||
assert.equal(client.host, "host1")
|
||||
assert.equal(client.port, 5432)
|
||||
assert.equal(client.database, process.env.USER)
|
||||
assert.equal(client.port, process.env['PGPORT'] || 5432)
|
||||
assert.equal(client.database, process.env['PGDATABASE'] || process.env.USER)
|
||||
})
|
||||
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user