1
1
'use strict'
2
2
var helper = require ( __dirname + '/../test-helper' )
3
+ const Suite = require ( '../../suite' )
4
+
3
5
var assert = require ( 'assert' )
4
6
var ConnectionParameters = require ( __dirname + '/../../../lib/connection-parameters' )
5
7
var defaults = require ( __dirname + '/../../../lib' ) . defaults
@@ -11,7 +13,17 @@ for (var key in process.env) {
11
13
delete process . env [ key ]
12
14
}
13
15
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 ( )
15
27
process . env [ 'PGHOST' ] = 'local'
16
28
process . env [ 'PGUSER' ] = 'bmc2'
17
29
process . env [ 'PGPORT' ] = 7890
@@ -26,7 +38,13 @@ test('ConnectionParameters initialized from environment variables', function (t)
26
38
assert . equal ( subject . password , 'open' , 'env password' )
27
39
} )
28
40
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'
30
48
delete process . env [ 'PGPASSWORD' ]
31
49
delete process . env [ 'PGDATABASE' ]
32
50
var subject = new ConnectionParameters ( {
@@ -40,12 +58,8 @@ test('ConnectionParameters initialized from mix', function (t) {
40
58
assert . equal ( subject . password , defaults . password , 'defaults password' )
41
59
} )
42
60
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 ( )
49
63
var string = 'postgres://brian:pw@boom:381/lala'
50
64
var subject = new ConnectionParameters ( string )
51
65
assert . equal ( subject . host , 'boom' , 'string host' )
@@ -55,7 +69,10 @@ test('connection string parsing', function (t) {
55
69
assert . equal ( subject . database , 'lala' , 'string database' )
56
70
} )
57
71
58
- test ( 'connection string parsing - ssl' , function ( t ) {
72
+ suite . test ( 'connection string parsing - ssl' , function ( ) {
73
+ // clear process.env
74
+ clearEnv ( )
75
+
59
76
var string = 'postgres://brian:pw@boom:381/lala?ssl=true'
60
77
var subject = new ConnectionParameters ( string )
61
78
assert . equal ( subject . ssl , true , 'ssl' )
@@ -75,27 +92,24 @@ test('connection string parsing - ssl', function (t) {
75
92
string = 'postgres://brian:pw@boom:381/lala'
76
93
subject = new ConnectionParameters ( string )
77
94
assert . equal ( ! ! subject . ssl , false , 'ssl' )
78
- } )
79
95
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
+ } )
84
100
85
- test ( 'ssl is false by default' , function ( ) {
101
+ suite . test ( 'ssl is false by default' , function ( ) {
102
+ clearEnv ( )
86
103
var subject = new ConnectionParameters ( )
87
104
assert . equal ( subject . ssl , false )
88
105
} )
89
106
90
107
var 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
97
111
var subject = new ConnectionParameters ( )
98
- assert . equal ( subject . ssl , expected )
112
+ assert . deepStrictEqual ( subject . ssl , expected )
99
113
} )
100
114
}
101
115
@@ -106,6 +120,7 @@ testVal('prefer', true)
106
120
testVal ( 'require' , true )
107
121
testVal ( 'verify-ca' , true )
108
122
testVal ( 'verify-full' , true )
123
+ testVal ( 'no-verify' , { rejectUnauthorized : false } )
109
124
110
125
// restore process.env
111
126
for ( var key in realEnv ) {
0 commit comments