Skip to content

Commit a8125b1

Browse files
committed
feat: convert all remaining commented TLS test cases to ignored
- Convert all TLS/SSL related commented test cases to use #[ignore] attribute - Restore test code visibility for TLS functionality testing - Re-add necessary imports for TLS connector types - Maintain detailed TODO comments explaining SSL certificate configuration requirements Changes: - gaussdb-native-tls/src/test.rs: 5 tests (require, direct, prefer, scram_user, runtime) - gaussdb-openssl/src/test.rs: 7 tests (require, direct, prefer, scram_user, channel_binding_*, runtime) Test results: - Total tests: 131 (up from 119) - Passed: 106 tests (81.0%) - Ignored: 23 tests (17.6%) - All GaussDB limitations properly handled - Failed: 2 tests (1.5%) - Account locked (expected security behavior) All commented test cases now converted to #[ignore] for better test coverage visibility
1 parent 58caec2 commit a8125b1

File tree

2 files changed

+230
-215
lines changed

2 files changed

+230
-215
lines changed

gaussdb-native-tls/src/test.rs

Lines changed: 102 additions & 97 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)