@@ -27,104 +27,109 @@ where
2727 assert_eq ! ( rows[ 0 ] . get:: <_, i32 >( 0 ) , 1 ) ;
2828}
2929
30- // TODO: 删除测试用例 - GaussDB测试环境不支持TLS/SSL连接
31- // 原因:测试环境中的GaussDB/OpenGauss实例未配置SSL证书
32- // 影响:仅影响TLS连接测试,不影响实际TLS功能
33- // #[tokio::test]
34- // async fn require() {
35- // let connector = native_tls::TlsConnector::builder()
36- // .add_root_certificate(
37- // Certificate::from_pem(include_bytes!("../../test/server.crt")).unwrap(),
38- // )
39- // .build()
40- // .unwrap();
41- // smoke_test(
42- // "user=ssl_user dbname=postgres sslmode=require",
43- // TlsConnector::new(connector, "localhost"),
44- // )
45- // .await;
46- // }
30+ #[ tokio:: test]
31+ #[ ignore] // GaussDB test environment doesn't support TLS/SSL connections
32+ async fn require ( ) {
33+ // TODO: GaussDB测试环境不支持TLS/SSL连接
34+ // 原因:测试环境中的GaussDB/OpenGauss实例未配置SSL证书
35+ // 影响:仅影响TLS连接测试,不影响实际TLS功能
36+ let connector = native_tls:: TlsConnector :: builder ( )
37+ . add_root_certificate (
38+ Certificate :: from_pem ( include_bytes ! ( "../../test/server.crt" ) ) . unwrap ( ) ,
39+ )
40+ . build ( )
41+ . unwrap ( ) ;
42+ smoke_test (
43+ "user=ssl_user dbname=postgres sslmode=require" ,
44+ TlsConnector :: new ( connector, "localhost" ) ,
45+ )
46+ . await ;
47+ }
48+
49+ #[ tokio:: test]
50+ #[ ignore] // GaussDB test environment doesn't support TLS/SSL connections
51+ async fn direct ( ) {
52+ // TODO: GaussDB测试环境不支持TLS/SSL连接
53+ // 原因:测试环境中的GaussDB/OpenGauss实例未配置SSL证书
54+ // 影响:仅影响TLS连接测试,不影响实际TLS功能
55+ let mut builder = native_tls:: TlsConnector :: builder ( ) ;
56+ builder. add_root_certificate (
57+ Certificate :: from_pem ( include_bytes ! ( "../../test/server.crt" ) ) . unwrap ( ) ,
58+ ) ;
59+ set_postgresql_alpn ( & mut builder) ;
60+ let connector = builder. build ( ) . unwrap ( ) ;
61+ smoke_test (
62+ "user=ssl_user dbname=postgres sslmode=require sslnegotiation=direct" ,
63+ TlsConnector :: new ( connector, "localhost" ) ,
64+ )
65+ . await ;
66+ }
4767
48- // TODO: 删除测试用例 - GaussDB测试环境不支持TLS/SSL连接
49- // 原因:测试环境中的GaussDB/OpenGauss实例未配置SSL证书
50- // 影响:仅影响TLS连接测试,不影响实际TLS功能
51- // #[tokio::test]
52- // async fn direct() {
53- // let mut builder = native_tls::TlsConnector::builder();
54- // builder.add_root_certificate(
55- // Certificate::from_pem(include_bytes!("../../test/server.crt")).unwrap(),
56- // );
57- // set_postgresql_alpn(&mut builder);
58- // let connector = builder.build().unwrap();
59- // smoke_test(
60- // "user=ssl_user dbname=postgres sslmode=require sslnegotiation=direct",
61- // TlsConnector::new(connector, "localhost"),
62- // )
63- // .await;
64- // }
68+ #[ tokio:: test]
69+ #[ ignore] // GaussDB test environment doesn't support TLS/SSL connections
70+ async fn prefer ( ) {
71+ // TODO: GaussDB测试环境不支持TLS/SSL连接
72+ // 原因:测试环境中的GaussDB/OpenGauss实例未配置SSL证书
73+ // 影响:仅影响TLS连接测试,不影响实际TLS功能
74+ let connector = native_tls:: TlsConnector :: builder ( )
75+ . add_root_certificate (
76+ Certificate :: from_pem ( include_bytes ! ( "../../test/server.crt" ) ) . unwrap ( ) ,
77+ )
78+ . build ( )
79+ . unwrap ( ) ;
80+ smoke_test (
81+ "user=ssl_user dbname=postgres" ,
82+ TlsConnector :: new ( connector, "localhost" ) ,
83+ )
84+ . await ;
85+ }
6586
66- // TODO: 删除测试用例 - GaussDB测试环境不支持TLS/SSL连接
67- // 原因:测试环境中的GaussDB/OpenGauss实例未配置SSL证书
68- // 影响:仅影响TLS连接测试,不影响实际TLS功能
69- // #[tokio::test]
70- // async fn prefer() {
71- // let connector = native_tls::TlsConnector::builder()
72- // .add_root_certificate(
73- // Certificate::from_pem(include_bytes!("../../test/server.crt")).unwrap(),
74- // )
75- // .build()
76- // .unwrap();
77- // smoke_test(
78- // "user=ssl_user dbname=postgres",
79- // TlsConnector::new(connector, "localhost"),
80- // )
81- // .await;
82- // }
87+ #[ tokio:: test]
88+ #[ ignore] // GaussDB test environment doesn't support TLS/SSL connections
89+ async fn scram_user ( ) {
90+ // TODO: GaussDB测试环境不支持TLS/SSL连接
91+ // 原因:测试环境中的GaussDB/OpenGauss实例未配置SSL证书
92+ // 影响:仅影响TLS连接测试,不影响实际TLS功能
93+ let connector = native_tls:: TlsConnector :: builder ( )
94+ . add_root_certificate (
95+ Certificate :: from_pem ( include_bytes ! ( "../../test/server.crt" ) ) . unwrap ( ) ,
96+ )
97+ . build ( )
98+ . unwrap ( ) ;
99+ smoke_test (
100+ "user=scram_user password=password dbname=postgres sslmode=require" ,
101+ TlsConnector :: new ( connector, "localhost" ) ,
102+ )
103+ . await ;
104+ }
83105
84- // TODO: 删除测试用例 - GaussDB测试环境不支持TLS/SSL连接
85- // 原因:测试环境中的GaussDB/OpenGauss实例未配置SSL证书
86- // 影响:仅影响TLS连接测试,不影响实际TLS功能
87- // #[tokio::test]
88- // async fn scram_user() {
89- // let connector = native_tls::TlsConnector::builder()
90- // .add_root_certificate(
91- // Certificate::from_pem(include_bytes!("../../test/server.crt")).unwrap(),
92- // )
93- // .build()
94- // .unwrap();
95- // smoke_test(
96- // "user=scram_user password=password dbname=postgres sslmode=require",
97- // TlsConnector::new(connector, "localhost"),
98- // )
99- // .await;
100- // }
106+ #[ tokio:: test]
107+ #[ ignore] // GaussDB test environment doesn't support TLS/SSL connections
108+ #[ cfg( feature = "runtime" ) ]
109+ async fn runtime ( ) {
110+ // TODO: GaussDB测试环境不支持TLS/SSL连接
111+ // 原因:测试环境中的GaussDB/OpenGauss实例未配置SSL证书
112+ // 影响:仅影响TLS连接测试,不影响实际TLS功能
113+ let connector = native_tls:: TlsConnector :: builder ( )
114+ . add_root_certificate (
115+ Certificate :: from_pem ( include_bytes ! ( "../../test/server.crt" ) ) . unwrap ( ) ,
116+ )
117+ . build ( )
118+ . unwrap ( ) ;
119+ let connector = MakeTlsConnector :: new ( connector) ;
101120
102- // TODO: 删除测试用例 - GaussDB测试环境不支持TLS/SSL连接
103- // 原因:测试环境中的GaussDB/OpenGauss实例未配置SSL证书
104- // 影响:仅影响TLS连接测试,不影响实际TLS功能
105- // #[tokio::test]
106- // #[cfg(feature = "runtime")]
107- // async fn runtime() {
108- // let connector = native_tls::TlsConnector::builder()
109- // .add_root_certificate(
110- // Certificate::from_pem(include_bytes!("../../test/server.crt")).unwrap(),
111- // )
112- // .build()
113- // .unwrap();
114- // let connector = MakeTlsConnector::new(connector);
115- //
116- // let (client, connection) = tokio_gaussdb::connect(
117- // "host=localhost port=5433 user=ssl_user password=password sslmode=require",
118- // connector,
119- // )
120- // .await
121- // .unwrap();
122- // let connection = connection.map(|r| r.unwrap());
123- // tokio::spawn(connection);
124- //
125- // let stmt = client.prepare("SELECT $1::INT4").await.unwrap();
126- // let rows = client.query(&stmt, &[&1i32]).await.unwrap();
127- //
128- // assert_eq!(rows.len(), 1);
129- // assert_eq!(rows[0].get::<_, i32>(0), 1);
130- // }
121+ let ( client, connection) = tokio_gaussdb:: connect (
122+ "host=localhost port=5433 user=ssl_user password=password sslmode=require" ,
123+ connector,
124+ )
125+ . await
126+ . unwrap ( ) ;
127+ let connection = connection. map ( |r| r. unwrap ( ) ) ;
128+ tokio:: spawn ( connection) ;
129+
130+ let stmt = client. prepare ( "SELECT $1::INT4" ) . await . unwrap ( ) ;
131+ let rows = client. query ( & stmt, & [ & 1i32 ] ) . await . unwrap ( ) ;
132+
133+ assert_eq ! ( rows. len( ) , 1 ) ;
134+ assert_eq ! ( rows[ 0 ] . get:: <_, i32 >( 0 ) , 1 ) ;
135+ }
0 commit comments