11'use strict'
22var helper = require ( __dirname + '/../test-helper' )
3+ const Suite = require ( '../../suite' )
4+
35var assert = require ( 'assert' )
46var ConnectionParameters = require ( __dirname + '/../../../lib/connection-parameters' )
57var defaults = require ( __dirname + '/../../../lib' ) . defaults
@@ -11,7 +13,17 @@ for (var key in process.env) {
1113 delete process . env [ key ]
1214}
1315
14- test ( 'ConnectionParameters initialized from environment variables' , function ( t ) {
16+ const suite = new Suite ( 'ConnectionParameters' )
17+
18+ const clearEnv = ( ) => {
19+ // clear process.env
20+ for ( var key in process . env ) {
21+ delete process . env [ key ]
22+ }
23+ }
24+
25+ suite . test ( 'ConnectionParameters initialized from environment variables' , function ( ) {
26+ clearEnv ( )
1527 process . env [ 'PGHOST' ] = 'local'
1628 process . env [ 'PGUSER' ] = 'bmc2'
1729 process . env [ 'PGPORT' ] = 7890
@@ -26,7 +38,13 @@ test('ConnectionParameters initialized from environment variables', function (t)
2638 assert . equal ( subject . password , 'open' , 'env password' )
2739} )
2840
29- test ( 'ConnectionParameters initialized from mix' , function ( t ) {
41+ suite . test ( 'ConnectionParameters initialized from mix' , function ( ) {
42+ clearEnv ( )
43+ process . env [ 'PGHOST' ] = 'local'
44+ process . env [ 'PGUSER' ] = 'bmc2'
45+ process . env [ 'PGPORT' ] = 7890
46+ process . env [ 'PGDATABASE' ] = 'allyerbase'
47+ process . env [ 'PGPASSWORD' ] = 'open'
3048 delete process . env [ 'PGPASSWORD' ]
3149 delete process . env [ 'PGDATABASE' ]
3250 var subject = new ConnectionParameters ( {
@@ -40,12 +58,8 @@ test('ConnectionParameters initialized from mix', function (t) {
4058 assert . equal ( subject . password , defaults . password , 'defaults password' )
4159} )
4260
43- // clear process.env
44- for ( var key in process . env ) {
45- delete process . env [ key ]
46- }
47-
48- test ( 'connection string parsing' , function ( t ) {
61+ suite . test ( 'connection string parsing' , function ( ) {
62+ clearEnv ( )
4963 var string = 'postgres://brian:pw@boom:381/lala'
5064 var subject = new ConnectionParameters ( string )
5165 assert . equal ( subject . host , 'boom' , 'string host' )
@@ -55,7 +69,10 @@ test('connection string parsing', function (t) {
5569 assert . equal ( subject . database , 'lala' , 'string database' )
5670} )
5771
58- test ( 'connection string parsing - ssl' , function ( t ) {
72+ suite . test ( 'connection string parsing - ssl' , function ( ) {
73+ // clear process.env
74+ clearEnv ( )
75+
5976 var string = 'postgres://brian:pw@boom:381/lala?ssl=true'
6077 var subject = new ConnectionParameters ( string )
6178 assert . equal ( subject . ssl , true , 'ssl' )
@@ -75,27 +92,24 @@ test('connection string parsing - ssl', function (t) {
7592 string = 'postgres://brian:pw@boom:381/lala'
7693 subject = new ConnectionParameters ( string )
7794 assert . equal ( ! ! subject . ssl , false , 'ssl' )
78- } )
7995
80- // clear process.env
81- for ( var key in process . env ) {
82- delete process . env [ key ]
83- }
96+ string = 'postgres://brian:pw@boom:381/lala?ssl=no-verify'
97+ subject = new ConnectionParameters ( string )
98+ assert . deepStrictEqual ( subject . ssl , { rejectUnauthorized : false } , 'ssl' )
99+ } )
84100
85- test ( 'ssl is false by default' , function ( ) {
101+ suite . test ( 'ssl is false by default' , function ( ) {
102+ clearEnv ( )
86103 var subject = new ConnectionParameters ( )
87104 assert . equal ( subject . ssl , false )
88105} )
89106
90107var testVal = function ( mode , expected ) {
91- // clear process.env
92- for ( var key in process . env ) {
93- delete process . env [ key ]
94- }
95- process . env . PGSSLMODE = mode
96- test ( 'ssl is ' + expected + ' when $PGSSLMODE=' + mode , function ( ) {
108+ suite . test ( 'ssl is ' + expected + ' when $PGSSLMODE=' + mode , function ( ) {
109+ clearEnv ( )
110+ process . env . PGSSLMODE = mode
97111 var subject = new ConnectionParameters ( )
98- assert . equal ( subject . ssl , expected )
112+ assert . deepStrictEqual ( subject . ssl , expected )
99113 } )
100114}
101115
@@ -106,6 +120,7 @@ testVal('prefer', true)
106120testVal ( 'require' , true )
107121testVal ( 'verify-ca' , true )
108122testVal ( 'verify-full' , true )
123+ testVal ( 'no-verify' , { rejectUnauthorized : false } )
109124
110125// restore process.env
111126for ( var key in realEnv ) {
0 commit comments