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

Commit 583f1da

Browse files
committed
chore(jdbc): update to junit5
1 parent d3b8bde commit 583f1da

39 files changed

Lines changed: 659 additions & 677 deletions

google-cloud-bigquery-jdbc/pom.xml

Lines changed: 21 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -276,9 +276,21 @@
276276
<scope>test</scope>
277277
</dependency>
278278
<dependency>
279-
<groupId>junit</groupId>
280-
<artifactId>junit</artifactId>
281-
<version>4.13.2</version>
279+
<groupId>org.junit.jupiter</groupId>
280+
<artifactId>junit-jupiter-api</artifactId>
281+
<version>5.11.4</version>
282+
<scope>test</scope>
283+
</dependency>
284+
<dependency>
285+
<groupId>org.junit.jupiter</groupId>
286+
<artifactId>junit-jupiter-engine</artifactId>
287+
<version>5.11.4</version>
288+
<scope>test</scope>
289+
</dependency>
290+
<dependency>
291+
<groupId>org.junit.jupiter</groupId>
292+
<artifactId>junit-jupiter-params</artifactId>
293+
<version>5.11.4</version>
282294
<scope>test</scope>
283295
</dependency>
284296
<dependency>
@@ -287,6 +299,12 @@
287299
<version>4.11.0</version>
288300
<scope>test</scope>
289301
</dependency>
302+
<dependency>
303+
<groupId>org.mockito</groupId>
304+
<artifactId>mockito-junit-jupiter</artifactId>
305+
<version>4.11.0</version>
306+
<scope>test</scope>
307+
</dependency>
290308
</dependencies>
291309

292310
<profiles>

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,12 +36,12 @@
3636
import org.apache.arrow.vector.util.JsonStringArrayList;
3737
import org.apache.arrow.vector.util.JsonStringHashMap;
3838
import org.apache.arrow.vector.util.Text;
39-
import org.junit.Rule;
40-
import org.junit.Test;
39+
import org.junit.jupiter.api.extension.RegisterExtension;
40+
import org.junit.jupiter.api.Test;
4141

4242
public class ArrowFormatTypeBigQueryCoercionUtilityTest {
4343

44-
@Rule public final TimeZoneRule timeZoneRule = new TimeZoneRule("UTC");
44+
@RegisterExtension public final TimeZoneRule timeZoneRule = new TimeZoneRule("UTC");
4545

4646
private static final Range RANGE_DATE =
4747
Range.newBuilder()

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

Lines changed: 63 additions & 65 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@
3838
import static java.time.Month.MARCH;
3939
import static java.util.Arrays.copyOfRange;
4040
import static java.util.Collections.emptyMap;
41-
import static org.junit.Assert.assertThrows;
41+
import static org.junit.jupiter.api.Assertions.assertThrows;
4242

4343
import com.google.cloud.Tuple;
4444
import com.google.cloud.bigquery.Field;
@@ -62,44 +62,20 @@
6262
import java.util.stream.Stream;
6363
import org.apache.arrow.vector.util.JsonStringArrayList;
6464
import org.apache.arrow.vector.util.Text;
65-
import org.junit.Before;
66-
import org.junit.ClassRule;
67-
import org.junit.Test;
68-
import org.junit.function.ThrowingRunnable;
69-
import org.junit.runner.RunWith;
70-
import org.junit.runners.Parameterized;
71-
import org.junit.runners.Parameterized.Parameters;
65+
import org.junit.jupiter.api.BeforeEach;
66+
import org.junit.jupiter.api.extension.RegisterExtension;
67+
import org.junit.jupiter.params.ParameterizedTest;
68+
import org.junit.jupiter.params.provider.MethodSource;
69+
import org.junit.jupiter.api.function.Executable;
7270

73-
@RunWith(Parameterized.class)
74-
public class BigQueryArrowArrayOfPrimitivesTest {
7571

76-
private final Field schema;
77-
private final JsonStringArrayList<?> arrayValues;
78-
private final Object[] expected;
79-
private final int javaSqlTypeCode;
80-
private Array array;
81-
private final StandardSQLTypeName currentType;
72+
public class BigQueryArrowArrayOfPrimitivesTest {
8273

83-
@ClassRule public static final TimeZoneRule timeZoneRule = new TimeZoneRule("UTC");
74+
@RegisterExtension
75+
public static final TimeZoneRule timeZoneRule = new TimeZoneRule("UTC");
8476

85-
public BigQueryArrowArrayOfPrimitivesTest(
86-
StandardSQLTypeName currentType,
87-
Tuple<Field, JsonStringArrayList<?>> schemaAndValue,
88-
Object[] expected,
89-
int javaSqlTypeCode) {
90-
this.currentType = currentType;
91-
this.schema = schemaAndValue.x();
92-
this.arrayValues = schemaAndValue.y();
93-
this.expected = expected;
94-
this.javaSqlTypeCode = javaSqlTypeCode;
95-
}
96-
97-
@Before
98-
public void setUp() {
99-
array = new BigQueryArrowArray(this.schema, this.arrayValues);
100-
}
10177

102-
@Parameters(name = "{index}: primitive array of {0}")
78+
10379
public static Collection<Object[]> data() {
10480
timeZoneRule.enforce();
10581
LocalDateTime aTimeStamp = LocalDateTime.of(2023, MARCH, 30, 11, 14, 19, 820227000);
@@ -254,48 +230,58 @@ STRING, new Text("one"), new Text("two"), new Text("three"), new Text("four")),
254230
});
255231
}
256232

