@@ -124,3 +124,67 @@ test('pathname of "/" returns null database', function (t) {
124
124
125
125
t . end ( ) ;
126
126
} ) ;
127
+
128
+ test ( 'configuration parameter application_name' , function ( t ) {
129
+ var connectionString = 'pg:///?application_name=TheApp' ;
130
+ var subject = parse ( connectionString ) ;
131
+ t . equal ( subject . application_name , 'TheApp' ) ;
132
+ t . end ( ) ;
133
+ } ) ;
134
+
135
+ test ( 'configuration parameter fallback_application_name' , function ( t ) {
136
+ var connectionString = 'pg:///?fallback_application_name=TheAppFallback' ;
137
+ var subject = parse ( connectionString ) ;
138
+ t . equal ( subject . fallback_application_name , 'TheAppFallback' ) ;
139
+ t . end ( ) ;
140
+ } ) ;
141
+
142
+ test ( 'configuration parameter fallback_application_name' , function ( t ) {
143
+ var connectionString = 'pg:///?fallback_application_name=TheAppFallback' ;
144
+ var subject = parse ( connectionString ) ;
145
+ t . equal ( subject . fallback_application_name , 'TheAppFallback' ) ;
146
+ t . end ( ) ;
147
+ } ) ;
148
+
149
+ test ( 'configuration parameter ssl=true' , function ( t ) {
150
+ var connectionString = 'pg:///?ssl=true' ;
151
+ var subject = parse ( connectionString ) ;
152
+ t . equal ( subject . ssl , true ) ;
153
+ t . end ( ) ;
154
+ } ) ;
155
+
156
+ test ( 'configuration parameter ssl=1' , function ( t ) {
157
+ var connectionString = 'pg:///?ssl=1' ;
158
+ var subject = parse ( connectionString ) ;
159
+ t . equal ( subject . ssl , true ) ;
160
+ t . end ( ) ;
161
+ } ) ;
162
+
163
+ test ( 'configuration parameter keepalives' , function ( t ) {
164
+ var connectionString = 'pg:///?keepalives=1' ;
165
+ var subject = parse ( connectionString ) ;
166
+ t . equal ( subject . keepalives , '1' ) ;
167
+ t . end ( ) ;
168
+ } ) ;
169
+
170
+ test ( 'unknown configuration parameter is passed into client' , function ( t ) {
171
+ var connectionString = 'pg:///?ThereIsNoSuchPostgresParameter=1234' ;
172
+ var subject = parse ( connectionString ) ;
173
+ t . equal ( subject . ThereIsNoSuchPostgresParameter , '1234' ) ;
174
+ t . end ( ) ;
175
+ } ) ;
176
+
177
+ test ( 'do not override a config field with value from query string' , function ( t ) {
178
+ var subject = parse ( 'socket:/some path/?db=my[db]&encoding=utf8&client_encoding=bogus' ) ;
179
+ t . equal ( subject . host , '/some path/' ) ;
180
+ t . equal ( subject . database , 'my[db]' , 'must to be escaped and unescaped trough "my%5Bdb%5D"' ) ;
181
+ t . equal ( subject . client_encoding , 'utf8' ) ;
182
+ t . end ( ) ;
183
+ } ) ;
184
+
185
+ test ( 'return last value of repeated parameter' , function ( t ) {
186
+ var connectionString = 'pg:///?keepalives=1&keepalives=0' ;
187
+ var subject = parse ( connectionString ) ;
188
+ t . equal ( subject . keepalives , '0' ) ;
189
+ t . end ( ) ;
190
+ } ) ;
0 commit comments