|
33 | 33 | import java.util.Calendar; |
34 | 34 | import java.util.HashMap; |
35 | 35 | import java.util.Map; |
| 36 | +import java.util.TimeZone; |
36 | 37 | import org.junit.jupiter.api.BeforeEach; |
37 | 38 | import org.junit.jupiter.api.Test; |
| 39 | +import org.junit.jupiter.params.ParameterizedTest; |
| 40 | +import org.junit.jupiter.params.provider.ValueSource; |
38 | 41 |
|
39 | 42 | public class BigQueryCallableStatementTest { |
40 | 43 |
|
@@ -820,26 +823,28 @@ public void testGetTimestampParamByName() throws SQLException { |
820 | 823 | assertEquals(expected, actual); |
821 | 824 | } |
822 | 825 |
|
823 | | - @Test |
824 | | - public void testGetTimestampParamWithCalByIndex() throws SQLException { |
| 826 | + @ParameterizedTest |
| 827 | + @ValueSource(strings = {"America/New_York", "Asia/Tokyo"}) |
| 828 | + public void testGetTimestampParamWithCalByIndex(String zoneId) throws SQLException { |
825 | 829 | BigQueryCallableStatement statement = |
826 | 830 | new BigQueryCallableStatement(bigQueryConnection, "call testProc('?')"); |
827 | 831 | assertNotNull(statement); |
828 | | - Calendar cal = Calendar.getInstance(); |
829 | | - Timestamp expected = new Timestamp(cal.getTimeInMillis()); |
| 832 | + Calendar cal = Calendar.getInstance(TimeZone.getTimeZone(zoneId)); |
| 833 | + Timestamp expected = new Timestamp(1700000000000L); |
830 | 834 |
|
831 | 835 | statement.getParameterHandler().setParameter(1, expected, Timestamp.class); |
832 | 836 | Timestamp actual = statement.getTimestamp(1, cal); |
833 | 837 | assertEquals(expected, actual); |
834 | 838 | } |
835 | 839 |
|
836 | | - @Test |
837 | | - public void testGetTimestampParamWithCalByName() throws SQLException { |
| 840 | + @ParameterizedTest |
| 841 | + @ValueSource(strings = {"America/New_York", "Asia/Tokyo"}) |
| 842 | + public void testGetTimestampParamWithCalByName(String zoneId) throws SQLException { |
838 | 843 | BigQueryCallableStatement statement = |
839 | 844 | new BigQueryCallableStatement(bigQueryConnection, "call testProc('?')"); |
840 | 845 | assertNotNull(statement); |
841 | | - Calendar cal = Calendar.getInstance(); |
842 | | - Timestamp expected = new Timestamp(cal.getTimeInMillis()); |
| 846 | + Calendar cal = Calendar.getInstance(TimeZone.getTimeZone(zoneId)); |
| 847 | + Timestamp expected = new Timestamp(1700000000000L); |
843 | 848 |
|
844 | 849 | statement |
845 | 850 | .getParameterHandler() |
@@ -1050,22 +1055,24 @@ public void testSetTimestampParamByName() throws SQLException { |
1050 | 1055 | assertEquals(expected, actual); |
1051 | 1056 | } |
1052 | 1057 |
|
1053 | | - @Test |
1054 | | - public void testSetTimestampCalParamByName() throws SQLException { |
| 1058 | + @ParameterizedTest |
| 1059 | + @ValueSource(strings = {"America/New_York", "Asia/Tokyo"}) |
| 1060 | + public void testSetTimestampCalParamByName(String zoneId) throws SQLException { |
1055 | 1061 | BigQueryCallableStatement statement = |
1056 | 1062 | new BigQueryCallableStatement(bigQueryConnection, "call testProc('?')"); |
1057 | 1063 | assertNotNull(statement); |
1058 | | - Timestamp expectedTimestamp = Timestamp.valueOf("2026-07-17 12:34:56.789"); |
1059 | | - Calendar expectedCal = Calendar.getInstance(); |
| 1064 | + Timestamp expectedTimestamp = new Timestamp(1700000000000L); |
| 1065 | + Calendar expectedCal = Calendar.getInstance(TimeZone.getTimeZone(zoneId)); |
1060 | 1066 |
|
1061 | 1067 | statement.setTimestamp(PARAM_KEY, expectedTimestamp, expectedCal); |
1062 | 1068 | Timestamp actual = statement.getTimestamp(PARAM_KEY); |
1063 | | - assertNotNull(actual); |
| 1069 | + assertEquals(expectedTimestamp, actual); |
1064 | 1070 | actual = statement.getTimestamp(PARAM_KEY, expectedCal); |
1065 | | - assertNotNull(actual); |
| 1071 | + assertEquals(expectedTimestamp, actual); |
1066 | 1072 | } |
1067 | 1073 |
|
1068 | 1074 | ////////// Private helper methods //////////////////////// |
| 1075 | + |
1069 | 1076 | private void registerOutParamIndexHelper( |
1070 | 1077 | int paramIndex, int javaSqlType, Class<?> javaType, StandardSQLTypeName sqlType, int scale) |
1071 | 1078 | throws SQLException { |
|
0 commit comments