@@ -4,6 +4,8 @@ use tokio::net::TcpStream;
44use tokio:: runtime:: current_thread:: Runtime ;
55use tokio_postgres:: TlsConnect ;
66
7+ #[ cfg( feature = "runtime" ) ]
8+ use crate :: MakeTlsConnector ;
79use crate :: TlsConnector ;
810
911fn smoke_test < T > ( s : & str , tls : T )
@@ -45,7 +47,7 @@ fn require() {
4547 . unwrap ( ) ;
4648 smoke_test (
4749 "user=ssl_user dbname=postgres sslmode=require" ,
48- TlsConnector :: with_connector ( connector, "localhost" ) ,
50+ TlsConnector :: new ( connector, "localhost" ) ,
4951 ) ;
5052}
5153
@@ -59,7 +61,7 @@ fn prefer() {
5961 . unwrap ( ) ;
6062 smoke_test (
6163 "user=ssl_user dbname=postgres" ,
62- TlsConnector :: with_connector ( connector, "localhost" ) ,
64+ TlsConnector :: new ( connector, "localhost" ) ,
6365 ) ;
6466}
6567
@@ -73,6 +75,31 @@ fn scram_user() {
7375 . unwrap ( ) ;
7476 smoke_test (
7577 "user=scram_user password=password dbname=postgres sslmode=require" ,
76- TlsConnector :: with_connector ( connector, "localhost" ) ,
78+ TlsConnector :: new ( connector, "localhost" ) ,
7779 ) ;
7880}
81+
82+ #[ test]
83+ #[ cfg( feature = "runtime" ) ]
84+ fn runtime ( ) {
85+ let mut runtime = Runtime :: new ( ) . unwrap ( ) ;
86+
87+ let connector = native_tls:: TlsConnector :: builder ( )
88+ . add_root_certificate (
89+ Certificate :: from_pem ( include_bytes ! ( "../../test/server.crt" ) ) . unwrap ( ) ,
90+ )
91+ . build ( )
92+ . unwrap ( ) ;
93+ let connector = MakeTlsConnector :: new ( connector) ;
94+
95+ let connect = tokio_postgres:: connect (
96+ "host=localhost port=5433 user=postgres sslmode=require" ,
97+ connector,
98+ ) ;
99+ let ( mut client, connection) = runtime. block_on ( connect) . unwrap ( ) ;
100+ let connection = connection. map_err ( |e| panic ! ( "{}" , e) ) ;
101+ runtime. spawn ( connection) ;
102+
103+ let execute = client. batch_execute ( "SELECT 1" ) ;
104+ runtime. block_on ( execute) . unwrap ( ) ;
105+ }
0 commit comments