From e3f89ce5d9ce8df38c87f9df848b0e5bbe314b71 Mon Sep 17 00:00:00 2001 From: Shayon Mukherjee Date: Sat, 24 Oct 2020 13:39:44 -0700 Subject: [PATCH] Skip adding options twice and extend specs --- packages/pg/lib/connection-parameters.js | 1 - .../connection-parameters/creation-tests.js | 24 +++++++++++++++++-- 2 files changed, 22 insertions(+), 3 deletions(-) diff --git a/packages/pg/lib/connection-parameters.js b/packages/pg/lib/connection-parameters.js index 8258fd3d4..c5914a1a7 100644 --- a/packages/pg/lib/connection-parameters.js +++ b/packages/pg/lib/connection-parameters.js @@ -143,7 +143,6 @@ class ConnectionParameters { add(params, this, 'application_name') add(params, this, 'fallback_application_name') add(params, this, 'connect_timeout') - add(params, this, 'options') addOption(pgOptions, this, 'statement_timeout') addOption(pgOptions, this, 'idle_in_transaction_session_timeout') diff --git a/packages/pg/test/unit/connection-parameters/creation-tests.js b/packages/pg/test/unit/connection-parameters/creation-tests.js index 1432b2883..f4229aecc 100644 --- a/packages/pg/test/unit/connection-parameters/creation-tests.js +++ b/packages/pg/test/unit/connection-parameters/creation-tests.js @@ -172,7 +172,7 @@ test('libpq connection string building', function () { ) }) - test('builds conn string with options', function () { + test('builds conn string with options and statement_timeout', function () { var config = { user: 'brian', password: 'xyz', @@ -181,13 +181,33 @@ test('libpq connection string building', function () { database: 'bam', statement_timeout: 5000, idle_in_transaction_session_timeout: 5000, + options: '-c geqo=off -c foobar=off', } var subject = new ConnectionParameters(config) subject.getLibpqConnectionString( assert.calls(function (err, constring) { assert(!err) var parts = constring.split(/ (?=([^\']*\'[^\']*\')*[^\']*$)/) - checkForPart(parts, "options='-c statement_timeout=5000 -c idle_in_transaction_session_timeout=5000'") + checkForPart(parts, "options='-c statement_timeout=5000 -c idle_in_transaction_session_timeout=5000 -c geqo=off -c foobar=off'") + }) + ) + }) + + test('builds conn string with options and without statement_timeout', function () { + var config = { + user: 'brian', + password: 'xyz', + port: 888, + host: 'localhost', + database: 'bam', + options: '-c geqo=off -c foobar=off', + } + var subject = new ConnectionParameters(config) + subject.getLibpqConnectionString( + assert.calls(function (err, constring) { + assert(!err) + var parts = constring.split(/ (?=([^\']*\'[^\']*\')*[^\']*$)/) + checkForPart(parts, "options='-c geqo=off -c foobar=off'") }) ) })