Skip to content

Commit aeb0c75

Browse files
authored
Remove fallbacks for unsupported Node versions (brianc#1304) (brianc#1313)
* Add client connectionString tests (brianc#1310) * Remove redundant tests * Add client connectionString test Add test to ensure { connectionString } is respected as an argument to the client constructor * Add test for connection string property Also fixed some legacy require statements. * Normalize native error properties Map native error properties to the same property names we use for errors from the JS driver. Fixes brianc#972 Fixes brianc#938
1 parent 934ca3a commit aeb0c75

15 files changed

+61
-41
lines changed

lib/native/query.js

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,13 +51,29 @@ NativeQuery.prototype.promise = function() {
5151
return this._promise;
5252
};
5353

54+
var errorFieldMap = {
55+
'sqlState': 'code',
56+
'statementPosition': 'position',
57+
'messagePrimary': 'message',
58+
'context': 'where',
59+
'schemaName': 'schema',
60+
'tableName': 'table',
61+
'columnName': 'column',
62+
'dataTypeName': 'dataType',
63+
'constraintName': 'constraint',
64+
'sourceFile': 'file',
65+
'sourceLine': 'line',
66+
'sourceFunction': 'routine',
67+
};
68+
5469
NativeQuery.prototype.handleError = function(err) {
5570
var self = this;
5671
//copy pq error fields into the error object
5772
var fields = self.native.pq.resultErrorFields();
5873
if(fields) {
5974
for(var key in fields) {
60-
err[key] = fields[key];
75+
var normalizedFieldName = errorFieldMap[key] || key;
76+
err[normalizedFieldName] = fields[key];
6177
}
6278
}
6379
if(self.callback) {

lib/pool-factory.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ var util = require('util');
33
var Pool = require('pg-pool');
44

55
module.exports = function(Client) {
6-
76
var BoundPool = function(options) {
87
var config = { Client: Client };
98
for (var key in options) {
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
var helper = require(__dirname + "/test-helper")
1+
var helper = require("./test-helper")
22
helper.testPoolSize(2);

test/integration/connection-pool/ending-empty-pool-tests.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
var helper = require(__dirname + '/test-helper')
1+
var helper = require('./test-helper')
22

33
var called = false;
44
test('disconnects', function() {

test/integration/connection-pool/ending-pool-tests.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
1-
var helper = require(__dirname + '/test-helper')
1+
var helper = require('./test-helper')
22

33
var called = false;
4+
45
test('disconnects', function() {
56
var sink = new helper.Sink(4, function() {
67
called = true;

test/integration/connection-pool/error-tests.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
var helper = require(__dirname + "/../test-helper");
2-
var pg = require(__dirname + "/../../../lib");
1+
var helper = require("../test-helper");
2+
var pg = require("../../../lib");
33

44
//first make pool hold 2 clients
55
pg.defaults.poolSize = 2;
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
var helper = require(__dirname + "/test-helper")
1+
var helper = require("./test-helper")
22
helper.testPoolSize(40);

test/integration/connection-pool/native-instance-tests.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
var helper = require(__dirname + "/../test-helper")
1+
var helper = require("./../test-helper")
22
var pg = helper.pg
33
var native = helper.args.native
44

test/integration/connection-pool/optional-config-tests.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
var helper = require(__dirname + '/test-helper');
1+
var helper = require('./test-helper');
22

33
//setup defaults
44
helper.pg.defaults.user = helper.args.user;
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
var helper = require(__dirname + "/test-helper")
1+
var helper = require("./test-helper")
22
helper.testPoolSize(1);

test/integration/connection-pool/single-pool-on-object-config-tests.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
var helper = require(__dirname + "/../test-helper");
2-
var pg = require(__dirname + "/../../../lib");
1+
var helper = require("../test-helper");
2+
var pg = require("../../../lib");
33

44
pg.connect(helper.config, assert.success(function(client, done) {
55
assert.equal(Object.keys(pg._pools).length, 1);
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
var helper = require(__dirname + "/test-helper")
1+
var helper = require("./test-helper")
22
helper.testPoolSize(200);
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
var assert = require('assert')
2+
var Client = require('../../lib/client');
3+
var NativeClient = require('../../lib/native');
4+
5+
var client = new Client();
6+
var nativeClient = new NativeClient();
7+
8+
client.connect();
9+
nativeClient.connect((err) => {
10+
client.query('SELECT alsdkfj', (err) => {
11+
client.end();
12+
13+
nativeClient.query('SELECT lkdasjfasd', (nativeErr) => {
14+
for(var key in nativeErr) {
15+
assert.equal(err[key], nativeErr[key], `Expected err.${key} to equal nativeErr.${key}`)
16+
}
17+
nativeClient.end();
18+
});
19+
});
20+
});

test/unit/client/configuration-tests.js

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,17 @@ test('client settings', function() {
5959

6060
test('initializing from a config string', function() {
6161

62+
test('uses connectionString property', function () {
63+
var client = new Client({
64+
connectionString: 'postgres://brian:pass@host1:333/databasename'
65+
})
66+
assert.equal(client.user, 'brian');
67+
assert.equal(client.password, "pass");
68+
assert.equal(client.host, "host1");
69+
assert.equal(client.port, 333);
70+
assert.equal(client.database, "databasename");
71+
})
72+
6273
test('uses the correct values from the config string', function() {
6374
var client = new Client("postgres://brian:pass@host1:333/databasename")
6475
assert.equal(client.user, 'brian');

test/unit/client/connection-string-tests.js

Lines changed: 0 additions & 27 deletions
This file was deleted.

0 commit comments

Comments
 (0)