[
https://issues.apache.org/jira/browse/FLINK-6307?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15972759#comment-15972759
]
ASF GitHub Bot commented on FLINK-6307:
---------------------------------------
Github user aljoscha commented on a diff in the pull request:
https://github.com/apache/flink/pull/3723#discussion_r111966195
--- Diff:
flink-connectors/flink-jdbc/src/test/java/org/apache/flink/api/java/io/jdbc/JDBCInputFormatTest.java
---
@@ -272,63 +209,61 @@ public void
testJDBCInputFormatWithParallelismAndGenericSplitting() throws IOExc
.setParametersProvider(paramProvider)
.setResultSetType(ResultSet.TYPE_SCROLL_INSENSITIVE)
.finish();
+
jdbcInputFormat.openInputFormat();
InputSplit[] splits = jdbcInputFormat.createInputSplits(1);
//this query exploit parallelism (1 split for every
queryParameters row)
Assert.assertEquals(queryParameters.length, splits.length);
- int recordCount = 0;
+
+ verifySplit(splits[0], TEST_DATA[3].id);
+ verifySplit(splits[1], TEST_DATA[0].id + TEST_DATA[1].id);
+
+ jdbcInputFormat.closeInputFormat();
+ }
+
+ private void verifySplit(InputSplit split, int expectedIDSum) throws
IOException {
+ int sum = 0;
+
Row row = new Row(5);
- for (int i = 0; i < splits.length; i++) {
- jdbcInputFormat.open(splits[i]);
- while (!jdbcInputFormat.reachedEnd()) {
- Row next = jdbcInputFormat.nextRecord(row);
- if (next == null) {
- break;
- }
- if (next.getField(0) != null) {
- Assert.assertEquals("Field 0 should be
int", Integer.class, next.getField(0).getClass());
- }
- if (next.getField(1) != null) {
- Assert.assertEquals("Field 1 should be
String", String.class, next.getField(1).getClass());
- }
- if (next.getField(2) != null) {
- Assert.assertEquals("Field 2 should be
String", String.class, next.getField(2).getClass());
- }
- if (next.getField(3) != null) {
- Assert.assertEquals("Field 3 should be
float", Double.class, next.getField(3).getClass());
- }
- if (next.getField(4) != null) {
- Assert.assertEquals("Field 4 should be
int", Integer.class, next.getField(4).getClass());
- }
+ jdbcInputFormat.open(split);
+ while (!jdbcInputFormat.reachedEnd()) {
+ row = jdbcInputFormat.nextRecord(row);
- recordCount++;
- }
- jdbcInputFormat.close();
+ int id = ((int) row.getField(0));
+ int testDataIndex = id - 1001;
+
+ compare(TEST_DATA[testDataIndex], row);
+ sum += id;
}
- Assert.assertEquals(3, recordCount);
- jdbcInputFormat.closeInputFormat();
+
+ Assert.assertEquals(expectedIDSum, sum);
}
@Test
- public void testEmptyResults() throws IOException,
InstantiationException, IllegalAccessException {
+ public void testEmptyResults() throws IOException {
jdbcInputFormat = JDBCInputFormat.buildJDBCInputFormat()
.setDrivername(DRIVER_CLASS)
.setDBUrl(DB_URL)
.setQuery(SELECT_EMPTY)
.setRowTypeInfo(rowTypeInfo)
.setResultSetType(ResultSet.TYPE_SCROLL_INSENSITIVE)
.finish();
- jdbcInputFormat.openInputFormat();
- jdbcInputFormat.open(null);
- Row row = new Row(5);
- int recordsCnt = 0;
- while (!jdbcInputFormat.reachedEnd()) {
- Assert.assertNull(jdbcInputFormat.nextRecord(row));
- recordsCnt++;
+ try {
+ jdbcInputFormat.openInputFormat();
+ jdbcInputFormat.open(null);
+ Assert.assertTrue(jdbcInputFormat.reachedEnd());
+ } finally {
+ jdbcInputFormat.close();
+ jdbcInputFormat.closeInputFormat();
}
- jdbcInputFormat.close();
- jdbcInputFormat.closeInputFormat();
- Assert.assertEquals(0, recordsCnt);
+ }
+
+ protected static void compare(TestEntry expected, Row actual) {
--- End diff --
This could be called `assertEquals()`, because that's what it does.
> Refactor JDBC tests
> -------------------
>
> Key: FLINK-6307
> URL: https://issues.apache.org/jira/browse/FLINK-6307
> Project: Flink
> Issue Type: Improvement
> Components: Batch Connectors and Input/Output Formats, Tests
> Affects Versions: 1.3.0
> Reporter: Chesnay Schepler
> Assignee: Chesnay Schepler
> Priority: Minor
> Fix For: 1.3.0
>
>
> While glancing over the JDBC related tests I've found a lot of odds things
> that accumulated over time.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)