Skip to content
This repository was archived by the owner on Mar 23, 2026. It is now read-only.

Commit 873022e

Browse files
committed
chore: add unit tests for HttpTransportOptions timeout configurations
1 parent 4f25d3d commit 873022e

2 files changed

Lines changed: 101 additions & 8 deletions

File tree

google-cloud-bigquery-jdbc/src/test/java/com/google/cloud/bigquery/jdbc/BigQueryJdbcProxyUtilityTest.java

Lines changed: 42 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,8 @@ public void testGetHttpTransportOptionsWithAuthenticatedProxy() {
138138
Map<String, String> proxyProperties =
139139
BigQueryJdbcProxyUtility.parseProxyProperties(connection_uri, null);
140140
HttpTransportOptions result =
141-
BigQueryJdbcProxyUtility.getHttpTransportOptions(proxyProperties, null, null, null);
141+
BigQueryJdbcProxyUtility.getHttpTransportOptions(
142+
proxyProperties, null, null, null, null, "TestClass");
142143
assertNotNull(result);
143144
}
144145

@@ -154,7 +155,8 @@ public void testGetHttpTransportOptionsWithNonAuthenticatedProxy() {
154155
Map<String, String> proxyProperties =
155156
BigQueryJdbcProxyUtility.parseProxyProperties(connection_uri, null);
156157
HttpTransportOptions result =
157-
BigQueryJdbcProxyUtility.getHttpTransportOptions(proxyProperties, null, null, null);
158+
BigQueryJdbcProxyUtility.getHttpTransportOptions(
159+
proxyProperties, null, null, null, null, "TestClass");
158160
assertNotNull(result);
159161
}
160162

@@ -168,7 +170,8 @@ public void testGetHttpTransportOptionsWithNoProxySettingsReturnsNull() {
168170
Map<String, String> proxyProperties =
169171
BigQueryJdbcProxyUtility.parseProxyProperties(connection_uri, null);
170172
HttpTransportOptions result =
171-
BigQueryJdbcProxyUtility.getHttpTransportOptions(proxyProperties, null, null, null);
173+
BigQueryJdbcProxyUtility.getHttpTransportOptions(
174+
proxyProperties, null, null, null, null, "TestClass");
172175
assertNull(result);
173176
}
174177

@@ -185,7 +188,7 @@ public void testGetHttpTransportOptions_withSslTrustStore_noPassword() throws Ex
185188
String trustStorePath = getTestResourcePath("test_truststore_nopass.jks");
186189
HttpTransportOptions options =
187190
BigQueryJdbcProxyUtility.getHttpTransportOptions(
188-
Collections.<String, String>emptyMap(), trustStorePath, null, "TestClass");
191+
Collections.<String, String>emptyMap(), trustStorePath, null, null, null, "TestClass");
189192
assertNotNull(options);
190193
assertNotNull(options.getHttpTransportFactory());
191194
}
@@ -195,7 +198,12 @@ public void testGetHttpTransportOptions_withSslTrustStore_withCorrectPassword()
195198
String trustStorePath = getTestResourcePath("test_truststore_withpass.jks");
196199
HttpTransportOptions options =
197200
BigQueryJdbcProxyUtility.getHttpTransportOptions(
198-
Collections.<String, String>emptyMap(), trustStorePath, "testpassword", "TestClass");
201+
Collections.<String, String>emptyMap(),
202+
trustStorePath,
203+
"testpassword",
204+
null,
205+
null,
206+
"TestClass");
199207
assertNotNull(options);
200208
assertNotNull(options.getHttpTransportFactory());
201209
}
@@ -212,6 +220,8 @@ public void testGetHttpTransportOptions_withSslTrustStore_withIncorrectPassword(
212220
Collections.<String, String>emptyMap(),
213221
trustStorePath,
214222
"wrongpassword",
223+
null,
224+
null,
215225
"TestClass"));
216226
assertThat(exception.getCause()).isInstanceOf(IOException.class);
217227
}
@@ -224,7 +234,12 @@ public void testGetHttpTransportOptions_withInvalidSslTrustStorePath() {
224234
BigQueryJdbcRuntimeException.class,
225235
() ->
226236
BigQueryJdbcProxyUtility.getHttpTransportOptions(
227-
Collections.<String, String>emptyMap(), invalidPath, null, "TestClass"));
237+
Collections.<String, String>emptyMap(),
238+
invalidPath,
239+
null,
240+
null,
241+
null,
242+
"TestClass"));
228243

