Skip to content

Commit 64e2458

Browse files
committed
update unit tests
1 parent 11cc079 commit 64e2458

3 files changed

Lines changed: 53 additions & 68 deletions

File tree

‎java-bigquery-jdbc/src/test/java/com/google/cloud/bigquery/jdbc/BigQueryCallableStatementTest.java‎

Lines changed: 29 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -826,40 +826,28 @@ public void testGetTimestampParamWithCalByIndex() throws SQLException {
826826
BigQueryCallableStatement statement =
827827
new BigQueryCallableStatement(bigQueryConnection, "call testProc('?')");
828828
assertNotNull(statement);
829-
TimeZone originalJvmZone = TimeZone.getDefault();
830-
TimeZone.setDefault(TimeZone.getTimeZone("America/New_York"));
831-
try {
832-
Calendar cal = Calendar.getInstance(TimeZone.getTimeZone("Asia/Tokyo"));
833-
Timestamp expected = new Timestamp(1700000000000L);
834-
835-
statement.getParameterHandler().setParameter(1, expected, Timestamp.class);
836-
Timestamp actual = statement.getTimestamp(1, cal);
837-
assertEquals(expected, actual);
838-
} finally {
839-
TimeZone.setDefault(originalJvmZone);
840-
}
829+
Calendar cal = getNonDefaultCalendar();
830+
Timestamp expected = new Timestamp(1700000000000L);
831+
832+
statement.getParameterHandler().setParameter(1, expected, Timestamp.class);
833+
Timestamp actual = statement.getTimestamp(1, cal);
834+
assertEquals(expected, actual);
841835
}
842836

843837
@Test
844838
public void testGetTimestampParamWithCalByName() throws SQLException {
845839
BigQueryCallableStatement statement =
846840
new BigQueryCallableStatement(bigQueryConnection, "call testProc('?')");
847841
assertNotNull(statement);
848-
TimeZone originalJvmZone = TimeZone.getDefault();
849-
TimeZone.setDefault(TimeZone.getTimeZone("America/New_York"));
850-
try {
851-
Calendar cal = Calendar.getInstance(TimeZone.getTimeZone("Asia/Tokyo"));
852-
Timestamp expected = new Timestamp(1700000000000L);
842+
Calendar cal = getNonDefaultCalendar();
843+
Timestamp expected = new Timestamp(1700000000000L);
853844

854-
statement
855-
.getParameterHandler()
856-
.setParameter(
857-
GET_PARAM_KEY, expected, Timestamp.class, BigQueryStatementParameterType.IN, 0);
858-
Timestamp actual = statement.getTimestamp(GET_PARAM_KEY, cal);
859-
assertEquals(expected, actual);
860-
} finally {
861-
TimeZone.setDefault(originalJvmZone);
862-
}
845+
statement
846+
.getParameterHandler()
847+
.setParameter(
848+
GET_PARAM_KEY, expected, Timestamp.class, BigQueryStatementParameterType.IN, 0);
849+
Timestamp actual = statement.getTimestamp(GET_PARAM_KEY, cal);
850+
assertEquals(expected, actual);
863851
}
864852

865853
@Test
@@ -1068,23 +1056,25 @@ public void testSetTimestampCalParamByName() throws SQLException {
10681056
BigQueryCallableStatement statement =
10691057
new BigQueryCallableStatement(bigQueryConnection, "call testProc('?')");
10701058
assertNotNull(statement);
1071-
TimeZone originalJvmZone = TimeZone.getDefault();
1072-
TimeZone.setDefault(TimeZone.getTimeZone("America/New_York"));
1073-
try {
1074-
Timestamp expectedTimestamp = new Timestamp(1700000000000L);
1075-
Calendar expectedCal = Calendar.getInstance(TimeZone.getTimeZone("Asia/Tokyo"));
1059+
Timestamp expectedTimestamp = new Timestamp(1700000000000L);
1060+
Calendar expectedCal = getNonDefaultCalendar();
10761061

1077-
statement.setTimestamp(PARAM_KEY, expectedTimestamp, expectedCal);
1078-
Timestamp actual = statement.getTimestamp(PARAM_KEY);
1079-
assertEquals(expectedTimestamp, actual);
1080-
actual = statement.getTimestamp(PARAM_KEY, expectedCal);
1081-
assertEquals(expectedTimestamp, actual);
1082-
} finally {
1083-
TimeZone.setDefault(originalJvmZone);
1084-
}
1062+
statement.setTimestamp(PARAM_KEY, expectedTimestamp, expectedCal);
1063+
Timestamp actual = statement.getTimestamp(PARAM_KEY);
1064+
assertEquals(expectedTimestamp, actual);
1065+
actual = statement.getTimestamp(PARAM_KEY, expectedCal);
1066+
assertEquals(expectedTimestamp, actual);
10851067
}
10861068

