From edd0c06c85f7b8f0baa5c8df6895e57858132fa3 Mon Sep 17 00:00:00 2001 From: "Brian M. Carlson" Date: Wed, 8 Jul 2020 11:24:27 -0500 Subject: [PATCH] Add integration test --- packages/pg-connection-string/index.js | 1 + packages/pg-connection-string/test/parse.js | 4 ++-- .../client/connection-parameter-tests.js | 13 +++++++++++++ 3 files changed, 16 insertions(+), 2 deletions(-) create mode 100644 packages/pg/test/integration/client/connection-parameter-tests.js diff --git a/packages/pg-connection-string/index.js b/packages/pg-connection-string/index.js index 65951c374..0662178a4 100644 --- a/packages/pg-connection-string/index.js +++ b/packages/pg-connection-string/index.js @@ -20,6 +20,7 @@ function parse(str) { / |%[^a-f0-9]|%[a-f0-9][^a-f0-9]/i.test(str) ? encodeURI(str).replace(/\%25(\d\d)/g, '%$1') : str, true ) + var config = result.query for (var k in config) { if (Array.isArray(config[k])) { diff --git a/packages/pg-connection-string/test/parse.js b/packages/pg-connection-string/test/parse.js index 035b025d1..0f4d1c607 100644 --- a/packages/pg-connection-string/test/parse.js +++ b/packages/pg-connection-string/test/parse.js @@ -188,8 +188,8 @@ describe('parse', function () { subject.fallback_application_name.should.equal('TheAppFallback') }) - it('configuration parameter options', function () { - var connectionString = 'pg:///?options=-c geqo=off' + it.only('configuration parameter options', function () { + var connectionString = `pg:///?options=${encodeURIComponent('-c geqo=off')}` var subject = parse(connectionString) subject.options.should.equal('-c geqo=off') }) diff --git a/packages/pg/test/integration/client/connection-parameter-tests.js b/packages/pg/test/integration/client/connection-parameter-tests.js new file mode 100644 index 000000000..b3bf74c36 --- /dev/null +++ b/packages/pg/test/integration/client/connection-parameter-tests.js @@ -0,0 +1,13 @@ +const helper = require('../test-helper') +const suite = new helper.Suite() +const { Client } = helper.pg + +suite.test('it sends options', async () => { + const client = new Client({ + options: '--default_transaction_isolation=serializable', + }) + await client.connect() + const { rows } = await client.query('SHOW default_transaction_isolation') + console.log(rows) + await client.end() +})