From ebe412cf243be35d21ead496d736755217933266 Mon Sep 17 00:00:00 2001 From: Brian C Date: Wed, 11 Nov 2020 10:41:20 -0600 Subject: [PATCH] Support "true" as string for ssl (#2407) Fixes 2406 --- packages/pg/lib/connection-parameters.js | 5 +++++ .../pg/test/unit/connection-parameters/creation-tests.js | 6 +++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/packages/pg/lib/connection-parameters.js b/packages/pg/lib/connection-parameters.js index 62bee8c85..165e6d5d3 100644 --- a/packages/pg/lib/connection-parameters.js +++ b/packages/pg/lib/connection-parameters.js @@ -80,6 +80,11 @@ class ConnectionParameters { this.ssl = typeof config.ssl === 'undefined' ? readSSLConfigFromEnvironment() : config.ssl + if (typeof this.ssl === 'string') { + if (this.ssl === 'true') { + this.ssl = true + } + } // support passing in ssl=no-verify via connection string if (this.ssl === 'no-verify') { this.ssl = { rejectUnauthorized: false } diff --git a/packages/pg/test/unit/connection-parameters/creation-tests.js b/packages/pg/test/unit/connection-parameters/creation-tests.js index e4dd1af72..633b0eaf4 100644 --- a/packages/pg/test/unit/connection-parameters/creation-tests.js +++ b/packages/pg/test/unit/connection-parameters/creation-tests.js @@ -257,7 +257,6 @@ test('libpq connection string building', function () { }) test('password contains < and/or > characters', function () { - return false var sourceConfig = { user: 'brian', password: 'helloe', @@ -308,6 +307,11 @@ test('libpq connection string building', function () { assert(c.ssl, 'Client should have ssl enabled via defaults') }) + test('coercing string "true" to boolean', function () { + const subject = new ConnectionParameters({ ssl: 'true' }) + assert.strictEqual(subject.ssl, true) + }) + test('ssl is set on client', function () { var sourceConfig = { user: 'brian',