10871069
////////// Private helper methods ////////////////////////
1070+
private static Calendar getNonDefaultCalendar() {
1071+
TimeZone testZone =
1072+
TimeZone.getDefault().hasSameRules(TimeZone.getTimeZone("Asia/Tokyo"))
1073+
? TimeZone.getTimeZone("America/New_York")
1074+
: TimeZone.getTimeZone("Asia/Tokyo");
1075+
return Calendar.getInstance(testZone);
1076+
}
1077+
10881078
private void registerOutParamIndexHelper(
10891079
int paramIndex, int javaSqlType, Class<?> javaType, StandardSQLTypeName sqlType, int scale)
10901080
throws SQLException {

‎java-bigquery-jdbc/src/test/java/com/google/cloud/bigquery/jdbc/BigQueryPreparedStatementSettersTest.java‎

Lines changed: 13 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -236,21 +236,19 @@ public void testSetTimeWithCalendar() throws Exception {
236236

237237
@Test
238238
public void testSetTimestampWithCalendar() throws Exception {
239-
TimeZone originalJvmZone = TimeZone.getDefault();
240-
TimeZone.setDefault(TimeZone.getTimeZone("America/New_York"));
241-
try {
242-
Calendar cal = Calendar.getInstance(TimeZone.getTimeZone("Asia/Tokyo"));
243-
cal.setTimeInMillis(1000000L);
244-
long originalMillis = cal.getTimeInMillis();
245-
Timestamp ts = new Timestamp(1700000000000L);
246-
247-
preparedStatement.setTimestamp(1, ts, cal);
248-
assertEquals(Timestamp.class, preparedStatement.parameterHandler.getType(1));
249-
assertEquals(ts, preparedStatement.parameterHandler.getParameter(1));
250-
assertEquals(originalMillis, cal.getTimeInMillis());
251-
} finally {
252-
TimeZone.setDefault(originalJvmZone);
253-
}
239+
TimeZone testZone =
240+
TimeZone.getDefault().hasSameRules(TimeZone.getTimeZone("Asia/Tokyo"))
241+
? TimeZone.getTimeZone("America/New_York")
242+
: TimeZone.getTimeZone("Asia/Tokyo");
243+
Calendar cal = Calendar.getInstance(testZone);
244+
cal.setTimeInMillis(1000000L);
245+
long originalMillis = cal.getTimeInMillis();
246+
Timestamp ts = new Timestamp(1700000000000L);
247+
248+
preparedStatement.setTimestamp(1, ts, cal);
249+
assertEquals(Timestamp.class, preparedStatement.parameterHandler.getType(1));
250+
assertEquals(ts, preparedStatement.parameterHandler.getParameter(1));
251+
assertEquals(originalMillis, cal.getTimeInMillis());
254252
}
255253

256254
@Test

‎java-bigquery-jdbc/src/test/java/com/google/cloud/bigquery/jdbc/it/ITCallableStatementTest.java‎

Lines changed: 11 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -447,20 +447,17 @@ public void testSetterGetterTimestamp() throws SQLException {
447447

448448
@Test
449449
public void testSetterGetterTimestampCal() throws SQLException {
450-
TimeZone originalTz = TimeZone.getDefault();
451-
try {
452-
TimeZone.setDefault(TimeZone.getTimeZone("America/New_York"));
453-
CallableStatement callableStatement =
454-
this.bigQueryConnection.prepareCall("call testProc('?')");
455-
assertNotNull(callableStatement);
456-
Timestamp expected = new Timestamp(1700000000000L);
457-
Calendar cal = Calendar.getInstance(TimeZone.getTimeZone("Asia/Tokyo"));
458-
callableStatement.setTimestamp(CALLABLE_STMT_PARAM_KEY, expected, cal);
459-
Timestamp actual = callableStatement.getTimestamp(CALLABLE_STMT_PARAM_KEY, cal);
460-
assertEquals(expected, actual);
461-
} finally {
462-
TimeZone.setDefault(originalTz);
463-
}
450+
TimeZone testZone =
451+
TimeZone.getDefault().hasSameRules(TimeZone.getTimeZone("Asia/Tokyo"))
452+
? TimeZone.getTimeZone("America/New_York")
453+
: TimeZone.getTimeZone("Asia/Tokyo");
454+
CallableStatement callableStatement = this.bigQueryConnection.prepareCall("call testProc('?')");
455+
assertNotNull(callableStatement);
456+
Timestamp expected = new Timestamp(1700000000000L);
457+
Calendar cal = Calendar.getInstance(testZone);
458+
callableStatement.setTimestamp(CALLABLE_STMT_PARAM_KEY, expected, cal);
459+
Timestamp actual = callableStatement.getTimestamp(CALLABLE_STMT_PARAM_KEY, cal);
460+
assertEquals(expected, actual);
464461
}
465462

466463
// Block B Tests

0 commit comments

Comments
 (0)