229244
assertThat(exception.getCause()).isInstanceOf(FileNotFoundException.class);
230245
}
@@ -238,7 +253,7 @@ public void testGetHttpTransportOptions_withSslAndProxy() throws Exception {
238253

239254
HttpTransportOptions options =
240255
BigQueryJdbcProxyUtility.getHttpTransportOptions(
241-
proxyProperties, trustStorePath, null, "TestClass");
256+
proxyProperties, trustStorePath, null, null, null, "TestClass");
242257
assertNotNull(options);
243258
assertNotNull(options.getHttpTransportFactory());
244259
}
@@ -287,7 +302,26 @@ public void testGetTransportChannelProvider_noProxyNoSsl_returnsNull() {
287302
public void testGetHttpTransportOptions_noProxyNoSsl_returnsNull() {
288303
HttpTransportOptions options =
289304
BigQueryJdbcProxyUtility.getHttpTransportOptions(
290-
Collections.<String, String>emptyMap(), null, null, "TestClass");
305+
Collections.<String, String>emptyMap(), null, null, null, null, "TestClass");
291306
assertNull(options);
292307
}
308+
309+
@Test
310+
public void testGetHttpTransportOptions_withTimeouts_returnsOptions() {
311+
HttpTransportOptions options =
312+
BigQueryJdbcProxyUtility.getHttpTransportOptions(
313+
Collections.<String, String>emptyMap(), null, null, 10000, 20000, "TestClass");
314+
assertNotNull(options);
315+
assertThat(options.getConnectTimeout()).isEqualTo(10000);
316+
assertThat(options.getReadTimeout()).isEqualTo(20000);
317+
}
318+
319+
@Test
320+
public void testGetHttpTransportOptions_withConnectTimeoutOnly_returnsOptions() {
321+
HttpTransportOptions options =
322+
BigQueryJdbcProxyUtility.getHttpTransportOptions(
323+
Collections.<String, String>emptyMap(), null, null, 10000, null, "TestClass");
324+
assertNotNull(options);
325+
assertThat(options.getConnectTimeout()).isEqualTo(10000);
326+
}
293327
}

google-cloud-bigquery-jdbc/src/test/java/com/google/cloud/bigquery/jdbc/BigQueryJdbcUrlUtilityTest.java

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -800,4 +800,63 @@ public void testParseLabelsEmpty() {
800800
Map<String, String> labels = BigQueryJdbcUrlUtility.parseLabels(connection_uri, null);
801801
assertNull(labels);
802802
}
803+
804+
@Test
805+
public void testParseHttpConnectTimeout() {
806+
String connection_uri =
807+
"jdbc:bigquery://https://www.googleapis.com/bigquery/v2:443;OAuthType=3;ProjectId=testProject;"
808+
+ "HttpConnectTimeout=10000";
809+
810+
Integer timeout =
811+
BigQueryJdbcUrlUtility.parseIntProperty(
812+
connection_uri,
813+
BigQueryJdbcUrlUtility.HTTP_CONNECT_TIMEOUT_PROPERTY_NAME,
814+
BigQueryJdbcUrlUtility.DEFAULT_HTTP_CONNECT_TIMEOUT_VALUE,
815+
null);
816+
assertEquals(Integer.valueOf(10000), timeout);
817+
}
818+
819+
@Test
820+
public void testParseHttpConnectTimeoutDefault() {
821+
String connection_uri =
822+
"jdbc:bigquery://https://www.googleapis.com/bigquery/v2:443;OAuthType=3;ProjectId=testProject";
823+
824+
Integer timeout =
825+
BigQueryJdbcUrlUtility.parseIntProperty(
826+
connection_uri,
827+
BigQueryJdbcUrlUtility.HTTP_CONNECT_TIMEOUT_PROPERTY_NAME,
828+
BigQueryJdbcUrlUtility.DEFAULT_HTTP_CONNECT_TIMEOUT_VALUE,
829+
null);
830+
assertEquals(
831+
Integer.valueOf(BigQueryJdbcUrlUtility.DEFAULT_HTTP_CONNECT_TIMEOUT_VALUE), timeout);
832+
}
833+
834+
@Test
835+
public void testParseHttpReadTimeout() {
836+
String connection_uri =
837+
"jdbc:bigquery://https://www.googleapis.com/bigquery/v2:443;OAuthType=3;ProjectId=testProject;"
838+
+ "HttpReadTimeout=20000";
839+
840+
Integer timeout =
841+
BigQueryJdbcUrlUtility.parseIntProperty(
842+
connection_uri,
843+
BigQueryJdbcUrlUtility.HTTP_READ_TIMEOUT_PROPERTY_NAME,
844+
BigQueryJdbcUrlUtility.DEFAULT_HTTP_READ_TIMEOUT_VALUE,
845+
null);
846+
assertEquals(Integer.valueOf(20000), timeout);
847+
}
848+
849+
@Test
850+
public void testParseHttpReadTimeoutDefault() {
851+
String connection_uri =
852+
"jdbc:bigquery://https://www.googleapis.com/bigquery/v2:443;OAuthType=3;ProjectId=testProject";
853+
854+
Integer timeout =
855+
BigQueryJdbcUrlUtility.parseIntProperty(
856+
connection_uri,
857+
BigQueryJdbcUrlUtility.HTTP_READ_TIMEOUT_PROPERTY_NAME,
858+
BigQueryJdbcUrlUtility.DEFAULT_HTTP_READ_TIMEOUT_VALUE,
859+
null);
860+
assertEquals(Integer.valueOf(BigQueryJdbcUrlUtility.DEFAULT_HTTP_READ_TIMEOUT_VALUE), timeout);
861+
}
803862
}

0 commit comments

Comments
 (0)