[ 
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)

Reply via email to