@@ -133,28 +133,28 @@ impl PgConnectOptions {
133
133
}
134
134
135
135
let ssl_mode = match self . ssl_mode {
136
- PgSslMode :: Allow => "ALLOW " ,
137
- PgSslMode :: Disable => "DISABLED " ,
138
- PgSslMode :: Prefer => "PREFERRED " ,
139
- PgSslMode :: Require => "REQUIRED " ,
140
- PgSslMode :: VerifyCa => "VERIFY_CA " ,
141
- PgSslMode :: VerifyFull => "VERIFY_FULL " ,
136
+ PgSslMode :: Allow => "allow " ,
137
+ PgSslMode :: Disable => "disable " ,
138
+ PgSslMode :: Prefer => "prefer " ,
139
+ PgSslMode :: Require => "require " ,
140
+ PgSslMode :: VerifyCa => "verify-ca " ,
141
+ PgSslMode :: VerifyFull => "verify-full " ,
142
142
} ;
143
- url. query_pairs_mut ( ) . append_pair ( "ssl-mode " , ssl_mode) ;
143
+ url. query_pairs_mut ( ) . append_pair ( "sslmode " , ssl_mode) ;
144
144
145
145
if let Some ( ssl_root_cert) = & self . ssl_root_cert {
146
146
url. query_pairs_mut ( )
147
- . append_pair ( "ssl-root-cert " , & ssl_root_cert. to_string ( ) ) ;
147
+ . append_pair ( "sslrootcert " , & ssl_root_cert. to_string ( ) ) ;
148
148
}
149
149
150
150
if let Some ( ssl_client_cert) = & self . ssl_client_cert {
151
151
url. query_pairs_mut ( )
152
- . append_pair ( "ssl-cert " , & ssl_client_cert. to_string ( ) ) ;
152
+ . append_pair ( "sslcert " , & ssl_client_cert. to_string ( ) ) ;
153
153
}
154
154
155
155
if let Some ( ssl_client_key) = & self . ssl_client_key {
156
156
url. query_pairs_mut ( )
157
- . append_pair ( "ssl-key " , & ssl_client_key. to_string ( ) ) ;
157
+ . append_pair ( "sslkey " , & ssl_client_key. to_string ( ) ) ;
158
158
}
159
159
160
160
url. query_pairs_mut ( ) . append_pair (
@@ -306,7 +306,7 @@ fn it_returns_the_parsed_url_when_socket() {
306
306
307
307
let mut expected_url = Url :: parse ( url) . unwrap ( ) ;
308
308
// PgConnectOptions defaults
309
- let query_string = "ssl-mode=PREFERRED &statement-cache-capacity=100" ;
309
+ let query_string = "sslmode=prefer &statement-cache-capacity=100" ;
310
310
let port = 5432 ;
311
311
expected_url. set_query ( Some ( query_string) ) ;
312
312
let _ = expected_url. set_port ( Some ( port) ) ;
@@ -321,8 +321,18 @@ fn it_returns_the_parsed_url_when_host() {
321
321
322
322
let mut expected_url = Url :: parse ( url) . unwrap ( ) ;
323
323
// PgConnectOptions defaults
324
- let query_string = "ssl-mode=PREFERRED &statement-cache-capacity=100" ;
324
+ let query_string = "sslmode=prefer &statement-cache-capacity=100" ;
325
325
expected_url. set_query ( Some ( query_string) ) ;
326
326
327
327
assert_eq ! ( expected_url, opts. build_url( ) ) ;
328
328
}
329
+
330
+ #[ test]
331
+ fn built_url_can_be_parsed ( ) {
332
+ let url = "postgres://username:p@ssw0rd@hostname:5432/database" ;
333
+ let opts = PgConnectOptions :: from_str ( url) . unwrap ( ) ;
334
+
335
+ let parsed = PgConnectOptions :: from_str ( & opts. build_url ( ) . to_string ( ) ) ;
336
+
337
+ assert ! ( parsed. is_ok( ) ) ;
338
+ }
0 commit comments