257-
@Test
258-
public void getArray() throws SQLException {
259-
assertThat(array.getArray()).isEqualTo(this.expected);
233+
@ParameterizedTest(name = "{index}: primitive array of {0}")
234+
@MethodSource("data")
235+
public void getArray(StandardSQLTypeName currentType, Tuple<Field, JsonStringArrayList<?>> schemaAndValue, Object[] expected, int javaSqlTypeCode) throws SQLException {
236+
Array array = new BigQueryArrowArray(schemaAndValue.x(), schemaAndValue.y());
237+
assertThat(array.getArray()).isEqualTo(expected);
260238
}
261239

262-
@Test
263-
public void getSlicedArray() throws SQLException {
240+
@ParameterizedTest(name = "{index}: primitive array of {0}")
241+
@MethodSource("data")
242+
public void getSlicedArray(StandardSQLTypeName currentType, Tuple<Field, JsonStringArrayList<?>> schemaAndValue, Object[] expected, int javaSqlTypeCode) throws SQLException {
243+
Array array = new BigQueryArrowArray(schemaAndValue.x(), schemaAndValue.y());
264244
int fromIndex = 1;
265245
int toIndexExclusive = 3;
266246
Object[] expectedSlicedArray =
267-
copyOfRange(this.expected, fromIndex, toIndexExclusive); // copying index(1,2)
247+
copyOfRange(expected, fromIndex, toIndexExclusive); // copying index(1,2)
268248

269249
// the first element is at index 1
270250
assertThat(array.getArray(fromIndex + 1, 2)).isEqualTo(expectedSlicedArray);
271251
}
272252

273-
@Test
274-
public void getSlicedArrayWhenCountIsGreaterThanOriginalArrayLength() {
253+
@ParameterizedTest(name = "{index}: primitive array of {0}")
254+
@MethodSource("data")
255+
public void getSlicedArrayWhenCountIsGreaterThanOriginalArrayLength(StandardSQLTypeName currentType, Tuple<Field, JsonStringArrayList<?>> schemaAndValue, Object[] expected, int javaSqlTypeCode) {
256+
Array array = new BigQueryArrowArray(schemaAndValue.x(), schemaAndValue.y());
275257
IllegalArgumentException illegalArgumentException =
276258
assertThrows(IllegalArgumentException.class, () -> array.getArray(2, 10));
277259
assertThat(illegalArgumentException.getMessage())
278260
.isEqualTo("The array index is out of range: 12, number of elements: 4.");
279261
}
280262

281-
@Test
282-
public void getResultSet() throws SQLException {
283-
ResultSet resultSet = this.array.getResultSet();
263+
@ParameterizedTest(name = "{index}: primitive array of {0}")
264+
@MethodSource("data")
265+
public void getResultSet(StandardSQLTypeName currentType, Tuple<Field, JsonStringArrayList<?>> schemaAndValue, Object[] expected, int javaSqlTypeCode) throws SQLException {
266+
Array array = new BigQueryArrowArray(schemaAndValue.x(), schemaAndValue.y());
267+
ResultSet resultSet = array.getResultSet();
284268
Tuple<ArrayList<Object>, ArrayList<Object>> indexAndValues =
285269
nestedResultSetToColumnLists(resultSet);
286270
ArrayList<Object> indexList = indexAndValues.x();
287271
ArrayList<Object> columnValues = indexAndValues.y();
288272

289273
assertThat(indexList.toArray()).isEqualTo(new Object[] {1, 2, 3, 4});
290-
assertThat(columnValues.toArray()).isEqualTo(this.expected);
274+
assertThat(columnValues.toArray()).isEqualTo(expected);
291275
}
292276

293-
@Test
294-
public void getSlicedResultSet() throws SQLException {
277+
@ParameterizedTest(name = "{index}: primitive array of {0}")
278+
@MethodSource("data")
279+
public void getSlicedResultSet(StandardSQLTypeName currentType, Tuple<Field, JsonStringArrayList<?>> schemaAndValue, Object[] expected, int javaSqlTypeCode) throws SQLException {
280+
Array array = new BigQueryArrowArray(schemaAndValue.x(), schemaAndValue.y());
295281
int fromIndex = 1;
296282
int toIndexExclusive = 3;
297283
Object[] expectedSlicedArray =
298-
copyOfRange(this.expected, fromIndex, toIndexExclusive); // copying index(1,2)
284+
copyOfRange(expected, fromIndex, toIndexExclusive); // copying index(1,2)
299285

300286
// the first element is at index 1
301287
ResultSet resultSet = array.getResultSet(fromIndex + 1, 2);
@@ -309,27 +295,35 @@ public void getSlicedResultSet() throws SQLException {
309295
assertThat(columnValues.toArray()).isEqualTo(expectedSlicedArray);
310296
}
311297

312-
@Test
313-
public void getSlicedResultSetWhenCountIsGreaterThanOriginalArrayLength() {
298+
@ParameterizedTest(name = "{index}: primitive array of {0}")
299+
@MethodSource("data")
300+
public void getSlicedResultSetWhenCountIsGreaterThanOriginalArrayLength(StandardSQLTypeName currentType, Tuple<Field, JsonStringArrayList<?>> schemaAndValue, Object[] expected, int javaSqlTypeCode) {
301+
Array array = new BigQueryArrowArray(schemaAndValue.x(), schemaAndValue.y());
314302
IllegalArgumentException illegalArgumentException =
315303
assertThrows(IllegalArgumentException.class, () -> array.getResultSet(2, 10));
316304
assertThat(illegalArgumentException.getMessage())
317305
.isEqualTo("The array index is out of range: 12, number of elements: 4.");
318306
}
319307

320-
@Test
321-
public void getBaseTypeName() throws SQLException {
322-
assertThat(array.getBaseTypeName()).isEqualTo(this.currentType.name());
308+
@ParameterizedTest(name = "{index}: primitive array of {0}")
309+
@MethodSource("data")
310+
public void getBaseTypeName(StandardSQLTypeName currentType, Tuple<Field, JsonStringArrayList<?>> schemaAndValue, Object[] expected, int javaSqlTypeCode) throws SQLException {
311+
Array array = new BigQueryArrowArray(schemaAndValue.x(), schemaAndValue.y());
312+
assertThat(array.getBaseTypeName()).isEqualTo(currentType.name());
323313
}
324314

325-
@Test
326-
public void getBaseType() throws SQLException {
327-
assertThat(array.getBaseType()).isEqualTo(this.javaSqlTypeCode);
315+
@ParameterizedTest(name = "{index}: primitive array of {0}")
316+
@MethodSource("data")
317+
public void getBaseType(StandardSQLTypeName currentType, Tuple<Field, JsonStringArrayList<?>> schemaAndValue, Object[] expected, int javaSqlTypeCode) throws SQLException {
318+
Array array = new BigQueryArrowArray(schemaAndValue.x(), schemaAndValue.y());
319+
assertThat(array.getBaseType()).isEqualTo(javaSqlTypeCode);
328320
}
329321

330-
@Test
331-
public void free() throws SQLException {
332-
this.array.free();
322+
@ParameterizedTest(name = "{index}: primitive array of {0}")
323+
@MethodSource("data")
324+
public void free(StandardSQLTypeName currentType, Tuple<Field, JsonStringArrayList<?>> schemaAndValue, Object[] expected, int javaSqlTypeCode) throws SQLException {
325+
Array array = new BigQueryArrowArray(schemaAndValue.x(), schemaAndValue.y());
326+
array.free();
333327

334328
ensureArrayIsInvalid(() -> array.getArray());
335329
ensureArrayIsInvalid(() -> array.getArray(1, 2));
@@ -339,8 +333,10 @@ public void free() throws SQLException {
339333
ensureArrayIsInvalid(() -> array.getBaseType());
340334
}
341335

342-
@Test
343-
public void getArrayWithCustomTypeMappingsIsNotSupported() {
336+
@ParameterizedTest(name = "{index}: primitive array of {0}")
337+
@MethodSource("data")
338+
public void getArrayWithCustomTypeMappingsIsNotSupported(StandardSQLTypeName currentType, Tuple<Field, JsonStringArrayList<?>> schemaAndValue, Object[] expected, int javaSqlTypeCode) {
339+
Array array = new BigQueryArrowArray(schemaAndValue.x(), schemaAndValue.y());
344340
Exception exception1 =
345341
assertThrows(SQLFeatureNotSupportedException.class, () -> array.getArray(emptyMap()));
346342
Exception exception2 =
@@ -349,8 +345,10 @@ public void getArrayWithCustomTypeMappingsIsNotSupported() {
349345
assertThat(exception2.getMessage()).isEqualTo(CUSTOMER_TYPE_MAPPING_NOT_SUPPORTED);
350346
}
351347

352-
@Test
353-
public void getResultSetWithCustomTypeMappingsIsNotSupported() {
348+
@ParameterizedTest(name = "{index}: primitive array of {0}")
349+
@MethodSource("data")
350+
public void getResultSetWithCustomTypeMappingsIsNotSupported(StandardSQLTypeName currentType, Tuple<Field, JsonStringArrayList<?>> schemaAndValue, Object[] expected, int javaSqlTypeCode) {
351+
Array array = new BigQueryArrowArray(schemaAndValue.x(), schemaAndValue.y());
354352
Exception exception1 =
355353
assertThrows(SQLFeatureNotSupportedException.class, () -> array.getResultSet(emptyMap()));
356354
Exception exception2 =
@@ -360,7 +358,7 @@ public void getResultSetWithCustomTypeMappingsIsNotSupported() {
360358
assertThat(exception2.getMessage()).isEqualTo(CUSTOMER_TYPE_MAPPING_NOT_SUPPORTED);
361359
}
362360

363-
private void ensureArrayIsInvalid(ThrowingRunnable block) {
361+
private void ensureArrayIsInvalid(Executable block) {
364362
Exception exception = assertThrows(IllegalStateException.class, block);
365363
assertThat(exception.getMessage()).isEqualTo(INVALID_ARRAY);
366364
}

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

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
import static java.lang.Boolean.TRUE;
3131
import static java.util.Arrays.asList;
3232
import static java.util.Collections.emptyMap;
33-
import static org.junit.Assert.assertThrows;
33+
import static org.junit.jupiter.api.Assertions.assertThrows;
3434

3535
import com.google.cloud.Tuple;
3636
import com.google.cloud.bigquery.Field;
@@ -48,15 +48,15 @@
4848
import org.apache.arrow.vector.util.JsonStringArrayList;
4949
import org.apache.arrow.vector.util.JsonStringHashMap;
5050
import org.apache.arrow.vector.util.Text;
51-
import org.junit.Before;
52-
import org.junit.Test;
53-
import org.junit.function.ThrowingRunnable;
51+
import org.junit.jupiter.api.BeforeEach;
52+
import org.junit.jupiter.api.Test;
53+
import org.junit.jupiter.api.function.Executable;
5454

5555
public class BigQueryArrowArrayOfStructTest {
5656

5757
private Array array;
5858

59-
@Before
59+
@BeforeEach
6060
public void setUp() {
6161
FieldList profileSchema =
6262
FieldList.of(
@@ -198,7 +198,7 @@ public void getResultSetWithCustomTypeMappingsIsNotSupported() {
198198
assertThat(exception2.getMessage()).isEqualTo(CUSTOMER_TYPE_MAPPING_NOT_SUPPORTED);
199199
}
200200

201-
private void ensureArrayIsInvalid(ThrowingRunnable block) {
201+
private void ensureArrayIsInvalid(Executable block) {
202202
Exception exception = assertThrows(IllegalStateException.class, block);
203203
assertThat(exception.getMessage()).isEqualTo(INVALID_ARRAY);
204204
}

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -57,8 +57,8 @@
5757
import org.apache.arrow.vector.types.pojo.FieldType;
5858
import org.apache.arrow.vector.util.JsonStringArrayList;
5959
import org.apache.arrow.vector.util.Text;
60-
import org.junit.Before;
61-
import org.junit.Test;
60+
import org.junit.jupiter.api.BeforeEach;
61+
import org.junit.jupiter.api.Test;
6262

6363
public class BigQueryArrowResultSetTest {
6464

@@ -194,7 +194,7 @@ private JsonStringArrayList<Long> getJsonStringArrayList() {
194194
return jsonStringArrayList;
195195
}
196196

197-
@Before
197+
@BeforeEach
198198
public void setUp() throws SQLException, IOException {
199199
buffer = new LinkedBlockingDeque<>();
200200
bufferWithTwoRows = new LinkedBlockingDeque<>();

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

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@
3838
import static java.time.Month.MARCH;
3939
import static java.util.Arrays.asList;
4040
import static java.util.Collections.emptyMap;
41-
import static org.junit.Assert.assertThrows;
41+
import static org.junit.jupiter.api.Assertions.assertThrows;
4242

4343
import com.google.cloud.Tuple;
4444
import com.google.cloud.bigquery.Field;
@@ -63,17 +63,17 @@
6363
import org.apache.arrow.vector.util.JsonStringArrayList;
6464
import org.apache.arrow.vector.util.JsonStringHashMap;
6565
import org.apache.arrow.vector.util.Text;
66-
import org.junit.Before;
67-
import org.junit.Rule;
68-
import org.junit.Test;
66+
import org.junit.jupiter.api.BeforeEach;
67+
import org.junit.jupiter.api.extension.RegisterExtension;
68+
import org.junit.jupiter.api.Test;
6969

7070
public class BigQueryArrowStructTest {
7171

72-
@Rule public final TimeZoneRule timeZoneRule = new TimeZoneRule("UTC");
72+
@RegisterExtension public final TimeZoneRule timeZoneRule = new TimeZoneRule("UTC");
7373

7474
private Struct structWithPrimitiveValues;
7575

76-
@Before
76+
@BeforeEach
7777
public void setUp() {
7878
Tuple<FieldList, JsonStringHashMap<String, Object>> schemaAndValues =
7979
arrowStructOf(

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

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
package com.google.cloud.bigquery.jdbc;
1818

1919
import static com.google.common.truth.Truth.assertThat;
20-
import static org.junit.Assert.assertFalse;
20+
import static org.junit.jupiter.api.Assertions.assertFalse;
2121
import static org.mockito.ArgumentMatchers.any;
2222
import static org.mockito.Mockito.CALLS_REAL_METHODS;
2323
import static org.mockito.Mockito.doReturn;
@@ -28,16 +28,16 @@
2828
import com.google.cloud.bigquery.JobId;
2929
import com.google.cloud.bigquery.JobStatistics.QueryStatistics;
3030
import java.lang.reflect.Field;
31-
import org.junit.Before;
32-
import org.junit.Test;
31+
import org.junit.jupiter.api.BeforeEach;
32+
import org.junit.jupiter.api.Test;
3333

3434
public class BigQueryBaseResultSetTest {
3535
private BigQuery bigQuery;
3636
private BigQueryBaseResultSet resultSet;
3737
private Job job;
3838
private QueryStatistics statistics;
3939

40-
@Before
40+
@BeforeEach
4141
public void setUp() {
4242
// Using mock() for QueryStatistics because Builder() seems to not be available
4343
// from outside.

0 commit comments

Comments
 (0)