This is an automated email from the ASF dual-hosted git repository.
lidavidm pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/arrow.git
The following commit(s) were added to refs/heads/main by this push:
new 870b315d4b GH-42030: [Java] Update Unit Tests for Adapter Module
(#42038)
870b315d4b is described below
commit 870b315d4b766a671cd5e478e5b9776beb00ff59
Author: Hyunseok Seo <[email protected]>
AuthorDate: Fri Jun 14 09:48:38 2024 +0900
GH-42030: [Java] Update Unit Tests for Adapter Module (#42038)
### Rationale for this change
Update package from JUnit 4(`org.junit`) to JUnit 5(`org.junit.jupiter`).
### What changes are included in this PR?
- `avro` and `jdbc` module
- [x] Replacing `org.junit` with `org.junit.jupiter.api`.
- [x] Updating `Assertions.assertXXX` to `assertXXX` using static imports.
- [x] Updating annotations such as `@ Before`, `@ After`.
- `@ Before` -> `@ BeforeEach`
- `@ After` -> `@ AfterEach`
- `@ Test` -> `@ Test` with `org.junit.jupiter`
- `@ ClassRule` -> `@ TempDir` and `@ BeforeAll`
- [x] Updating `Parameterized` test
- [x] Doing self review for avro
- [x] Dealing with `java.io.IOException: Failed to delete temp directory`
on Windows with JDK 11
- [x] Exploring a more effective structure for `ParameterizedTest` in
JDBC tests.
- [x] Doing self review for jdbc
- `orc` module
- [x] Reviewing the build method
- [x] Updating annotations such as `@ BeforeAll`, `@ Rule`, `@
TemporaryFolder`
- [x] Doing self review
### Are these changes tested?
Yes, existing tests have passed.
### Are there any user-facing changes?
No.
* GitHub Issue: #42030
Authored-by: Hyunseok Seo <[email protected]>
Signed-off-by: David Li <[email protected]>
---
.../arrow/adapter/avro/AvroLogicalTypesTest.java | 2 +-
.../arrow/adapter/avro/AvroSkipFieldTest.java | 4 +-
.../apache/arrow/adapter/avro/AvroTestBase.java | 37 +++++-----
.../adapter/avro/AvroToArrowIteratorTest.java | 52 +++++++++-----
.../apache/arrow/adapter/avro/AvroToArrowTest.java | 4 +-
.../adapter/avro/TestWriteReadAvroRecord.java | 34 ++++-----
.../adapter/jdbc/AbstractJdbcToArrowTest.java | 16 ++---
.../arrow/adapter/jdbc/JdbcFieldInfoTest.java | 4 +-
.../jdbc/JdbcToArrowCommentMetadataTest.java | 10 +--
.../arrow/adapter/jdbc/JdbcToArrowConfigTest.java | 55 ++++++++++-----
.../arrow/adapter/jdbc/JdbcToArrowTestHelper.java | 8 +--
.../arrow/adapter/jdbc/ResultSetUtilityTest.java | 20 +++---
.../arrow/adapter/jdbc/UnreliableMetaDataTest.java | 81 +++++++++++-----------
.../jdbc/consumer/AbstractConsumerTest.java | 8 +--
.../adapter/jdbc/consumer/BinaryConsumerTest.java | 8 +--
.../adapter/jdbc/h2/JdbcAliasToArrowTest.java | 12 ++--
.../adapter/jdbc/h2/JdbcToArrowArrayTest.java | 16 ++---
.../adapter/jdbc/h2/JdbcToArrowCharSetTest.java | 51 ++++++--------
.../adapter/jdbc/h2/JdbcToArrowDataTypesTest.java | 41 +++++------
.../jdbc/h2/JdbcToArrowMapDataTypeTest.java | 20 ++++--
.../arrow/adapter/jdbc/h2/JdbcToArrowNullTest.java | 40 +++++------
.../jdbc/h2/JdbcToArrowOptionalColumnsTest.java | 35 ++++------
.../arrow/adapter/jdbc/h2/JdbcToArrowTest.java | 53 +++++++-------
.../adapter/jdbc/h2/JdbcToArrowTimeZoneTest.java | 41 +++++------
.../jdbc/h2/JdbcToArrowVectorIteratorTest.java | 64 +++++++++--------
.../apache/arrow/adapter/orc/OrcReaderTest.java | 19 +++--
26 files changed, 373 insertions(+), 362 deletions(-)
diff --git
a/java/adapter/avro/src/test/java/org/apache/arrow/adapter/avro/AvroLogicalTypesTest.java
b/java/adapter/avro/src/test/java/org/apache/arrow/adapter/avro/AvroLogicalTypesTest.java
index d8eefc715f..b114f2b00c 100644
---
a/java/adapter/avro/src/test/java/org/apache/arrow/adapter/avro/AvroLogicalTypesTest.java
+++
b/java/adapter/avro/src/test/java/org/apache/arrow/adapter/avro/AvroLogicalTypesTest.java
@@ -32,7 +32,7 @@ import org.apache.arrow.vector.util.DateUtility;
import org.apache.avro.Conversions;
import org.apache.avro.Schema;
import org.apache.avro.generic.GenericFixed;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
public class AvroLogicalTypesTest extends AvroTestBase {
diff --git
a/java/adapter/avro/src/test/java/org/apache/arrow/adapter/avro/AvroSkipFieldTest.java
b/java/adapter/avro/src/test/java/org/apache/arrow/adapter/avro/AvroSkipFieldTest.java
index 3335ee5a8f..3120c26638 100644
---
a/java/adapter/avro/src/test/java/org/apache/arrow/adapter/avro/AvroSkipFieldTest.java
+++
b/java/adapter/avro/src/test/java/org/apache/arrow/adapter/avro/AvroSkipFieldTest.java
@@ -16,7 +16,7 @@
*/
package org.apache.arrow.adapter.avro;
-import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
import java.nio.ByteBuffer;
import java.nio.charset.StandardCharsets;
@@ -31,7 +31,7 @@ import org.apache.arrow.vector.types.Types;
import org.apache.avro.Schema;
import org.apache.avro.generic.GenericData;
import org.apache.avro.generic.GenericRecord;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
public class AvroSkipFieldTest extends AvroTestBase {
diff --git
a/java/adapter/avro/src/test/java/org/apache/arrow/adapter/avro/AvroTestBase.java
b/java/adapter/avro/src/test/java/org/apache/arrow/adapter/avro/AvroTestBase.java
index 534c2cc18c..44c4186c52 100644
---
a/java/adapter/avro/src/test/java/org/apache/arrow/adapter/avro/AvroTestBase.java
+++
b/java/adapter/avro/src/test/java/org/apache/arrow/adapter/avro/AvroTestBase.java
@@ -16,9 +16,9 @@
*/
package org.apache.arrow.adapter.avro;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
import java.io.File;
import java.io.FileInputStream;
@@ -43,17 +43,16 @@ import org.apache.avro.io.BinaryEncoder;
import org.apache.avro.io.DatumWriter;
import org.apache.avro.io.DecoderFactory;
import org.apache.avro.io.EncoderFactory;
-import org.junit.Before;
-import org.junit.ClassRule;
-import org.junit.rules.TemporaryFolder;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.io.TempDir;
public class AvroTestBase {
- @ClassRule public static final TemporaryFolder TMP = new TemporaryFolder();
+ @TempDir public File TMP;
protected AvroToArrowConfig config;
- @Before
+ @BeforeEach
public void init() {
BufferAllocator allocator = new RootAllocator(Long.MAX_VALUE);
config = new AvroToArrowConfigBuilder(allocator).build();
@@ -82,19 +81,21 @@ public class AvroTestBase {
}
protected VectorSchemaRoot writeAndRead(Schema schema, List data) throws
Exception {
- File dataFile = TMP.newFile();
+ File dataFile = new File(TMP, "test.avro");
- BinaryEncoder encoder =
- new EncoderFactory().directBinaryEncoder(new
FileOutputStream(dataFile), null);
- DatumWriter writer = new GenericDatumWriter(schema);
- BinaryDecoder decoder =
- new DecoderFactory().directBinaryDecoder(new
FileInputStream(dataFile), null);
+ try (FileOutputStream fos = new FileOutputStream(dataFile);
+ FileInputStream fis = new FileInputStream(dataFile)) {
- for (Object value : data) {
- writer.write(value, encoder);
- }
+ BinaryEncoder encoder = new EncoderFactory().directBinaryEncoder(fos,
null);
+ DatumWriter<Object> writer = new GenericDatumWriter<>(schema);
+ BinaryDecoder decoder = new DecoderFactory().directBinaryDecoder(fis,
null);
+
+ for (Object value : data) {
+ writer.write(value, encoder);
+ }
- return AvroToArrow.avroToArrow(schema, decoder, config);
+ return AvroToArrow.avroToArrow(schema, decoder, config);
+ }
}
protected void checkArrayResult(List<List<?>> expected, ListVector vector) {
diff --git
a/java/adapter/avro/src/test/java/org/apache/arrow/adapter/avro/AvroToArrowIteratorTest.java
b/java/adapter/avro/src/test/java/org/apache/arrow/adapter/avro/AvroToArrowIteratorTest.java
index 7e73b2d6c7..f8022a9385 100644
---
a/java/adapter/avro/src/test/java/org/apache/arrow/adapter/avro/AvroToArrowIteratorTest.java
+++
b/java/adapter/avro/src/test/java/org/apache/arrow/adapter/avro/AvroToArrowIteratorTest.java
@@ -16,7 +16,7 @@
*/
package org.apache.arrow.adapter.avro;
-import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
import java.io.EOFException;
import java.io.File;
@@ -44,29 +44,31 @@ import org.apache.avro.io.Decoder;
import org.apache.avro.io.DecoderFactory;
import org.apache.avro.io.EncoderFactory;
import org.apache.avro.util.Utf8;
-import org.junit.Test;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
public class AvroToArrowIteratorTest extends AvroTestBase {
- @Override
+ @BeforeEach
public void init() {
final BufferAllocator allocator = new RootAllocator(Long.MAX_VALUE);
this.config = new
AvroToArrowConfigBuilder(allocator).setTargetBatchSize(3).build();
}
- private AvroToArrowVectorIterator convert(Schema schema, List data) throws
Exception {
- File dataFile = TMP.newFile();
+ private void writeDataToFile(Schema schema, List<?> data, File dataFile)
throws Exception {
+ try (FileOutputStream fos = new FileOutputStream(dataFile)) {
+ BinaryEncoder encoder = EncoderFactory.get().directBinaryEncoder(fos,
null);
+ DatumWriter<Object> writer = new GenericDatumWriter<>(schema);
- BinaryEncoder encoder =
- new EncoderFactory().directBinaryEncoder(new
FileOutputStream(dataFile), null);
- DatumWriter writer = new GenericDatumWriter(schema);
- BinaryDecoder decoder =
- new DecoderFactory().directBinaryDecoder(new
FileInputStream(dataFile), null);
-
- for (Object value : data) {
- writer.write(value, encoder);
+ for (Object value : data) {
+ writer.write(value, encoder);
+ }
+ encoder.flush();
}
+ }
+ private AvroToArrowVectorIterator convert(Schema schema, FileInputStream
fis) throws Exception {
+ BinaryDecoder decoder = DecoderFactory.get().directBinaryDecoder(fis,
null);
return AvroToArrow.avroToArrowIterator(schema, decoder, config);
}
@@ -75,9 +77,13 @@ public class AvroToArrowIteratorTest extends AvroTestBase {
Schema schema = getSchema("test_primitive_string.avsc");
List<String> data = Arrays.asList("v1", "v2", "v3", "v4", "v5");
+ File dataFile = new File(TMP, "test.avro");
+ writeDataToFile(schema, data, dataFile);
+
List<VectorSchemaRoot> roots = new ArrayList<>();
List<FieldVector> vectors = new ArrayList<>();
- try (AvroToArrowVectorIterator iterator = convert(schema, data)) {
+ try (FileInputStream fis = new FileInputStream(dataFile);
+ AvroToArrowVectorIterator iterator = convert(schema, fis)) {
while (iterator.hasNext()) {
VectorSchemaRoot root = iterator.next();
FieldVector vector = root.getFieldVectors().get(0);
@@ -103,9 +109,13 @@ public class AvroToArrowIteratorTest extends AvroTestBase {
data.add(record);
}
+ File dataFile = new File(TMP, "test.avro");
+ writeDataToFile(schema, data, dataFile);
+
List<VectorSchemaRoot> roots = new ArrayList<>();
List<FieldVector> vectors = new ArrayList<>();
- try (AvroToArrowVectorIterator iterator = convert(schema, data); ) {
+ try (FileInputStream fis = new FileInputStream(dataFile);
+ AvroToArrowVectorIterator iterator = convert(schema, fis)) {
while (iterator.hasNext()) {
VectorSchemaRoot root = iterator.next();
FieldVector vector = root.getFieldVectors().get(0);
@@ -129,8 +139,12 @@ public class AvroToArrowIteratorTest extends AvroTestBase {
data.add(record);
}
+ File dataFile = new File(TMP, "test.avro");
+ writeDataToFile(schema, data, dataFile);
+
List<VectorSchemaRoot> roots = new ArrayList<>();
- try (AvroToArrowVectorIterator iterator = convert(schema, data)) {
+ try (FileInputStream fis = new FileInputStream(dataFile);
+ AvroToArrowVectorIterator iterator = convert(schema, fis)) {
while (iterator.hasNext()) {
roots.add(iterator.next());
}
@@ -150,9 +164,13 @@ public class AvroToArrowIteratorTest extends AvroTestBase {
Arrays.asList("1vvv", "2bbb"),
Arrays.asList("1fff", "2"));
+ File dataFile = new File(TMP, "test.avro");
+ writeDataToFile(schema, data, dataFile);
+
List<VectorSchemaRoot> roots = new ArrayList<>();
List<ListVector> vectors = new ArrayList<>();
- try (AvroToArrowVectorIterator iterator = convert(schema, data)) {
+ try (FileInputStream fis = new FileInputStream(dataFile);
+ AvroToArrowVectorIterator iterator = convert(schema, fis)) {
while (iterator.hasNext()) {
VectorSchemaRoot root = iterator.next();
roots.add(root);
diff --git
a/java/adapter/avro/src/test/java/org/apache/arrow/adapter/avro/AvroToArrowTest.java
b/java/adapter/avro/src/test/java/org/apache/arrow/adapter/avro/AvroToArrowTest.java
index 59317c3be0..899ea40301 100644
---
a/java/adapter/avro/src/test/java/org/apache/arrow/adapter/avro/AvroToArrowTest.java
+++
b/java/adapter/avro/src/test/java/org/apache/arrow/adapter/avro/AvroToArrowTest.java
@@ -16,7 +16,7 @@
*/
package org.apache.arrow.adapter.avro;
-import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
import java.nio.ByteBuffer;
import java.nio.charset.StandardCharsets;
@@ -34,7 +34,7 @@ import org.apache.arrow.vector.complex.StructVector;
import org.apache.avro.Schema;
import org.apache.avro.generic.GenericData;
import org.apache.avro.generic.GenericRecord;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
public class AvroToArrowTest extends AvroTestBase {
diff --git
a/java/adapter/avro/src/test/java/org/apache/arrow/adapter/avro/TestWriteReadAvroRecord.java
b/java/adapter/avro/src/test/java/org/apache/arrow/adapter/avro/TestWriteReadAvroRecord.java
index a721a1e4cc..c318214f5c 100644
---
a/java/adapter/avro/src/test/java/org/apache/arrow/adapter/avro/TestWriteReadAvroRecord.java
+++
b/java/adapter/avro/src/test/java/org/apache/arrow/adapter/avro/TestWriteReadAvroRecord.java
@@ -16,7 +16,7 @@
*/
package org.apache.arrow.adapter.avro;
-import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
import java.io.File;
import java.util.ArrayList;
@@ -30,18 +30,16 @@ import org.apache.avro.generic.GenericDatumWriter;
import org.apache.avro.generic.GenericRecord;
import org.apache.avro.io.DatumReader;
import org.apache.avro.io.DatumWriter;
-import org.junit.ClassRule;
-import org.junit.Test;
-import org.junit.rules.TemporaryFolder;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.io.TempDir;
public class TestWriteReadAvroRecord {
- @ClassRule public static final TemporaryFolder TMP = new TemporaryFolder();
+ @TempDir public static File TMP;
@Test
public void testWriteAndRead() throws Exception {
-
- File dataFile = TMP.newFile();
+ File dataFile = new File(TMP, "test.avro");
Schema schema = AvroTestBase.getSchema("test.avsc");
// write data to disk
@@ -55,20 +53,22 @@ public class TestWriteReadAvroRecord {
user2.put("favorite_color", "red");
DatumWriter<GenericRecord> datumWriter = new
GenericDatumWriter<GenericRecord>(schema);
- DataFileWriter<GenericRecord> dataFileWriter = new
DataFileWriter<GenericRecord>(datumWriter);
- dataFileWriter.create(schema, dataFile);
- dataFileWriter.append(user1);
- dataFileWriter.append(user2);
- dataFileWriter.close();
+ try (DataFileWriter<GenericRecord> dataFileWriter =
+ new DataFileWriter<GenericRecord>(datumWriter)) {
+ dataFileWriter.create(schema, dataFile);
+ dataFileWriter.append(user1);
+ dataFileWriter.append(user2);
+ }
// read data from disk
DatumReader<GenericRecord> datumReader = new
GenericDatumReader<GenericRecord>(schema);
- DataFileReader<GenericRecord> dataFileReader =
- new DataFileReader<GenericRecord>(dataFile, datumReader);
List<GenericRecord> result = new ArrayList<>();
- while (dataFileReader.hasNext()) {
- GenericRecord user = dataFileReader.next();
- result.add(user);
+ try (DataFileReader<GenericRecord> dataFileReader =
+ new DataFileReader<GenericRecord>(dataFile, datumReader)) {
+ while (dataFileReader.hasNext()) {
+ GenericRecord user = dataFileReader.next();
+ result.add(user);
+ }
}
assertEquals(2, result.size());
diff --git
a/java/adapter/jdbc/src/test/java/org/apache/arrow/adapter/jdbc/AbstractJdbcToArrowTest.java
b/java/adapter/jdbc/src/test/java/org/apache/arrow/adapter/jdbc/AbstractJdbcToArrowTest.java
index 1ad4492b35..a37a8ca2f5 100644
---
a/java/adapter/jdbc/src/test/java/org/apache/arrow/adapter/jdbc/AbstractJdbcToArrowTest.java
+++
b/java/adapter/jdbc/src/test/java/org/apache/arrow/adapter/jdbc/AbstractJdbcToArrowTest.java
@@ -37,9 +37,7 @@ import org.apache.arrow.util.Preconditions;
import org.apache.arrow.vector.VectorSchemaRoot;
import org.apache.arrow.vector.types.pojo.ArrowType;
import org.apache.arrow.vector.util.ValueVectorUtility;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.AfterEach;
/** Class to abstract out some common test functionality for testing JDBC to
Arrow. */
public abstract class AbstractJdbcToArrowTest {
@@ -94,8 +92,9 @@ public abstract class AbstractJdbcToArrowTest {
* @throws SQLException on error
* @throws ClassNotFoundException on error
*/
- @Before
- public void setUp() throws SQLException, ClassNotFoundException {
+ protected void initializeDatabase(Table table) throws SQLException,
ClassNotFoundException {
+ this.table = table;
+
TimeZone.setDefault(TimeZone.getTimeZone("UTC"));
String url = "jdbc:h2:mem:JdbcToArrowTest";
String driver = "org.h2.Driver";
@@ -114,7 +113,7 @@ public abstract class AbstractJdbcToArrowTest {
*
* @throws SQLException on error
*/
- @After
+ @AfterEach
public void destroy() throws SQLException {
if (conn != null) {
conn.close();
@@ -146,11 +145,12 @@ public abstract class AbstractJdbcToArrowTest {
/**
* Abstract method to implement test Functionality to test JdbcToArrow
methods.
*
+ * @param table Table object
* @throws SQLException on error
* @throws IOException on error
*/
- @Test
- public abstract void testJdbcToArrowValues() throws SQLException,
IOException;
+ public abstract void testJdbcToArrowValues(Table table)
+ throws SQLException, IOException, ClassNotFoundException;
/**
* Abstract method to implement logic to assert test various datatype values.
diff --git
a/java/adapter/jdbc/src/test/java/org/apache/arrow/adapter/jdbc/JdbcFieldInfoTest.java
b/java/adapter/jdbc/src/test/java/org/apache/arrow/adapter/jdbc/JdbcFieldInfoTest.java
index cd6a78eae2..152b88c45a 100644
---
a/java/adapter/jdbc/src/test/java/org/apache/arrow/adapter/jdbc/JdbcFieldInfoTest.java
+++
b/java/adapter/jdbc/src/test/java/org/apache/arrow/adapter/jdbc/JdbcFieldInfoTest.java
@@ -16,10 +16,10 @@
*/
package org.apache.arrow.adapter.jdbc;
-import static org.junit.Assert.*;
+import static org.junit.jupiter.api.Assertions.assertEquals;
import java.sql.Types;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
public class JdbcFieldInfoTest {
diff --git
a/java/adapter/jdbc/src/test/java/org/apache/arrow/adapter/jdbc/JdbcToArrowCommentMetadataTest.java
b/java/adapter/jdbc/src/test/java/org/apache/arrow/adapter/jdbc/JdbcToArrowCommentMetadataTest.java
index a3ff8d9772..e7e324c784 100644
---
a/java/adapter/jdbc/src/test/java/org/apache/arrow/adapter/jdbc/JdbcToArrowCommentMetadataTest.java
+++
b/java/adapter/jdbc/src/test/java/org/apache/arrow/adapter/jdbc/JdbcToArrowCommentMetadataTest.java
@@ -37,9 +37,9 @@ import org.apache.arrow.vector.types.pojo.ArrowType;
import org.apache.arrow.vector.types.pojo.Field;
import org.apache.arrow.vector.types.pojo.FieldType;
import org.apache.arrow.vector.types.pojo.Schema;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
public class JdbcToArrowCommentMetadataTest {
@@ -53,7 +53,7 @@ public class JdbcToArrowCommentMetadataTest {
* @throws SQLException on error
* @throws ClassNotFoundException on error
*/
- @Before
+ @BeforeEach
public void setUp() throws SQLException, ClassNotFoundException {
String url =
"jdbc:h2:mem:JdbcToArrowTest?characterEncoding=UTF-8;INIT=runscript
from 'classpath:/h2/comment.sql'";
@@ -62,7 +62,7 @@ public class JdbcToArrowCommentMetadataTest {
conn = DriverManager.getConnection(url);
}
- @After
+ @AfterEach
public void tearDown() throws SQLException {
if (conn != null) {
conn.close();
diff --git
a/java/adapter/jdbc/src/test/java/org/apache/arrow/adapter/jdbc/JdbcToArrowConfigTest.java
b/java/adapter/jdbc/src/test/java/org/apache/arrow/adapter/jdbc/JdbcToArrowConfigTest.java
index 85d6d89d03..70c753cf2f 100644
---
a/java/adapter/jdbc/src/test/java/org/apache/arrow/adapter/jdbc/JdbcToArrowConfigTest.java
+++
b/java/adapter/jdbc/src/test/java/org/apache/arrow/adapter/jdbc/JdbcToArrowConfigTest.java
@@ -16,11 +16,12 @@
*/
package org.apache.arrow.adapter.jdbc;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertNull;
+import static org.junit.jupiter.api.Assertions.assertThrows;
+import static org.junit.jupiter.api.Assertions.assertTrue;
import java.sql.Types;
import java.util.Calendar;
@@ -29,7 +30,7 @@ import java.util.Locale;
import java.util.TimeZone;
import org.apache.arrow.memory.BufferAllocator;
import org.apache.arrow.memory.RootAllocator;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
public class JdbcToArrowConfigTest {
@@ -37,14 +38,22 @@ public class JdbcToArrowConfigTest {
private static final Calendar calendar =
Calendar.getInstance(TimeZone.getTimeZone("UTC"), Locale.ROOT);
- @Test(expected = NullPointerException.class)
+ @Test
public void testConfigNullArguments() {
- new JdbcToArrowConfig(null, null);
+ assertThrows(
+ NullPointerException.class,
+ () -> {
+ new JdbcToArrowConfig(null, null);
+ });
}
- @Test(expected = NullPointerException.class)
+ @Test
public void testBuilderNullArguments() {
- new JdbcToArrowConfigBuilder(null, null);
+ assertThrows(
+ NullPointerException.class,
+ () -> {
+ new JdbcToArrowConfigBuilder(null, null);
+ });
}
@Test
@@ -60,20 +69,32 @@ public class JdbcToArrowConfigTest {
assertNull(config.getCalendar());
}
- @Test(expected = NullPointerException.class)
+ @Test
public void testConfigNullAllocator() {
- new JdbcToArrowConfig(null, calendar);
+ assertThrows(
+ NullPointerException.class,
+ () -> {
+ new JdbcToArrowConfig(null, calendar);
+ });
}
- @Test(expected = NullPointerException.class)
+ @Test
public void testBuilderNullAllocator() {
- new JdbcToArrowConfigBuilder(null, calendar);
+ assertThrows(
+ NullPointerException.class,
+ () -> {
+ new JdbcToArrowConfigBuilder(null, calendar);
+ });
}
- @Test(expected = NullPointerException.class)
+ @Test
public void testSetNullAllocator() {
- JdbcToArrowConfigBuilder builder = new JdbcToArrowConfigBuilder(allocator,
calendar);
- builder.setAllocator(null);
+ assertThrows(
+ NullPointerException.class,
+ () -> {
+ JdbcToArrowConfigBuilder builder = new
JdbcToArrowConfigBuilder(allocator, calendar);
+ builder.setAllocator(null);
+ });
}
@Test
diff --git
a/java/adapter/jdbc/src/test/java/org/apache/arrow/adapter/jdbc/JdbcToArrowTestHelper.java
b/java/adapter/jdbc/src/test/java/org/apache/arrow/adapter/jdbc/JdbcToArrowTestHelper.java
index 375463d6fd..74b1ca34d7 100644
---
a/java/adapter/jdbc/src/test/java/org/apache/arrow/adapter/jdbc/JdbcToArrowTestHelper.java
+++
b/java/adapter/jdbc/src/test/java/org/apache/arrow/adapter/jdbc/JdbcToArrowTestHelper.java
@@ -16,10 +16,10 @@
*/
package org.apache.arrow.adapter.jdbc;
-import static org.junit.Assert.assertArrayEquals;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertArrayEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.core.type.TypeReference;
diff --git
a/java/adapter/jdbc/src/test/java/org/apache/arrow/adapter/jdbc/ResultSetUtilityTest.java
b/java/adapter/jdbc/src/test/java/org/apache/arrow/adapter/jdbc/ResultSetUtilityTest.java
index 8af2c06f4d..c7dc9b2791 100644
---
a/java/adapter/jdbc/src/test/java/org/apache/arrow/adapter/jdbc/ResultSetUtilityTest.java
+++
b/java/adapter/jdbc/src/test/java/org/apache/arrow/adapter/jdbc/ResultSetUtilityTest.java
@@ -16,11 +16,11 @@
*/
package org.apache.arrow.adapter.jdbc;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.junit.jupiter.api.Assertions.assertThrows;
+import static org.junit.jupiter.api.Assertions.assertTrue;
import java.sql.ResultSet;
import java.sql.SQLException;
@@ -28,7 +28,7 @@ import java.sql.Types;
import org.apache.arrow.memory.BufferAllocator;
import org.apache.arrow.memory.RootAllocator;
import org.apache.arrow.vector.VectorSchemaRoot;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
/** Tests of the ResultSetUtility. */
public class ResultSetUtilityTest {
@@ -44,14 +44,14 @@ public class ResultSetUtilityTest {
.build();
ArrowVectorIterator iter = JdbcToArrow.sqlToArrowVectorIterator(rs,
config);
- assertTrue("Iterator on zero row ResultSet should haveNext() before
use", iter.hasNext());
+ assertTrue(iter.hasNext(), "Iterator on zero row ResultSet should
haveNext() before use");
VectorSchemaRoot root = iter.next();
- assertNotNull("VectorSchemaRoot from first next() result should never
be null", root);
+ assertNotNull(root, "VectorSchemaRoot from first next() result should
never be null");
assertEquals(
- "VectorSchemaRoot from empty ResultSet should have zero rows", 0,
root.getRowCount());
+ 0, root.getRowCount(), "VectorSchemaRoot from empty ResultSet
should have zero rows");
assertFalse(
- "hasNext() should return false on empty ResultSets after initial
next() call",
- iter.hasNext());
+ iter.hasNext(),
+ "hasNext() should return false on empty ResultSets after initial
next() call");
}
}
}
diff --git
a/java/adapter/jdbc/src/test/java/org/apache/arrow/adapter/jdbc/UnreliableMetaDataTest.java
b/java/adapter/jdbc/src/test/java/org/apache/arrow/adapter/jdbc/UnreliableMetaDataTest.java
index 93ba028e39..4993a8b1ae 100644
---
a/java/adapter/jdbc/src/test/java/org/apache/arrow/adapter/jdbc/UnreliableMetaDataTest.java
+++
b/java/adapter/jdbc/src/test/java/org/apache/arrow/adapter/jdbc/UnreliableMetaDataTest.java
@@ -16,10 +16,10 @@
*/
package org.apache.arrow.adapter.jdbc;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertThrows;
+import static org.junit.jupiter.api.Assertions.assertTrue;
import java.math.BigDecimal;
import java.math.RoundingMode;
@@ -29,10 +29,10 @@ import java.sql.SQLException;
import java.sql.Types;
import java.util.ArrayList;
import java.util.Arrays;
-import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
+import java.util.stream.Stream;
import org.apache.arrow.memory.BufferAllocator;
import org.apache.arrow.memory.RootAllocator;
import org.apache.arrow.vector.IntVector;
@@ -40,50 +40,45 @@ import org.apache.arrow.vector.VectorSchemaRoot;
import org.apache.arrow.vector.types.pojo.ArrowType;
import org.apache.arrow.vector.types.pojo.Field;
import org.apache.arrow.vector.types.pojo.Schema;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.Arguments;
+import org.junit.jupiter.params.provider.MethodSource;
/** Test options for dealing with unreliable ResultSetMetaData from JDBC
drivers. */
-@RunWith(Parameterized.class)
public class UnreliableMetaDataTest {
- private final boolean reuseVectorSchemaRoot;
private BufferAllocator allocator;
- public UnreliableMetaDataTest(boolean reuseVectorSchemaRoot) {
- this.reuseVectorSchemaRoot = reuseVectorSchemaRoot;
- }
-
- @Before
+ @BeforeEach
public void beforeEach() {
allocator = new RootAllocator();
}
- @After
+ @AfterEach
public void afterEach() {
allocator.close();
}
- @Parameterized.Parameters(name = "reuseVectorSchemaRoot = {0}")
- public static Collection<Object[]> getTestData() {
- return Arrays.asList(new Object[][] {{false}, {true}});
+ public static Stream<Arguments> getTestData() {
+ return Arrays.stream(new Object[][] {{false}, {true}}).map(Arguments::of);
}
- @Test
- public void testUnreliableMetaDataPrecisionAndScale() throws Exception {
+ @ParameterizedTest
+ @MethodSource("getTestData")
+ public void testUnreliableMetaDataPrecisionAndScale(boolean
reuseVectorSchemaRoot)
+ throws Exception {
ResultSet rs = buildIncorrectPrecisionAndScaleMetaDataResultSet();
ResultSetMetaData rsmd = rs.getMetaData();
- assertEquals("Column type should be Types.DECIMAL", Types.DECIMAL,
rsmd.getColumnType(1));
- assertEquals("Column scale should be zero", 0, rsmd.getScale(1));
- assertEquals("Column precision should be zero", 0, rsmd.getPrecision(1));
+ assertEquals(Types.DECIMAL, rsmd.getColumnType(1), "Column type should be
Types.DECIMAL");
+ assertEquals(0, rsmd.getScale(1), "Column scale should be zero");
+ assertEquals(0, rsmd.getPrecision(1), "Column precision should be zero");
rs.next();
BigDecimal bd1 = rs.getBigDecimal(1);
- assertEquals("Value should be 1000000000000000.01", new
BigDecimal("1000000000000000.01"), bd1);
- assertEquals("Value scale should be 2", 2, bd1.scale());
- assertEquals("Value precision should be 18", 18, bd1.precision());
- assertFalse("No more rows!", rs.next());
+ assertEquals(new BigDecimal("1000000000000000.01"), bd1, "Value should be
1000000000000000.01");
+ assertEquals(2, bd1.scale(), "Value scale should be 2");
+ assertEquals(18, bd1.precision(), "Value precision should be 18");
+ assertFalse(rs.next(), "No more rows!");
// reset the ResultSet:
rs.beforeFirst();
@@ -118,24 +113,25 @@ public class UnreliableMetaDataTest {
}
}
- @Test
- public void testInconsistentPrecisionAndScale() throws Exception {
+ @ParameterizedTest
+ @MethodSource("getTestData")
+ public void testInconsistentPrecisionAndScale(boolean reuseVectorSchemaRoot)
throws Exception {
ResultSet rs = buildVaryingPrecisionAndScaleResultSet();
ResultSetMetaData rsmd = rs.getMetaData();
- assertEquals("Column type should be Types.DECIMAL", Types.DECIMAL,
rsmd.getColumnType(1));
- assertEquals("Column scale should be zero", 0, rsmd.getScale(1));
- assertEquals("Column precision should be zero", 0, rsmd.getPrecision(1));
+ assertEquals(Types.DECIMAL, rsmd.getColumnType(1), "Column type should be
Types.DECIMAL");
+ assertEquals(0, rsmd.getScale(1), "Column scale should be zero");
+ assertEquals(0, rsmd.getPrecision(1), "Column precision should be zero");
rs.next();
BigDecimal bd1 = rs.getBigDecimal(1);
- assertEquals("Value should be 1000000000000000.01", new
BigDecimal("1000000000000000.01"), bd1);
- assertEquals("Value scale should be 2", 2, bd1.scale());
- assertEquals("Value precision should be 18", 18, bd1.precision());
+ assertEquals(new BigDecimal("1000000000000000.01"), bd1, "Value should be
1000000000000000.01");
+ assertEquals(2, bd1.scale(), "Value scale should be 2");
+ assertEquals(18, bd1.precision(), "Value precision should be 18");
rs.next();
BigDecimal bd2 = rs.getBigDecimal(1);
assertEquals(
- "Value should be 1000000000300.0000001", new
BigDecimal("1000000000300.0000001"), bd2);
- assertEquals("Value scale should be 7", 7, bd2.scale());
- assertEquals("Value precision should be 20", 20, bd2.precision());
+ new BigDecimal("1000000000300.0000001"), bd2, "Value should be
1000000000300.0000001");
+ assertEquals(7, bd2.scale(), "Value scale should be 7");
+ assertEquals(20, bd2.precision(), "Value precision should be 20");
rs.beforeFirst();
JdbcFieldInfo explicitMappingField = new JdbcFieldInfo(Types.DECIMAL, 20,
7);
Map<Integer, JdbcFieldInfo> explicitMapping = new HashMap<>();
@@ -170,8 +166,9 @@ public class UnreliableMetaDataTest {
}
}
- @Test
- public void testIncorrectNullability() throws Exception {
+ @ParameterizedTest
+ @MethodSource("getTestData")
+ public void testIncorrectNullability(boolean reuseVectorSchemaRoot) throws
Exception {
// ARROW-17005: ResultSetMetaData may indicate a field is non-nullable
even when there are nulls
ResultSetUtility.MockResultSetMetaData.MockColumnMetaData columnMetaData =
ResultSetUtility.MockResultSetMetaData.MockColumnMetaData.builder()
diff --git
a/java/adapter/jdbc/src/test/java/org/apache/arrow/adapter/jdbc/consumer/AbstractConsumerTest.java
b/java/adapter/jdbc/src/test/java/org/apache/arrow/adapter/jdbc/consumer/AbstractConsumerTest.java
index 6a25c58fbd..157bf5bdec 100644
---
a/java/adapter/jdbc/src/test/java/org/apache/arrow/adapter/jdbc/consumer/AbstractConsumerTest.java
+++
b/java/adapter/jdbc/src/test/java/org/apache/arrow/adapter/jdbc/consumer/AbstractConsumerTest.java
@@ -18,19 +18,19 @@ package org.apache.arrow.adapter.jdbc.consumer;
import org.apache.arrow.memory.BufferAllocator;
import org.apache.arrow.memory.RootAllocator;
-import org.junit.After;
-import org.junit.Before;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
public abstract class AbstractConsumerTest {
protected BufferAllocator allocator;
- @Before
+ @BeforeEach
public void setUp() {
allocator = new RootAllocator(Long.MAX_VALUE);
}
- @After
+ @AfterEach
public void tearDown() {
allocator.close();
}
diff --git
a/java/adapter/jdbc/src/test/java/org/apache/arrow/adapter/jdbc/consumer/BinaryConsumerTest.java
b/java/adapter/jdbc/src/test/java/org/apache/arrow/adapter/jdbc/consumer/BinaryConsumerTest.java
index 255770ecdb..b1e253794d 100644
---
a/java/adapter/jdbc/src/test/java/org/apache/arrow/adapter/jdbc/consumer/BinaryConsumerTest.java
+++
b/java/adapter/jdbc/src/test/java/org/apache/arrow/adapter/jdbc/consumer/BinaryConsumerTest.java
@@ -16,15 +16,15 @@
*/
package org.apache.arrow.adapter.jdbc.consumer;
-import static org.junit.Assert.assertArrayEquals;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertArrayEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertTrue;
import java.io.ByteArrayInputStream;
import java.io.IOException;
import org.apache.arrow.vector.BaseValueVector;
import org.apache.arrow.vector.VarBinaryVector;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
public class BinaryConsumerTest extends AbstractConsumerTest {
diff --git
a/java/adapter/jdbc/src/test/java/org/apache/arrow/adapter/jdbc/h2/JdbcAliasToArrowTest.java
b/java/adapter/jdbc/src/test/java/org/apache/arrow/adapter/jdbc/h2/JdbcAliasToArrowTest.java
index e22686e890..e6ca3ad34c 100644
---
a/java/adapter/jdbc/src/test/java/org/apache/arrow/adapter/jdbc/h2/JdbcAliasToArrowTest.java
+++
b/java/adapter/jdbc/src/test/java/org/apache/arrow/adapter/jdbc/h2/JdbcAliasToArrowTest.java
@@ -17,7 +17,7 @@
package org.apache.arrow.adapter.jdbc.h2;
import static org.apache.arrow.adapter.jdbc.AbstractJdbcToArrowTest.sqlToArrow;
-import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
import java.sql.Connection;
import java.sql.DriverManager;
@@ -31,9 +31,9 @@ import org.apache.arrow.memory.RootAllocator;
import org.apache.arrow.vector.VectorSchemaRoot;
import org.apache.arrow.vector.types.pojo.Field;
import org.apache.arrow.vector.types.pojo.Schema;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
public class JdbcAliasToArrowTest {
private Connection conn = null;
@@ -46,7 +46,7 @@ public class JdbcAliasToArrowTest {
private static final String COLUMN_A = "A";
private static final String COLUMN_B = "B";
- @Before
+ @BeforeEach
public void setUp() throws Exception {
String url = "jdbc:h2:mem:JdbcAliasToArrowTest";
String driver = "org.h2.Driver";
@@ -110,7 +110,7 @@ public class JdbcAliasToArrowTest {
}
}
- @After
+ @AfterEach
public void tearDown() throws SQLException {
try (Statement stmt = conn.createStatement()) {
stmt.executeUpdate(DROP_STATEMENT);
diff --git
a/java/adapter/jdbc/src/test/java/org/apache/arrow/adapter/jdbc/h2/JdbcToArrowArrayTest.java
b/java/adapter/jdbc/src/test/java/org/apache/arrow/adapter/jdbc/h2/JdbcToArrowArrayTest.java
index 895dab52ca..23a91fe0e5 100644
---
a/java/adapter/jdbc/src/test/java/org/apache/arrow/adapter/jdbc/h2/JdbcToArrowArrayTest.java
+++
b/java/adapter/jdbc/src/test/java/org/apache/arrow/adapter/jdbc/h2/JdbcToArrowArrayTest.java
@@ -17,9 +17,9 @@
package org.apache.arrow.adapter.jdbc.h2;
import static org.apache.arrow.adapter.jdbc.AbstractJdbcToArrowTest.sqlToArrow;
-import static org.junit.Assert.assertArrayEquals;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertArrayEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
import java.nio.charset.StandardCharsets;
import java.sql.Array;
@@ -44,9 +44,9 @@ import org.apache.arrow.vector.IntVector;
import org.apache.arrow.vector.VarCharVector;
import org.apache.arrow.vector.VectorSchemaRoot;
import org.apache.arrow.vector.complex.ListVector;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
public class JdbcToArrowArrayTest {
private Connection conn = null;
@@ -66,7 +66,7 @@ public class JdbcToArrowArrayTest {
private static final String FLOAT_ARRAY_FIELD_NAME = "FLOAT_ARRAY";
private static final String STRING_ARRAY_FIELD_NAME = "STRING_ARRAY";
- @Before
+ @BeforeEach
public void setUp() throws Exception {
String url = "jdbc:h2:mem:JdbcToArrowTest";
String driver = "org.h2.Driver";
@@ -294,7 +294,7 @@ public class JdbcToArrowArrayTest {
}
}
- @After
+ @AfterEach
public void tearDown() throws SQLException {
try (Statement stmt = conn.createStatement()) {
stmt.executeUpdate(DROP_STATEMENT);
diff --git
a/java/adapter/jdbc/src/test/java/org/apache/arrow/adapter/jdbc/h2/JdbcToArrowCharSetTest.java
b/java/adapter/jdbc/src/test/java/org/apache/arrow/adapter/jdbc/h2/JdbcToArrowCharSetTest.java
index 14de2d6dc8..726e1905c4 100644
---
a/java/adapter/jdbc/src/test/java/org/apache/arrow/adapter/jdbc/h2/JdbcToArrowCharSetTest.java
+++
b/java/adapter/jdbc/src/test/java/org/apache/arrow/adapter/jdbc/h2/JdbcToArrowCharSetTest.java
@@ -27,7 +27,7 @@ import java.sql.SQLException;
import java.sql.Statement;
import java.util.Arrays;
import java.util.Calendar;
-import java.util.Collection;
+import java.util.stream.Stream;
import org.apache.arrow.adapter.jdbc.AbstractJdbcToArrowTest;
import org.apache.arrow.adapter.jdbc.JdbcToArrowConfig;
import org.apache.arrow.adapter.jdbc.JdbcToArrowConfigBuilder;
@@ -38,17 +38,14 @@ import org.apache.arrow.memory.RootAllocator;
import org.apache.arrow.vector.VarCharVector;
import org.apache.arrow.vector.VectorSchemaRoot;
import org.apache.arrow.vector.types.pojo.Schema;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-import org.junit.runners.Parameterized.Parameters;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.Arguments;
+import org.junit.jupiter.params.provider.MethodSource;
/**
* JUnit Test Class which contains methods to test JDBC to Arrow data
conversion functionality with
* UTF-8 Charset, including the multi-byte CJK characters for H2 database.
*/
-@RunWith(Parameterized.class)
public class JdbcToArrowCharSetTest extends AbstractJdbcToArrowTest {
private static final String[] testFiles = {
@@ -58,24 +55,10 @@ public class JdbcToArrowCharSetTest extends
AbstractJdbcToArrowTest {
"h2/test1_charset_kr_h2.yml"
};
- /**
- * Constructor which populates the table object for each test iteration.
- *
- * @param table Table oject
- */
- public JdbcToArrowCharSetTest(Table table) {
+ @Override
+ public void initializeDatabase(Table table) throws SQLException,
ClassNotFoundException {
this.table = table;
- }
- /**
- * This method creates Connection object and DB table and also populate data
into table for test.
- *
- * @throws SQLException on error
- * @throws ClassNotFoundException on error
- */
- @Before
- @Override
- public void setUp() throws SQLException, ClassNotFoundException {
String url = "jdbc:h2:mem:JdbcToArrowTest?characterEncoding=UTF-8";
String driver = "org.h2.Driver";
Class.forName(driver);
@@ -96,19 +79,22 @@ public class JdbcToArrowCharSetTest extends
AbstractJdbcToArrowTest {
* @throws ClassNotFoundException on error
* @throws IOException on error
*/
- @Parameters
- public static Collection<Object[]> getTestData()
+ public static Stream<Arguments> getTestData()
throws SQLException, ClassNotFoundException, IOException {
- return Arrays.asList(prepareTestData(testFiles,
JdbcToArrowCharSetTest.class));
+ return Arrays.stream(prepareTestData(testFiles,
JdbcToArrowCharSetTest.class))
+ .map(Arguments::of);
}
/**
* Test Method to test JdbcToArrow Functionality for various H2 DB based
datatypes with UTF-8
* Charset, including the multi-byte CJK characters.
*/
- @Test
- @Override
- public void testJdbcToArrowValues() throws SQLException, IOException {
+ @ParameterizedTest
+ @MethodSource("getTestData")
+ public void testJdbcToArrowValues(Table table)
+ throws SQLException, IOException, ClassNotFoundException {
+ this.initializeDatabase(table);
+
testDataSets(
sqlToArrow(
conn, table.getQuery(), new RootAllocator(Integer.MAX_VALUE),
Calendar.getInstance()),
@@ -146,8 +132,11 @@ public class JdbcToArrowCharSetTest extends
AbstractJdbcToArrowTest {
false);
}
- @Test
- public void testJdbcSchemaMetadata() throws SQLException {
+ @ParameterizedTest
+ @MethodSource("getTestData")
+ public void testJdbcSchemaMetadata(Table table) throws SQLException,
ClassNotFoundException {
+ this.initializeDatabase(table);
+
JdbcToArrowConfig config =
new JdbcToArrowConfigBuilder(new RootAllocator(0),
Calendar.getInstance(), true).build();
ResultSetMetaData rsmd =
conn.createStatement().executeQuery(table.getQuery()).getMetaData();
diff --git
a/java/adapter/jdbc/src/test/java/org/apache/arrow/adapter/jdbc/h2/JdbcToArrowDataTypesTest.java
b/java/adapter/jdbc/src/test/java/org/apache/arrow/adapter/jdbc/h2/JdbcToArrowDataTypesTest.java
index d7c4be03b3..5537e1acba 100644
---
a/java/adapter/jdbc/src/test/java/org/apache/arrow/adapter/jdbc/h2/JdbcToArrowDataTypesTest.java
+++
b/java/adapter/jdbc/src/test/java/org/apache/arrow/adapter/jdbc/h2/JdbcToArrowDataTypesTest.java
@@ -38,7 +38,7 @@ import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.util.Arrays;
import java.util.Calendar;
-import java.util.Collection;
+import java.util.stream.Stream;
import org.apache.arrow.adapter.jdbc.AbstractJdbcToArrowTest;
import org.apache.arrow.adapter.jdbc.JdbcToArrowConfig;
import org.apache.arrow.adapter.jdbc.JdbcToArrowConfigBuilder;
@@ -63,16 +63,14 @@ import org.apache.arrow.vector.VarCharVector;
import org.apache.arrow.vector.VectorSchemaRoot;
import org.apache.arrow.vector.complex.ListVector;
import org.apache.arrow.vector.types.pojo.Schema;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-import org.junit.runners.Parameterized.Parameters;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.Arguments;
+import org.junit.jupiter.params.provider.MethodSource;
/**
* JUnit Test Class which contains methods to test JDBC to Arrow data
conversion functionality with
* various data types for H2 database using multiple test data files.
*/
-@RunWith(Parameterized.class)
public class JdbcToArrowDataTypesTest extends AbstractJdbcToArrowTest {
private static final String BIGINT = "big_int";
@@ -117,15 +115,6 @@ public class JdbcToArrowDataTypesTest extends
AbstractJdbcToArrowTest {
"h2/test1_null_h2.yml"
};
- /**
- * Constructor which populates the table object for each test iteration.
- *
- * @param table Table object
- */
- public JdbcToArrowDataTypesTest(Table table) {
- this.table = table;
- }
-
/**
* Get the test data as a collection of Table objects for each test
iteration.
*
@@ -134,16 +123,19 @@ public class JdbcToArrowDataTypesTest extends
AbstractJdbcToArrowTest {
* @throws ClassNotFoundException on error
* @throws IOException on error
*/
- @Parameters
- public static Collection<Object[]> getTestData()
+ public static Stream<Arguments> getTestData()
throws SQLException, ClassNotFoundException, IOException {
- return Arrays.asList(prepareTestData(testFiles,
JdbcToArrowDataTypesTest.class));
+ return Arrays.stream(prepareTestData(testFiles,
JdbcToArrowMapDataTypeTest.class))
+ .map(Arguments::of);
}
/** Test Method to test JdbcToArrow Functionality for various H2 DB based
datatypes. */
- @Test
- @Override
- public void testJdbcToArrowValues() throws SQLException, IOException {
+ @ParameterizedTest
+ @MethodSource("getTestData")
+ public void testJdbcToArrowValues(Table table)
+ throws SQLException, IOException, ClassNotFoundException {
+ this.initializeDatabase(table);
+
testDataSets(
sqlToArrow(
conn, table.getQuery(), new RootAllocator(Integer.MAX_VALUE),
Calendar.getInstance()),
@@ -183,8 +175,11 @@ public class JdbcToArrowDataTypesTest extends
AbstractJdbcToArrowTest {
false);
}
- @Test
- public void testJdbcSchemaMetadata() throws SQLException {
+ @ParameterizedTest
+ @MethodSource("getTestData")
+ public void testJdbcSchemaMetadata(Table table) throws SQLException,
ClassNotFoundException {
+ this.initializeDatabase(table);
+
JdbcToArrowConfig config =
new JdbcToArrowConfigBuilder(new RootAllocator(0),
Calendar.getInstance(), true)
.setArraySubTypeByColumnNameMap(ARRAY_SUB_TYPE_BY_COLUMN_NAME_MAP)
diff --git
a/java/adapter/jdbc/src/test/java/org/apache/arrow/adapter/jdbc/h2/JdbcToArrowMapDataTypeTest.java
b/java/adapter/jdbc/src/test/java/org/apache/arrow/adapter/jdbc/h2/JdbcToArrowMapDataTypeTest.java
index 8bb3812637..337220a42f 100644
---
a/java/adapter/jdbc/src/test/java/org/apache/arrow/adapter/jdbc/h2/JdbcToArrowMapDataTypeTest.java
+++
b/java/adapter/jdbc/src/test/java/org/apache/arrow/adapter/jdbc/h2/JdbcToArrowMapDataTypeTest.java
@@ -23,24 +23,32 @@ import java.io.IOException;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.util.Calendar;
+import java.util.stream.Stream;
import org.apache.arrow.adapter.jdbc.AbstractJdbcToArrowTest;
import org.apache.arrow.adapter.jdbc.JdbcToArrowConfigBuilder;
+import org.apache.arrow.adapter.jdbc.Table;
import org.apache.arrow.memory.RootAllocator;
import org.apache.arrow.vector.VectorSchemaRoot;
import org.apache.arrow.vector.complex.MapVector;
-import org.junit.Test;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.Arguments;
+import org.junit.jupiter.params.provider.MethodSource;
/** Test MapConsumer with OTHER jdbc type. */
public class JdbcToArrowMapDataTypeTest extends AbstractJdbcToArrowTest {
- public JdbcToArrowMapDataTypeTest() throws IOException {
- this.table = getTable("h2/test1_map_h2.yml",
JdbcToArrowMapDataTypeTest.class);
+ public static Stream<Arguments> getTestData() throws IOException {
+ return Stream.of(
+ Arguments.of(getTable("h2/test1_map_h2.yml",
JdbcToArrowMapDataTypeTest.class)));
}
/** Test Method to test JdbcToArrow Functionality for Map form Types.OTHER
column */
- @Test
- @Override
- public void testJdbcToArrowValues() throws SQLException, IOException {
+ @ParameterizedTest
+ @MethodSource("getTestData")
+ public void testJdbcToArrowValues(Table table)
+ throws SQLException, IOException, ClassNotFoundException {
+ this.initializeDatabase(table);
+
Calendar calendar = Calendar.getInstance();
ResultSetMetaData rsmd = getQueryMetaData(table.getQuery());
testDataSets(
diff --git
a/java/adapter/jdbc/src/test/java/org/apache/arrow/adapter/jdbc/h2/JdbcToArrowNullTest.java
b/java/adapter/jdbc/src/test/java/org/apache/arrow/adapter/jdbc/h2/JdbcToArrowNullTest.java
index 51394764e3..205b7e16f2 100644
---
a/java/adapter/jdbc/src/test/java/org/apache/arrow/adapter/jdbc/h2/JdbcToArrowNullTest.java
+++
b/java/adapter/jdbc/src/test/java/org/apache/arrow/adapter/jdbc/h2/JdbcToArrowNullTest.java
@@ -49,7 +49,7 @@ import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.util.Arrays;
import java.util.Calendar;
-import java.util.Collection;
+import java.util.stream.Stream;
import org.apache.arrow.adapter.jdbc.AbstractJdbcToArrowTest;
import org.apache.arrow.adapter.jdbc.JdbcToArrowConfig;
import org.apache.arrow.adapter.jdbc.JdbcToArrowConfigBuilder;
@@ -74,16 +74,14 @@ import org.apache.arrow.vector.VectorSchemaRoot;
import org.apache.arrow.vector.complex.ListVector;
import org.apache.arrow.vector.complex.MapVector;
import org.apache.arrow.vector.types.pojo.Schema;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-import org.junit.runners.Parameterized.Parameters;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.Arguments;
+import org.junit.jupiter.params.provider.MethodSource;
/**
* JUnit Test Class which contains methods to test JDBC to Arrow data
conversion functionality with
* null values for H2 database.
*/
-@RunWith(Parameterized.class)
public class JdbcToArrowNullTest extends AbstractJdbcToArrowTest {
private static final String NULL = "null";
@@ -96,15 +94,6 @@ public class JdbcToArrowNullTest extends
AbstractJdbcToArrowTest {
"h2/test1_all_datatypes_selected_null_rows_h2.yml"
};
- /**
- * Constructor which populates the table object for each test iteration.
- *
- * @param table Table object
- */
- public JdbcToArrowNullTest(Table table) {
- this.table = table;
- }
-
/**
* Get the test data as a collection of Table objects for each test
iteration.
*
@@ -113,19 +102,21 @@ public class JdbcToArrowNullTest extends
AbstractJdbcToArrowTest {
* @throws ClassNotFoundException on error
* @throws IOException on error
*/
- @Parameters
- public static Collection<Object[]> getTestData()
+ public static Stream<Arguments> getTestData()
throws SQLException, ClassNotFoundException, IOException {
- return Arrays.asList(prepareTestData(testFiles,
JdbcToArrowNullTest.class));
+ return Arrays.stream(prepareTestData(testFiles,
JdbcToArrowNullTest.class)).map(Arguments::of);
}
/**
* Test Method to test JdbcToArrow Functionality for various H2 DB based
datatypes with null
* values.
*/
- @Test
- @Override
- public void testJdbcToArrowValues() throws SQLException, IOException {
+ @ParameterizedTest
+ @MethodSource("getTestData")
+ public void testJdbcToArrowValues(Table table)
+ throws SQLException, IOException, ClassNotFoundException {
+ this.initializeDatabase(table);
+
testDataSets(
sqlToArrow(
conn, table.getQuery(), new RootAllocator(Integer.MAX_VALUE),
Calendar.getInstance()),
@@ -169,8 +160,11 @@ public class JdbcToArrowNullTest extends
AbstractJdbcToArrowTest {
true);
}
- @Test
- public void testJdbcSchemaMetadata() throws SQLException {
+ @ParameterizedTest
+ @MethodSource("getTestData")
+ public void testJdbcSchemaMetadata(Table table) throws SQLException,
ClassNotFoundException {
+ this.initializeDatabase(table);
+
JdbcToArrowConfig config =
new JdbcToArrowConfigBuilder(new RootAllocator(0),
Calendar.getInstance(), true)
.setArraySubTypeByColumnNameMap(ARRAY_SUB_TYPE_BY_COLUMN_NAME_MAP)
diff --git
a/java/adapter/jdbc/src/test/java/org/apache/arrow/adapter/jdbc/h2/JdbcToArrowOptionalColumnsTest.java
b/java/adapter/jdbc/src/test/java/org/apache/arrow/adapter/jdbc/h2/JdbcToArrowOptionalColumnsTest.java
index 47713d9099..f3fbf02910 100644
---
a/java/adapter/jdbc/src/test/java/org/apache/arrow/adapter/jdbc/h2/JdbcToArrowOptionalColumnsTest.java
+++
b/java/adapter/jdbc/src/test/java/org/apache/arrow/adapter/jdbc/h2/JdbcToArrowOptionalColumnsTest.java
@@ -17,38 +17,28 @@
package org.apache.arrow.adapter.jdbc.h2;
import static junit.framework.TestCase.assertTrue;
-import static org.junit.Assert.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertFalse;
import java.io.IOException;
import java.sql.SQLException;
import java.util.Arrays;
-import java.util.Collection;
+import java.util.stream.Stream;
import org.apache.arrow.adapter.jdbc.AbstractJdbcToArrowTest;
import org.apache.arrow.adapter.jdbc.JdbcToArrowTestHelper;
import org.apache.arrow.adapter.jdbc.Table;
import org.apache.arrow.memory.RootAllocator;
import org.apache.arrow.vector.VectorSchemaRoot;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.Arguments;
+import org.junit.jupiter.params.provider.MethodSource;
/**
* JUnit Test Class which contains methods to test JDBC to Arrow data
conversion functionality for
* (non-)optional columns, in particular with regard to the ensuing
VectorSchemaRoot's schema.
*/
-@RunWith(Parameterized.class)
public class JdbcToArrowOptionalColumnsTest extends AbstractJdbcToArrowTest {
private static final String[] testFiles = {"h2/test1_null_and_notnull.yml"};
- /**
- * Constructor which populates the table object for each test iteration.
- *
- * @param table Table object
- */
- public JdbcToArrowOptionalColumnsTest(Table table) {
- this.table = table;
- }
-
/**
* Get the test data as a collection of Table objects for each test
iteration.
*
@@ -57,19 +47,22 @@ public class JdbcToArrowOptionalColumnsTest extends
AbstractJdbcToArrowTest {
* @throws ClassNotFoundException on error
* @throws IOException on error
*/
- @Parameterized.Parameters
- public static Collection<Object[]> getTestData()
+ public static Stream<Arguments> getTestData()
throws SQLException, ClassNotFoundException, IOException {
- return Arrays.asList(prepareTestData(testFiles,
JdbcToArrowOptionalColumnsTest.class));
+ return Arrays.stream(prepareTestData(testFiles,
JdbcToArrowOptionalColumnsTest.class))
+ .map(Arguments::of);
}
/**
* Test Method to test JdbcToArrow Functionality for dealing with nullable
and non-nullable
* columns.
*/
- @Test
- @Override
- public void testJdbcToArrowValues() throws SQLException, IOException {
+ @ParameterizedTest
+ @MethodSource("getTestData")
+ public void testJdbcToArrowValues(Table table)
+ throws SQLException, IOException, ClassNotFoundException {
+ this.initializeDatabase(table);
+
testDataSets(sqlToArrow(conn, table.getQuery(), new
RootAllocator(Integer.MAX_VALUE)), false);
}
diff --git
a/java/adapter/jdbc/src/test/java/org/apache/arrow/adapter/jdbc/h2/JdbcToArrowTest.java
b/java/adapter/jdbc/src/test/java/org/apache/arrow/adapter/jdbc/h2/JdbcToArrowTest.java
index d290b9bf08..7966f62e17 100644
---
a/java/adapter/jdbc/src/test/java/org/apache/arrow/adapter/jdbc/h2/JdbcToArrowTest.java
+++
b/java/adapter/jdbc/src/test/java/org/apache/arrow/adapter/jdbc/h2/JdbcToArrowTest.java
@@ -17,7 +17,7 @@
package org.apache.arrow.adapter.jdbc.h2;
import static org.apache.arrow.adapter.jdbc.JdbcToArrowTestHelper.*;
-import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
import java.io.IOException;
import java.sql.ResultSet;
@@ -25,8 +25,6 @@ import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.util.Arrays;
import java.util.Calendar;
-import java.util.Collection;
-import java.util.stream.Collectors;
import java.util.stream.Stream;
import org.apache.arrow.adapter.jdbc.AbstractJdbcToArrowTest;
import org.apache.arrow.adapter.jdbc.ArrowVectorIterator;
@@ -57,30 +55,18 @@ import org.apache.arrow.vector.VectorSchemaRoot;
import org.apache.arrow.vector.complex.ListVector;
import org.apache.arrow.vector.complex.MapVector;
import org.apache.arrow.vector.types.pojo.Schema;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.Arguments;
+import org.junit.jupiter.params.provider.MethodSource;
/**
* JUnit Test Class which contains methods to test JDBC to Arrow data
conversion functionality with
* various data types for H2 database using single test data file.
*/
-@RunWith(Parameterized.class)
public class JdbcToArrowTest extends AbstractJdbcToArrowTest {
private static final String[] testFiles = {"h2/test1_all_datatypes_h2.yml"};
- /**
- * Constructor which populates the table object for each test iteration.
- *
- * @param table Table object
- * @param reuseVectorSchemaRoot A flag indicating if we should reuse vector
schema roots.
- */
- public JdbcToArrowTest(Table table, boolean reuseVectorSchemaRoot) {
- this.table = table;
- this.reuseVectorSchemaRoot = reuseVectorSchemaRoot;
- }
-
/**
* Get the test data as a collection of Table objects for each test
iteration.
*
@@ -89,21 +75,22 @@ public class JdbcToArrowTest extends
AbstractJdbcToArrowTest {
* @throws ClassNotFoundException on error
* @throws IOException on error
*/
- @Parameterized.Parameters(name = "table = {0}, reuse batch = {1}")
- public static Collection<Object[]> getTestData()
+ public static Stream<Arguments> getTestData()
throws SQLException, ClassNotFoundException, IOException {
return Arrays.stream(prepareTestData(testFiles, JdbcToArrowTest.class))
- .flatMap(row -> Stream.of(new Object[] {row[0], true}, new Object[]
{row[0], false}))
- .collect(Collectors.toList());
+ .flatMap(row -> Stream.of(Arguments.of(row[0], true),
Arguments.of(row[0], false)));
}
/**
* Test Method to test JdbcToArrow Functionality for various H2 DB based
datatypes with only one
* test data file.
*/
- @Test
- @Override
- public void testJdbcToArrowValues() throws SQLException, IOException {
+ @ParameterizedTest
+ @MethodSource("getTestData")
+ public void testJdbcToArrowValues(Table table)
+ throws SQLException, IOException, ClassNotFoundException {
+ this.initializeDatabase(table);
+
testDataSets(
sqlToArrow(
conn, table.getQuery(), new RootAllocator(Integer.MAX_VALUE),
Calendar.getInstance()),
@@ -146,8 +133,12 @@ public class JdbcToArrowTest extends
AbstractJdbcToArrowTest {
true);
}
- @Test
- public void testJdbcSchemaMetadata() throws SQLException {
+ @ParameterizedTest
+ @MethodSource("getTestData")
+ public void testJdbcSchemaMetadata(Table table, boolean
reuseVectorSchemaRoot)
+ throws SQLException, ClassNotFoundException {
+ this.initializeDatabase(table);
+
Calendar calendar = Calendar.getInstance();
ResultSetMetaData rsmd = getQueryMetaData(table.getQuery());
JdbcToArrowConfig config =
@@ -266,8 +257,12 @@ public class JdbcToArrowTest extends
AbstractJdbcToArrowTest {
}
}
- @Test
- public void runLargeNumberOfRows() throws IOException, SQLException {
+ @ParameterizedTest
+ @MethodSource("getTestData")
+ public void runLargeNumberOfRows(Table table, boolean reuseVectorSchemaRoot)
+ throws IOException, SQLException, ClassNotFoundException {
+ this.initializeDatabase(table);
+
BufferAllocator allocator = new RootAllocator(Integer.MAX_VALUE);
int x = 0;
final int targetRows = 600000;
diff --git
a/java/adapter/jdbc/src/test/java/org/apache/arrow/adapter/jdbc/h2/JdbcToArrowTimeZoneTest.java
b/java/adapter/jdbc/src/test/java/org/apache/arrow/adapter/jdbc/h2/JdbcToArrowTimeZoneTest.java
index c4930c3ab6..0f60c89d1c 100644
---
a/java/adapter/jdbc/src/test/java/org/apache/arrow/adapter/jdbc/h2/JdbcToArrowTimeZoneTest.java
+++
b/java/adapter/jdbc/src/test/java/org/apache/arrow/adapter/jdbc/h2/JdbcToArrowTimeZoneTest.java
@@ -25,8 +25,8 @@ import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.util.Arrays;
import java.util.Calendar;
-import java.util.Collection;
import java.util.TimeZone;
+import java.util.stream.Stream;
import org.apache.arrow.adapter.jdbc.AbstractJdbcToArrowTest;
import org.apache.arrow.adapter.jdbc.JdbcToArrowConfig;
import org.apache.arrow.adapter.jdbc.JdbcToArrowConfigBuilder;
@@ -39,16 +39,14 @@ import org.apache.arrow.vector.TimeMilliVector;
import org.apache.arrow.vector.TimeStampVector;
import org.apache.arrow.vector.VectorSchemaRoot;
import org.apache.arrow.vector.types.pojo.Schema;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-import org.junit.runners.Parameterized.Parameters;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.Arguments;
+import org.junit.jupiter.params.provider.MethodSource;
/**
* JUnit Test Class which contains methods to test JDBC to Arrow data
conversion functionality with
* TimeZone based Date, Time and Timestamp datatypes for H2 database.
*/
-@RunWith(Parameterized.class)
public class JdbcToArrowTimeZoneTest extends AbstractJdbcToArrowTest {
private static final String EST_DATE = "est_date";
@@ -73,15 +71,6 @@ public class JdbcToArrowTimeZoneTest extends
AbstractJdbcToArrowTest {
"h2/test1_pst_timestamp_h2.yml"
};
- /**
- * Constructor which populates the table object for each test iteration.
- *
- * @param table Table object
- */
- public JdbcToArrowTimeZoneTest(Table table) {
- this.table = table;
- }
-
/**
* Get the test data as a collection of Table objects for each test
iteration.
*
@@ -90,19 +79,22 @@ public class JdbcToArrowTimeZoneTest extends
AbstractJdbcToArrowTest {
* @throws ClassNotFoundException on error
* @throws IOException on error
*/
- @Parameters
- public static Collection<Object[]> getTestData()
+ public static Stream<Arguments> getTestData()
throws SQLException, ClassNotFoundException, IOException {
- return Arrays.asList(prepareTestData(testFiles,
JdbcToArrowTimeZoneTest.class));
+ return Arrays.stream(prepareTestData(testFiles,
JdbcToArrowTimeZoneTest.class))
+ .map(Arguments::of);
}
/**
* Test Method to test JdbcToArrow Functionality for various H2 DB based
datatypes with TimeZone
* based Date, Time and Timestamp datatype.
*/
- @Test
- @Override
- public void testJdbcToArrowValues() throws SQLException, IOException {
+ @ParameterizedTest
+ @MethodSource("getTestData")
+ public void testJdbcToArrowValues(Table table)
+ throws SQLException, IOException, ClassNotFoundException {
+ this.initializeDatabase(table);
+
testDataSets(
sqlToArrow(
conn,
@@ -140,8 +132,11 @@ public class JdbcToArrowTimeZoneTest extends
AbstractJdbcToArrowTest {
false);
}
- @Test
- public void testJdbcSchemaMetadata() throws SQLException {
+ @ParameterizedTest
+ @MethodSource("getTestData")
+ public void testJdbcSchemaMetadata(Table table) throws SQLException,
ClassNotFoundException {
+ this.initializeDatabase(table);
+
Calendar calendar =
Calendar.getInstance(TimeZone.getTimeZone(table.getTimezone()));
JdbcToArrowConfig config =
new JdbcToArrowConfigBuilder(new RootAllocator(0), calendar,
true).build();
diff --git
a/java/adapter/jdbc/src/test/java/org/apache/arrow/adapter/jdbc/h2/JdbcToArrowVectorIteratorTest.java
b/java/adapter/jdbc/src/test/java/org/apache/arrow/adapter/jdbc/h2/JdbcToArrowVectorIteratorTest.java
index caa1c1d971..40fd39ac0c 100644
---
a/java/adapter/jdbc/src/test/java/org/apache/arrow/adapter/jdbc/h2/JdbcToArrowVectorIteratorTest.java
+++
b/java/adapter/jdbc/src/test/java/org/apache/arrow/adapter/jdbc/h2/JdbcToArrowVectorIteratorTest.java
@@ -25,11 +25,11 @@ import static
org.apache.arrow.adapter.jdbc.JdbcToArrowTestHelper.getFloatValues
import static org.apache.arrow.adapter.jdbc.JdbcToArrowTestHelper.getIntValues;
import static
org.apache.arrow.adapter.jdbc.JdbcToArrowTestHelper.getListValues;
import static
org.apache.arrow.adapter.jdbc.JdbcToArrowTestHelper.getLongValues;
-import static org.junit.Assert.assertArrayEquals;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotEquals;
-import static org.junit.Assert.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertArrayEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertNotEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.junit.jupiter.api.Assertions.assertNull;
import static org.junit.jupiter.api.Assertions.assertTrue;
@@ -69,26 +69,17 @@ import org.apache.arrow.vector.VectorSchemaRoot;
import org.apache.arrow.vector.complex.ListVector;
import org.apache.arrow.vector.types.FloatingPointPrecision;
import org.apache.arrow.vector.types.pojo.ArrowType;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.MethodSource;
-@RunWith(Parameterized.class)
public class JdbcToArrowVectorIteratorTest extends JdbcToArrowTest {
- /**
- * Constructor which populates the table object for each test iteration.
- *
- * @param table Table object
- * @param reuseVectorSchemaRoot A flag indicating if we should reuse vector
schema roots.
- */
- public JdbcToArrowVectorIteratorTest(Table table, boolean
reuseVectorSchemaRoot) {
- super(table, reuseVectorSchemaRoot);
- }
+ @ParameterizedTest
+ @MethodSource("getTestData")
+ public void testJdbcToArrowValues(Table table)
+ throws SQLException, IOException, ClassNotFoundException {
+ this.initializeDatabase(table);
- @Test
- @Override
- public void testJdbcToArrowValues() throws SQLException, IOException {
JdbcToArrowConfig config =
new JdbcToArrowConfigBuilder(new RootAllocator(Integer.MAX_VALUE),
Calendar.getInstance())
.setTargetBatchSize(3)
@@ -102,8 +93,12 @@ public class JdbcToArrowVectorIteratorTest extends
JdbcToArrowTest {
validate(iterator);
}
- @Test
- public void testVectorSchemaRootReuse() throws SQLException, IOException {
+ @ParameterizedTest
+ @MethodSource("getTestData")
+ public void testVectorSchemaRootReuse(Table table, boolean
reuseVectorSchemaRoot)
+ throws SQLException, IOException, ClassNotFoundException {
+ this.initializeDatabase(table);
+
Integer[][] intValues = {
{101, 102, 103},
{104, null, null},
@@ -175,8 +170,11 @@ public class JdbcToArrowVectorIteratorTest extends
JdbcToArrowTest {
assertTrue(batchCount > 1);
}
- @Test
- public void testJdbcToArrowValuesNoLimit() throws SQLException, IOException {
+ @ParameterizedTest
+ @MethodSource("getTestData")
+ public void testJdbcToArrowValuesNoLimit(Table table)
+ throws SQLException, IOException, ClassNotFoundException {
+ this.initializeDatabase(table);
JdbcToArrowConfig config =
new JdbcToArrowConfigBuilder(new RootAllocator(Integer.MAX_VALUE),
Calendar.getInstance())
@@ -191,8 +189,12 @@ public class JdbcToArrowVectorIteratorTest extends
JdbcToArrowTest {
validate(iterator);
}
- @Test
- public void testTimeStampConsumer() throws SQLException, IOException {
+ @ParameterizedTest
+ @MethodSource("getTestData")
+ public void testTimeStampConsumer(Table table, boolean reuseVectorSchemaRoot)
+ throws SQLException, IOException, ClassNotFoundException {
+ this.initializeDatabase(table);
+
final String sql = "select timestamp_field11 from table1";
// first experiment, with calendar and time zone.
@@ -535,8 +537,12 @@ public class JdbcToArrowVectorIteratorTest extends
JdbcToArrowTest {
return result;
}
- @Test
- public void testJdbcToArrowCustomTypeConversion() throws SQLException,
IOException {
+ @ParameterizedTest
+ @MethodSource("getTestData")
+ public void testJdbcToArrowCustomTypeConversion(Table table, boolean
reuseVectorSchemaRoot)
+ throws SQLException, IOException, ClassNotFoundException {
+ this.initializeDatabase(table);
+
JdbcToArrowConfigBuilder builder =
new JdbcToArrowConfigBuilder(new RootAllocator(Integer.MAX_VALUE),
Calendar.getInstance())
.setTargetBatchSize(JdbcToArrowConfig.NO_LIMIT_BATCH_SIZE)
diff --git
a/java/adapter/orc/src/test/java/org/apache/arrow/adapter/orc/OrcReaderTest.java
b/java/adapter/orc/src/test/java/org/apache/arrow/adapter/orc/OrcReaderTest.java
index 17098806be..f8eb91a1cc 100644
---
a/java/adapter/orc/src/test/java/org/apache/arrow/adapter/orc/OrcReaderTest.java
+++
b/java/adapter/orc/src/test/java/org/apache/arrow/adapter/orc/OrcReaderTest.java
@@ -16,9 +16,9 @@
*/
package org.apache.arrow.adapter.orc;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNull;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertNull;
import java.io.File;
import java.nio.charset.StandardCharsets;
@@ -37,19 +37,18 @@ import
org.apache.hadoop.hive.ql.exec.vector.VectorizedRowBatch;
import org.apache.orc.OrcFile;
import org.apache.orc.TypeDescription;
import org.apache.orc.Writer;
-import org.junit.BeforeClass;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.rules.TemporaryFolder;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.io.TempDir;
public class OrcReaderTest {
- @Rule public TemporaryFolder testFolder = new TemporaryFolder();
+ @TempDir public File testFolder;
private static final int MAX_ALLOCATION = 8 * 1024;
private static RootAllocator allocator;
- @BeforeClass
+ @BeforeAll
public static void beforeClass() {
allocator = new RootAllocator(MAX_ALLOCATION);
}
@@ -57,7 +56,7 @@ public class OrcReaderTest {
@Test
public void testOrcJniReader() throws Exception {
TypeDescription schema =
TypeDescription.fromString("struct<x:int,y:string>");
- File testFile = new File(testFolder.getRoot(), "test-orc");
+ File testFile = new File(testFolder, "test-orc");
Writer writer =
OrcFile.createWriter(