diff --git a/.travis.yml b/.travis.yml index bd55b4ef0..b20e44e55 100644 --- a/.travis.yml +++ b/.travis.yml @@ -14,6 +14,7 @@ matrix: PGSSLROOTCERT=$TRAVIS_BUILD_DIR/packages/pg/test/tls/test-server-ca.crt PGSSLCERT=$TRAVIS_BUILD_DIR/packages/pg/test/tls/test-client.crt PGSSLKEY=$TRAVIS_BUILD_DIR/packages/pg/test/tls/test-client.key + PG_CLIENT_CERT_TEST=1 before_script: - | cat <<'travis ci breaks heredoc' | sudo tee -a /etc/postgresql/10/main/postgresql.conf @@ -26,6 +27,6 @@ matrix: - sudo make -C packages/pg/test/tls install DESTDIR=/etc/postgresql/10/main - sudo systemctl restart postgresql - yarn build - - node packages/pg/script/create-test-tables.js postgresql:/// script: | - yarn lerna exec --scope pg yarn test + node packages/pg/test/integration/connection-pool/test-tls.js + node packages/pg/test/integration/connection-pool/test-tls.js native diff --git a/packages/pg/script/create-test-tables.js b/packages/pg/script/create-test-tables.js index 495a5d1bb..93d0d4231 100644 --- a/packages/pg/script/create-test-tables.js +++ b/packages/pg/script/create-test-tables.js @@ -56,8 +56,6 @@ if (process.env.PGSSLMODE) { } } -console.log('%O', config.ssl) - var con = new pg.Client(config) con.connect((err) => { diff --git a/packages/pg/test/integration/connection-pool/tls-tests.js b/packages/pg/test/integration/connection-pool/tls-tests.js new file mode 100644 index 000000000..f85941d45 --- /dev/null +++ b/packages/pg/test/integration/connection-pool/tls-tests.js @@ -0,0 +1,23 @@ +'use strict' + +const fs = require('fs') + +const helper = require('./test-helper') +const pg = helper.pg + +const suite = new helper.Suite() + +if (process.env.PG_CLIENT_CERT_TEST) { + suite.testAsync('client certificate', async () => { + const pool = new pg.Pool({ + ssl: { + ca: fs.readFileSync(process.env.PGSSLROOTCERT), + cert: fs.readFileSync(process.env.PGSSLCERT), + key: fs.readFileSync(process.env.PGSSLKEY), + }, + }) + + await pool.query('SELECT 1') + await pool.end() + }) +}