You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by GitBox <gi...@apache.org> on 2022/01/28 02:35:03 UTC

[GitHub] [flink] ruanhang1993 opened a new pull request #18547: [FLINK-25840][tests] add semantic test support for the connector testframe

ruanhang1993 opened a new pull request #18547:
URL: https://github.com/apache/flink/pull/18547


   ## What is the purpose of the change
   
   This pull request add semantic test support for the connector testframe.
   
   ## Brief change log
   
     - Add semantic test support
     - Change the tests that extends the source test suite
   
   ## Verifying this change
   
   This change is already covered by existing tests.
   
   ## Does this pull request potentially affect one of the following parts:
   
     - Dependencies (does it add or upgrade a dependency): no
     - The public API, i.e., is any changed class annotated with `@Public(Evolving)`: no
     - The serializers: no
     - The runtime per-record code paths (performance sensitive): no
     - Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Kubernetes/Yarn, ZooKeeper: no
     - The S3 file system connector: no
   
   ## Documentation
   
     - Does this pull request introduce a new feature? no
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot commented on pull request #18547: [FLINK-25840][tests] add semantic test support for the connector testframe

Posted by GitBox <gi...@apache.org>.
flinkbot commented on pull request #18547:
URL: https://github.com/apache/flink/pull/18547#issuecomment-1023832151


   Thanks a lot for your contribution to the Apache Flink project. I'm the @flinkbot. I help the community
   to review your pull request. We will use this comment to track the progress of the review.
   
   
   ## Automated Checks
   Last check on commit 3b42a28a860e52c999b3ae050ae9e346cc7980a4 (Fri Jan 28 02:40:41 UTC 2022)
   
   **Warnings:**
    * No documentation files were touched! Remember to keep the Flink docs up to date!
    * **This pull request references an unassigned [Jira ticket](https://issues.apache.org/jira/browse/FLINK-25840).** According to the [code contribution guide](https://flink.apache.org/contributing/contribute-code.html), tickets need to be assigned before starting with the implementation work.
   
   
   <sub>Mention the bot in a comment to re-run the automated checks.</sub>
   ## Review Progress
   
   * ❓ 1. The [description] looks good.
   * ❓ 2. There is [consensus] that the contribution should go into to Flink.
   * ❓ 3. Needs [attention] from.
   * ❓ 4. The change fits into the overall [architecture].
   * ❓ 5. Overall code [quality] is good.
   
   Please see the [Pull Request Review Guide](https://flink.apache.org/contributing/reviewing-prs.html) for a full explanation of the review process.<details>
    The Bot is tracking the review progress through labels. Labels are applied according to the order of the review items. For consensus, approval by a Flink committer of PMC member is required <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot approve description` to approve one or more aspects (aspects: `description`, `consensus`, `architecture` and `quality`)
    - `@flinkbot approve all` to approve all aspects
    - `@flinkbot approve-until architecture` to approve everything until `architecture`
    - `@flinkbot attention @username1 [@username2 ..]` to require somebody's attention
    - `@flinkbot disapprove architecture` to remove an approval you gave earlier
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #18547: [FLINK-25840][tests] add semantic test support for the connector testframe

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #18547:
URL: https://github.com/apache/flink/pull/18547#issuecomment-1023831034


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "3b42a28a860e52c999b3ae050ae9e346cc7980a4",
       "status" : "FAILURE",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30346",
       "triggerID" : "3b42a28a860e52c999b3ae050ae9e346cc7980a4",
       "triggerType" : "PUSH"
     }, {
       "hash" : "18c8ec6b02f8007c44fa86c8994abf1b997775e5",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30370",
       "triggerID" : "18c8ec6b02f8007c44fa86c8994abf1b997775e5",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * 3b42a28a860e52c999b3ae050ae9e346cc7980a4 Azure: [FAILURE](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30346) 
   * 18c8ec6b02f8007c44fa86c8994abf1b997775e5 Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30370) 
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] ruanhang1993 commented on a change in pull request #18547: [FLINK-25840][tests] add semantic test support for the connector testframe

Posted by GitBox <gi...@apache.org>.
ruanhang1993 commented on a change in pull request #18547:
URL: https://github.com/apache/flink/pull/18547#discussion_r800547286



##########
File path: flink-test-utils-parent/flink-connector-test-utils/src/main/java/org/apache/flink/connector/testframe/testsuites/SourceTestSuiteBase.java
##########
@@ -86,6 +93,8 @@
 public abstract class SourceTestSuiteBase<T> {
 
     private static final Logger LOG = LoggerFactory.getLogger(SourceTestSuiteBase.class);
+    static ExecutorService executorService =

Review comment:
       done




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #18547: [FLINK-25840][tests] add semantic test support for the connector testframe

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #18547:
URL: https://github.com/apache/flink/pull/18547#issuecomment-1023831034


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "3b42a28a860e52c999b3ae050ae9e346cc7980a4",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30346",
       "triggerID" : "3b42a28a860e52c999b3ae050ae9e346cc7980a4",
       "triggerType" : "PUSH"
     }, {
       "hash" : "18c8ec6b02f8007c44fa86c8994abf1b997775e5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30370",
       "triggerID" : "18c8ec6b02f8007c44fa86c8994abf1b997775e5",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3dabe6450b4b04f1cd64c3baa22b868a5e2f526",
       "status" : "SUCCESS",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30841",
       "triggerID" : "f3dabe6450b4b04f1cd64c3baa22b868a5e2f526",
       "triggerType" : "PUSH"
     }, {
       "hash" : "16743712880c8b1ebdef0f34483a8fc769c2df01",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31324",
       "triggerID" : "16743712880c8b1ebdef0f34483a8fc769c2df01",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8b2b059582a02550d98bff83497009dab4074cc",
       "status" : "UNKNOWN",
       "url" : "TBD",
       "triggerID" : "c8b2b059582a02550d98bff83497009dab4074cc",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * f3dabe6450b4b04f1cd64c3baa22b868a5e2f526 Azure: [SUCCESS](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30841) 
   * 16743712880c8b1ebdef0f34483a8fc769c2df01 Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31324) 
   * c8b2b059582a02550d98bff83497009dab4074cc UNKNOWN
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] PatrickRen commented on a change in pull request #18547: [FLINK-25840][tests] add semantic test support for the connector testframe

Posted by GitBox <gi...@apache.org>.
PatrickRen commented on a change in pull request #18547:
URL: https://github.com/apache/flink/pull/18547#discussion_r800373744



##########
File path: flink-test-utils-parent/flink-connector-test-utils/src/test/java/org/apache/flink/connector/testframe/utils/TestDataMatchersTest.java
##########
@@ -0,0 +1,163 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.flink.connector.testframe.utils;
+
+import org.apache.flink.streaming.api.CheckpointingMode;
+
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.Nested;
+import org.junit.jupiter.api.Test;
+
+import java.lang.reflect.Field;
+import java.lang.reflect.Method;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.Iterator;
+import java.util.List;
+import java.util.stream.Collectors;
+import java.util.stream.Stream;
+
+import static org.assertj.core.api.AssertionsForClassTypes.assertThat;
+
+/** Unit test for {@link TestDataMatchers}. */
+public class TestDataMatchersTest {
+    @Nested
+    class MultipleSplitDataMatcherTest {

Review comment:
       What about change the name of this nested class to `ExactlyOnceSplitDataMatcherTest`, and add another test class for validating at-least-once mode?

##########
File path: flink-test-utils-parent/flink-connector-test-utils/src/main/java/org/apache/flink/connector/testframe/testsuites/SourceTestSuiteBase.java
##########
@@ -86,6 +93,8 @@
 public abstract class SourceTestSuiteBase<T> {
 
     private static final Logger LOG = LoggerFactory.getLogger(SourceTestSuiteBase.class);
+    static ExecutorService executorService =

Review comment:
       Can we wrap this `ExecutorService` into util classes?

##########
File path: flink-test-utils-parent/flink-connector-test-utils/src/main/java/org/apache/flink/connector/testframe/utils/TestDataMatchers.java
##########
@@ -33,180 +36,194 @@
 

Review comment:
       Actually this `TestDataMatchers` is a little bit hack because it bases on non-public implementation of Hamcrest matchers. 
   
   I made a commit for rewriting this `TestDataMatchers` with AssertJ-style Assertions:
   https://github.com/PatrickRen/flink/commit/56d6e0a83d55884f605e8949d0349c0ebf64f2d3
   
   Feel free to cherry-pick it into your PR




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] leonardBang commented on a change in pull request #18547: [FLINK-25840][tests] add semantic test support for the connector testframe

Posted by GitBox <gi...@apache.org>.
leonardBang commented on a change in pull request #18547:
URL: https://github.com/apache/flink/pull/18547#discussion_r805161181



##########
File path: flink-test-utils-parent/flink-connector-test-utils/src/main/java/org/apache/flink/connector/testframe/testsuites/SourceTestSuiteBase.java
##########
@@ -86,6 +92,8 @@
 public abstract class SourceTestSuiteBase<T> {
 
     private static final Logger LOG = LoggerFactory.getLogger(SourceTestSuiteBase.class);
+    static ExecutorService executorService =
+            Executors.newFixedThreadPool(Runtime.getRuntime().availableProcessors() * 2);

Review comment:
       The number for fixed threads is too expensive for tests.

##########
File path: flink-test-utils-parent/flink-connector-test-utils/src/test/java/org/apache/flink/connector/testframe/utils/CollectIteratorAssertTest.java
##########
@@ -0,0 +1,144 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.flink.connector.testframe.utils;
+
+import org.apache.flink.streaming.api.CheckpointingMode;
+
+import org.assertj.core.api.Assertions;
+import org.junit.jupiter.api.Nested;
+import org.junit.jupiter.api.Test;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.List;
+import java.util.stream.Collectors;
+import java.util.stream.Stream;
+
+import static org.apache.flink.connector.testframe.utils.CollectIteratorAssertions.assertThat;
+
+/** Unit test for {@link CollectIteratorAssertTest}. */

Review comment:
       ```suggestion
   /** Unit tests for {@link CollectIteratorAssertTest}. */
   ```

##########
File path: flink-test-utils-parent/flink-connector-test-utils/src/main/java/org/apache/flink/connector/testframe/testsuites/SourceTestSuiteBase.java
##########
@@ -400,6 +413,37 @@ protected JobClient submitJob(StreamExecutionEnvironment env, String jobName) th
                 stream.getExecutionEnvironment().getCheckpointConfig());
     }
 
+    /**
+     * Compare the test data with the result.
+     *
+     * <p>If the source is bounded, limit should be null.
+     *
+     * @param resultIterator the data read from the job
+     * @param testData the test data
+     * @param semantic the supported semantic, see {@link CheckpointingMode}
+     * @param limit expected number of the data to read from the job
+     */
+    private void checkResultBySemantic(

Review comment:
       
   ```suggestion
       private void checkResultWithSemantic(
   ```

##########
File path: flink-test-utils-parent/flink-connector-test-utils/src/main/java/org/apache/flink/connector/testframe/utils/CollectIteratorAssert.java
##########
@@ -0,0 +1,257 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.flink.connector.testframe.utils;
+
+import org.apache.flink.streaming.api.CheckpointingMode;
+
+import org.assertj.core.api.AbstractAssert;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.LinkedList;
+import java.util.List;
+
+/** @param <T> */

Review comment:
       Please add reasonable java document

##########
File path: flink-test-utils-parent/flink-connector-test-utils/src/main/java/org/apache/flink/connector/testframe/utils/CollectIteratorAssert.java
##########
@@ -0,0 +1,257 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.flink.connector.testframe.utils;
+
+import org.apache.flink.streaming.api.CheckpointingMode;
+
+import org.assertj.core.api.AbstractAssert;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.LinkedList;
+import java.util.List;
+
+/** @param <T> */
+public class CollectIteratorAssert<T>
+        extends AbstractAssert<CollectIteratorAssert<T>, Iterator<T>> {
+
+    private static final int UNSET = -1;
+    private final Iterator<T> collectorIterator;
+    private final List<RecordsFromSplit<T>> recordsFromSplits = new ArrayList<>();
+    private int totalNumRecords;
+    private Integer limit = null;
+
+    protected CollectIteratorAssert(Iterator<T> collectorIterator) {
+        super(collectorIterator, CollectIteratorAssert.class);
+        this.collectorIterator = collectorIterator;
+    }
+
+    public CollectIteratorAssert<T> withNumRecordsLimit(int limit) {
+        this.limit = limit;
+        return this;
+    }
+
+    public void matchesRecordsFromSource(
+            List<List<T>> recordsBySplitsFromSource, CheckpointingMode semantic) {
+        for (List<T> recordsFromSplit : recordsBySplitsFromSource) {
+            recordsFromSplits.add(new RecordsFromSplit<>(recordsFromSplit));
+            totalNumRecords += recordsFromSplit.size();
+        }
+
+        if (limit != null && limit > totalNumRecords) {
+            throw new IllegalArgumentException(
+                    "Limit validation size should be less than total number of records from source");
+        }
+
+        switch (semantic) {
+            case AT_LEAST_ONCE:
+                matchAtLeastOnce(collectorIterator, recordsFromSplits);
+                break;
+            case EXACTLY_ONCE:
+                matchExactlyOnce(collectorIterator, recordsFromSplits);
+                break;
+            default:
+                throw new IllegalArgumentException(
+                        String.format("Unrecognized semantic \"%s\"", semantic));
+        }
+    }
+
+    private void matchAtLeastOnce(
+            Iterator<T> resultIterator, List<RecordsFromSplit<T>> recordsFromSplits) {
+        List<T> duplicateRead = new LinkedList<>();

Review comment:
       how about`duplicatedRecords` or   `recordsWithAtLeastOnceSemantic` ? And this method haven't unit test to cover in this PR?

##########
File path: flink-test-utils-parent/flink-connector-test-utils/src/main/java/org/apache/flink/connector/testframe/utils/CollectIteratorAssertions.java
##########
@@ -0,0 +1,28 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.flink.connector.testframe.utils;
+
+import java.util.Iterator;
+
+/** */
+public class CollectIteratorAssertions {

Review comment:
       Do we really need this class ?

##########
File path: flink-test-utils-parent/flink-connector-test-utils/src/test/java/org/apache/flink/connector/testframe/utils/CollectIteratorAssertTest.java
##########
@@ -0,0 +1,144 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.flink.connector.testframe.utils;
+
+import org.apache.flink.streaming.api.CheckpointingMode;
+
+import org.assertj.core.api.Assertions;
+import org.junit.jupiter.api.Nested;
+import org.junit.jupiter.api.Test;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.List;
+import java.util.stream.Collectors;
+import java.util.stream.Stream;
+
+import static org.apache.flink.connector.testframe.utils.CollectIteratorAssertions.assertThat;
+
+/** Unit test for {@link CollectIteratorAssertTest}. */
+public class CollectIteratorAssertTest {
+    @Nested
+    class MultipleSplitDataMatcherTest {
+        private final List<String> splitA = Arrays.asList("alpha", "beta", "gamma");
+        private final List<String> splitB = Arrays.asList("one", "two", "three");
+        private final List<String> splitC = Arrays.asList("1", "2", "3");
+        private final List<List<String>> testDataCollection = Arrays.asList(splitA, splitB, splitC);
+
+        @Test
+        public void testPositiveCase() {

Review comment:
       ```suggestion
           public void testDataMatcherWithExactlyOnceSemantic() {
   ```
   Add we can also add ` public void testDataMatcherWithAtLeastOnceSemantic() {`




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #18547: [FLINK-25840][tests] add semantic test support for the connector testframe

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #18547:
URL: https://github.com/apache/flink/pull/18547#issuecomment-1023831034


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "3b42a28a860e52c999b3ae050ae9e346cc7980a4",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30346",
       "triggerID" : "3b42a28a860e52c999b3ae050ae9e346cc7980a4",
       "triggerType" : "PUSH"
     }, {
       "hash" : "18c8ec6b02f8007c44fa86c8994abf1b997775e5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30370",
       "triggerID" : "18c8ec6b02f8007c44fa86c8994abf1b997775e5",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3dabe6450b4b04f1cd64c3baa22b868a5e2f526",
       "status" : "SUCCESS",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30841",
       "triggerID" : "f3dabe6450b4b04f1cd64c3baa22b868a5e2f526",
       "triggerType" : "PUSH"
     }, {
       "hash" : "16743712880c8b1ebdef0f34483a8fc769c2df01",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31324",
       "triggerID" : "16743712880c8b1ebdef0f34483a8fc769c2df01",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8b2b059582a02550d98bff83497009dab4074cc",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31325",
       "triggerID" : "c8b2b059582a02550d98bff83497009dab4074cc",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * f3dabe6450b4b04f1cd64c3baa22b868a5e2f526 Azure: [SUCCESS](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30841) 
   * 16743712880c8b1ebdef0f34483a8fc769c2df01 Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31324) 
   * c8b2b059582a02550d98bff83497009dab4074cc Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31325) 
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] ruanhang1993 commented on a change in pull request #18547: [FLINK-25840][tests] add semantic test support for the connector testframe

Posted by GitBox <gi...@apache.org>.
ruanhang1993 commented on a change in pull request #18547:
URL: https://github.com/apache/flink/pull/18547#discussion_r800547795



##########
File path: flink-test-utils-parent/flink-connector-test-utils/src/main/java/org/apache/flink/connector/testframe/utils/TestDataMatchers.java
##########
@@ -33,180 +36,194 @@
 

Review comment:
       Thanks @PatrickRen , I will reuse it.




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #18547: [FLINK-25840][tests] add semantic test support for the connector testframe

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #18547:
URL: https://github.com/apache/flink/pull/18547#issuecomment-1023831034


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "3b42a28a860e52c999b3ae050ae9e346cc7980a4",
       "status" : "FAILURE",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30346",
       "triggerID" : "3b42a28a860e52c999b3ae050ae9e346cc7980a4",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * 3b42a28a860e52c999b3ae050ae9e346cc7980a4 Azure: [FAILURE](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30346) 
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] ruanhang1993 commented on a change in pull request #18547: [FLINK-25840][tests] add semantic test support for the connector testframe

Posted by GitBox <gi...@apache.org>.
ruanhang1993 commented on a change in pull request #18547:
URL: https://github.com/apache/flink/pull/18547#discussion_r805230541



##########
File path: flink-test-utils-parent/flink-connector-test-utils/src/test/java/org/apache/flink/connector/testframe/utils/CollectIteratorAssertTest.java
##########
@@ -0,0 +1,144 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.flink.connector.testframe.utils;
+
+import org.apache.flink.streaming.api.CheckpointingMode;
+
+import org.assertj.core.api.Assertions;
+import org.junit.jupiter.api.Nested;
+import org.junit.jupiter.api.Test;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.List;
+import java.util.stream.Collectors;
+import java.util.stream.Stream;
+
+import static org.apache.flink.connector.testframe.utils.CollectIteratorAssertions.assertThat;
+
+/** Unit test for {@link CollectIteratorAssertTest}. */
+public class CollectIteratorAssertTest {
+    @Nested
+    class MultipleSplitDataMatcherTest {
+        private final List<String> splitA = Arrays.asList("alpha", "beta", "gamma");
+        private final List<String> splitB = Arrays.asList("one", "two", "three");
+        private final List<String> splitC = Arrays.asList("1", "2", "3");
+        private final List<List<String>> testDataCollection = Arrays.asList(splitA, splitB, splitC);
+
+        @Test
+        public void testPositiveCase() {

Review comment:
       fixed




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] ruanhang1993 commented on a change in pull request #18547: [FLINK-25840][tests] add semantic test support for the connector testframe

Posted by GitBox <gi...@apache.org>.
ruanhang1993 commented on a change in pull request #18547:
URL: https://github.com/apache/flink/pull/18547#discussion_r805230682



##########
File path: flink-test-utils-parent/flink-connector-test-utils/src/main/java/org/apache/flink/connector/testframe/utils/CollectIteratorAssertions.java
##########
@@ -0,0 +1,28 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.flink.connector.testframe.utils;
+
+import java.util.Iterator;
+
+/** */
+public class CollectIteratorAssertions {

Review comment:
       I think this class will increase the code readability likes the Assertions in JUnit and AssertJ.




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #18547: [FLINK-25840][tests] add semantic test support for the connector testframe

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #18547:
URL: https://github.com/apache/flink/pull/18547#issuecomment-1023831034


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "3b42a28a860e52c999b3ae050ae9e346cc7980a4",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30346",
       "triggerID" : "3b42a28a860e52c999b3ae050ae9e346cc7980a4",
       "triggerType" : "PUSH"
     }, {
       "hash" : "18c8ec6b02f8007c44fa86c8994abf1b997775e5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30370",
       "triggerID" : "18c8ec6b02f8007c44fa86c8994abf1b997775e5",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3dabe6450b4b04f1cd64c3baa22b868a5e2f526",
       "status" : "SUCCESS",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30841",
       "triggerID" : "f3dabe6450b4b04f1cd64c3baa22b868a5e2f526",
       "triggerType" : "PUSH"
     }, {
       "hash" : "16743712880c8b1ebdef0f34483a8fc769c2df01",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31324",
       "triggerID" : "16743712880c8b1ebdef0f34483a8fc769c2df01",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * f3dabe6450b4b04f1cd64c3baa22b868a5e2f526 Azure: [SUCCESS](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30841) 
   * 16743712880c8b1ebdef0f34483a8fc769c2df01 Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31324) 
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot commented on pull request #18547: [FLINK-25840][tests] add semantic test support for the connector testframe

Posted by GitBox <gi...@apache.org>.
flinkbot commented on pull request #18547:
URL: https://github.com/apache/flink/pull/18547#issuecomment-1023831034


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "3b42a28a860e52c999b3ae050ae9e346cc7980a4",
       "status" : "UNKNOWN",
       "url" : "TBD",
       "triggerID" : "3b42a28a860e52c999b3ae050ae9e346cc7980a4",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * 3b42a28a860e52c999b3ae050ae9e346cc7980a4 UNKNOWN
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #18547: [FLINK-25840][tests] add semantic test support for the connector testframe

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #18547:
URL: https://github.com/apache/flink/pull/18547#issuecomment-1023831034


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "3b42a28a860e52c999b3ae050ae9e346cc7980a4",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30346",
       "triggerID" : "3b42a28a860e52c999b3ae050ae9e346cc7980a4",
       "triggerType" : "PUSH"
     }, {
       "hash" : "18c8ec6b02f8007c44fa86c8994abf1b997775e5",
       "status" : "SUCCESS",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30370",
       "triggerID" : "18c8ec6b02f8007c44fa86c8994abf1b997775e5",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * 18c8ec6b02f8007c44fa86c8994abf1b997775e5 Azure: [SUCCESS](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30370) 
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #18547: [FLINK-25840][tests] add semantic test support for the connector testframe

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #18547:
URL: https://github.com/apache/flink/pull/18547#issuecomment-1023831034


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "3b42a28a860e52c999b3ae050ae9e346cc7980a4",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30346",
       "triggerID" : "3b42a28a860e52c999b3ae050ae9e346cc7980a4",
       "triggerType" : "PUSH"
     }, {
       "hash" : "18c8ec6b02f8007c44fa86c8994abf1b997775e5",
       "status" : "SUCCESS",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30370",
       "triggerID" : "18c8ec6b02f8007c44fa86c8994abf1b997775e5",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3dabe6450b4b04f1cd64c3baa22b868a5e2f526",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30841",
       "triggerID" : "f3dabe6450b4b04f1cd64c3baa22b868a5e2f526",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * 18c8ec6b02f8007c44fa86c8994abf1b997775e5 Azure: [SUCCESS](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30370) 
   * f3dabe6450b4b04f1cd64c3baa22b868a5e2f526 Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30841) 
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #18547: [FLINK-25840][tests] add semantic test support for the connector testframe

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #18547:
URL: https://github.com/apache/flink/pull/18547#issuecomment-1023831034


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "3b42a28a860e52c999b3ae050ae9e346cc7980a4",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30346",
       "triggerID" : "3b42a28a860e52c999b3ae050ae9e346cc7980a4",
       "triggerType" : "PUSH"
     }, {
       "hash" : "18c8ec6b02f8007c44fa86c8994abf1b997775e5",
       "status" : "SUCCESS",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30370",
       "triggerID" : "18c8ec6b02f8007c44fa86c8994abf1b997775e5",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3dabe6450b4b04f1cd64c3baa22b868a5e2f526",
       "status" : "UNKNOWN",
       "url" : "TBD",
       "triggerID" : "f3dabe6450b4b04f1cd64c3baa22b868a5e2f526",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * 18c8ec6b02f8007c44fa86c8994abf1b997775e5 Azure: [SUCCESS](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30370) 
   * f3dabe6450b4b04f1cd64c3baa22b868a5e2f526 UNKNOWN
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] ruanhang1993 commented on a change in pull request #18547: [FLINK-25840][tests] add semantic test support for the connector testframe

Posted by GitBox <gi...@apache.org>.
ruanhang1993 commented on a change in pull request #18547:
URL: https://github.com/apache/flink/pull/18547#discussion_r805225719



##########
File path: flink-test-utils-parent/flink-connector-test-utils/src/main/java/org/apache/flink/connector/testframe/testsuites/SourceTestSuiteBase.java
##########
@@ -86,6 +92,8 @@
 public abstract class SourceTestSuiteBase<T> {
 
     private static final Logger LOG = LoggerFactory.getLogger(SourceTestSuiteBase.class);
+    static ExecutorService executorService =
+            Executors.newFixedThreadPool(Runtime.getRuntime().availableProcessors() * 2);

Review comment:
       Yes, I will remove this useless field after the changes.

##########
File path: flink-test-utils-parent/flink-connector-test-utils/src/main/java/org/apache/flink/connector/testframe/testsuites/SourceTestSuiteBase.java
##########
@@ -400,6 +413,37 @@ protected JobClient submitJob(StreamExecutionEnvironment env, String jobName) th
                 stream.getExecutionEnvironment().getCheckpointConfig());
     }
 
+    /**
+     * Compare the test data with the result.
+     *
+     * <p>If the source is bounded, limit should be null.
+     *
+     * @param resultIterator the data read from the job
+     * @param testData the test data
+     * @param semantic the supported semantic, see {@link CheckpointingMode}
+     * @param limit expected number of the data to read from the job
+     */
+    private void checkResultBySemantic(

Review comment:
       fixed

##########
File path: flink-test-utils-parent/flink-connector-test-utils/src/main/java/org/apache/flink/connector/testframe/utils/CollectIteratorAssert.java
##########
@@ -0,0 +1,257 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.flink.connector.testframe.utils;
+
+import org.apache.flink.streaming.api.CheckpointingMode;
+
+import org.assertj.core.api.AbstractAssert;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.LinkedList;
+import java.util.List;
+
+/** @param <T> */
+public class CollectIteratorAssert<T>
+        extends AbstractAssert<CollectIteratorAssert<T>, Iterator<T>> {
+
+    private static final int UNSET = -1;
+    private final Iterator<T> collectorIterator;
+    private final List<RecordsFromSplit<T>> recordsFromSplits = new ArrayList<>();
+    private int totalNumRecords;
+    private Integer limit = null;
+
+    protected CollectIteratorAssert(Iterator<T> collectorIterator) {
+        super(collectorIterator, CollectIteratorAssert.class);
+        this.collectorIterator = collectorIterator;
+    }
+
+    public CollectIteratorAssert<T> withNumRecordsLimit(int limit) {
+        this.limit = limit;
+        return this;
+    }
+
+    public void matchesRecordsFromSource(
+            List<List<T>> recordsBySplitsFromSource, CheckpointingMode semantic) {
+        for (List<T> recordsFromSplit : recordsBySplitsFromSource) {
+            recordsFromSplits.add(new RecordsFromSplit<>(recordsFromSplit));
+            totalNumRecords += recordsFromSplit.size();
+        }
+
+        if (limit != null && limit > totalNumRecords) {
+            throw new IllegalArgumentException(
+                    "Limit validation size should be less than total number of records from source");
+        }
+
+        switch (semantic) {
+            case AT_LEAST_ONCE:
+                matchAtLeastOnce(collectorIterator, recordsFromSplits);
+                break;
+            case EXACTLY_ONCE:
+                matchExactlyOnce(collectorIterator, recordsFromSplits);
+                break;
+            default:
+                throw new IllegalArgumentException(
+                        String.format("Unrecognized semantic \"%s\"", semantic));
+        }
+    }
+
+    private void matchAtLeastOnce(
+            Iterator<T> resultIterator, List<RecordsFromSplit<T>> recordsFromSplits) {
+        List<T> duplicateRead = new LinkedList<>();

Review comment:
       Fine, I will refactor this part.

##########
File path: flink-test-utils-parent/flink-connector-test-utils/src/main/java/org/apache/flink/connector/testframe/utils/CollectIteratorAssert.java
##########
@@ -0,0 +1,257 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.flink.connector.testframe.utils;
+
+import org.apache.flink.streaming.api.CheckpointingMode;
+
+import org.assertj.core.api.AbstractAssert;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.LinkedList;
+import java.util.List;
+
+/** @param <T> */

Review comment:
       fixed

##########
File path: flink-test-utils-parent/flink-connector-test-utils/src/test/java/org/apache/flink/connector/testframe/utils/CollectIteratorAssertTest.java
##########
@@ -0,0 +1,144 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.flink.connector.testframe.utils;
+
+import org.apache.flink.streaming.api.CheckpointingMode;
+
+import org.assertj.core.api.Assertions;
+import org.junit.jupiter.api.Nested;
+import org.junit.jupiter.api.Test;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.List;
+import java.util.stream.Collectors;
+import java.util.stream.Stream;
+
+import static org.apache.flink.connector.testframe.utils.CollectIteratorAssertions.assertThat;
+
+/** Unit test for {@link CollectIteratorAssertTest}. */

Review comment:
       fixed

##########
File path: flink-test-utils-parent/flink-connector-test-utils/src/test/java/org/apache/flink/connector/testframe/utils/CollectIteratorAssertTest.java
##########
@@ -0,0 +1,144 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.flink.connector.testframe.utils;
+
+import org.apache.flink.streaming.api.CheckpointingMode;
+
+import org.assertj.core.api.Assertions;
+import org.junit.jupiter.api.Nested;
+import org.junit.jupiter.api.Test;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.List;
+import java.util.stream.Collectors;
+import java.util.stream.Stream;
+
+import static org.apache.flink.connector.testframe.utils.CollectIteratorAssertions.assertThat;
+
+/** Unit test for {@link CollectIteratorAssertTest}. */
+public class CollectIteratorAssertTest {
+    @Nested
+    class MultipleSplitDataMatcherTest {
+        private final List<String> splitA = Arrays.asList("alpha", "beta", "gamma");
+        private final List<String> splitB = Arrays.asList("one", "two", "three");
+        private final List<String> splitC = Arrays.asList("1", "2", "3");
+        private final List<List<String>> testDataCollection = Arrays.asList(splitA, splitB, splitC);
+
+        @Test
+        public void testPositiveCase() {

Review comment:
       fixed

##########
File path: flink-test-utils-parent/flink-connector-test-utils/src/main/java/org/apache/flink/connector/testframe/utils/CollectIteratorAssertions.java
##########
@@ -0,0 +1,28 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.flink.connector.testframe.utils;
+
+import java.util.Iterator;
+
+/** */
+public class CollectIteratorAssertions {

Review comment:
       I think this class will increase the code readability likes the Assertions in JUnit and AssertJ.




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #18547: [FLINK-25840][tests] add semantic test support for the connector testframe

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #18547:
URL: https://github.com/apache/flink/pull/18547#issuecomment-1023831034


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "3b42a28a860e52c999b3ae050ae9e346cc7980a4",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30346",
       "triggerID" : "3b42a28a860e52c999b3ae050ae9e346cc7980a4",
       "triggerType" : "PUSH"
     }, {
       "hash" : "18c8ec6b02f8007c44fa86c8994abf1b997775e5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30370",
       "triggerID" : "18c8ec6b02f8007c44fa86c8994abf1b997775e5",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3dabe6450b4b04f1cd64c3baa22b868a5e2f526",
       "status" : "SUCCESS",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30841",
       "triggerID" : "f3dabe6450b4b04f1cd64c3baa22b868a5e2f526",
       "triggerType" : "PUSH"
     }, {
       "hash" : "16743712880c8b1ebdef0f34483a8fc769c2df01",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31324",
       "triggerID" : "16743712880c8b1ebdef0f34483a8fc769c2df01",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * f3dabe6450b4b04f1cd64c3baa22b868a5e2f526 Azure: [SUCCESS](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30841) 
   * 16743712880c8b1ebdef0f34483a8fc769c2df01 Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31324) 
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #18547: [FLINK-25840][tests] add semantic test support for the connector testframe

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #18547:
URL: https://github.com/apache/flink/pull/18547#issuecomment-1023831034


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "3b42a28a860e52c999b3ae050ae9e346cc7980a4",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30346",
       "triggerID" : "3b42a28a860e52c999b3ae050ae9e346cc7980a4",
       "triggerType" : "PUSH"
     }, {
       "hash" : "18c8ec6b02f8007c44fa86c8994abf1b997775e5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30370",
       "triggerID" : "18c8ec6b02f8007c44fa86c8994abf1b997775e5",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3dabe6450b4b04f1cd64c3baa22b868a5e2f526",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30841",
       "triggerID" : "f3dabe6450b4b04f1cd64c3baa22b868a5e2f526",
       "triggerType" : "PUSH"
     }, {
       "hash" : "16743712880c8b1ebdef0f34483a8fc769c2df01",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31324",
       "triggerID" : "16743712880c8b1ebdef0f34483a8fc769c2df01",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8b2b059582a02550d98bff83497009dab4074cc",
       "status" : "CANCELED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31325",
       "triggerID" : "c8b2b059582a02550d98bff83497009dab4074cc",
       "triggerType" : "PUSH"
     }, {
       "hash" : "4058452b4b790255e1feeb36b598dc9d45519b73",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31329",
       "triggerID" : "4058452b4b790255e1feeb36b598dc9d45519b73",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e96805810aa47030517269256993f71afa14707",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31330",
       "triggerID" : "8e96805810aa47030517269256993f71afa14707",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * c8b2b059582a02550d98bff83497009dab4074cc Azure: [CANCELED](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31325) 
   * 4058452b4b790255e1feeb36b598dc9d45519b73 Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31329) 
   * 8e96805810aa47030517269256993f71afa14707 Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31330) 
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] leonardBang closed pull request #18547: [FLINK-25840][tests] add semantic test support for the connector testframe

Posted by GitBox <gi...@apache.org>.
leonardBang closed pull request #18547:
URL: https://github.com/apache/flink/pull/18547


   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #18547: [FLINK-25840][tests] add semantic test support for the connector testframe

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #18547:
URL: https://github.com/apache/flink/pull/18547#issuecomment-1023831034


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "3b42a28a860e52c999b3ae050ae9e346cc7980a4",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30346",
       "triggerID" : "3b42a28a860e52c999b3ae050ae9e346cc7980a4",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * 3b42a28a860e52c999b3ae050ae9e346cc7980a4 Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30346) 
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #18547: [FLINK-25840][tests] add semantic test support for the connector testframe

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #18547:
URL: https://github.com/apache/flink/pull/18547#issuecomment-1023831034


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "3b42a28a860e52c999b3ae050ae9e346cc7980a4",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30346",
       "triggerID" : "3b42a28a860e52c999b3ae050ae9e346cc7980a4",
       "triggerType" : "PUSH"
     }, {
       "hash" : "18c8ec6b02f8007c44fa86c8994abf1b997775e5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30370",
       "triggerID" : "18c8ec6b02f8007c44fa86c8994abf1b997775e5",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3dabe6450b4b04f1cd64c3baa22b868a5e2f526",
       "status" : "SUCCESS",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30841",
       "triggerID" : "f3dabe6450b4b04f1cd64c3baa22b868a5e2f526",
       "triggerType" : "PUSH"
     }, {
       "hash" : "16743712880c8b1ebdef0f34483a8fc769c2df01",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31324",
       "triggerID" : "16743712880c8b1ebdef0f34483a8fc769c2df01",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8b2b059582a02550d98bff83497009dab4074cc",
       "status" : "UNKNOWN",
       "url" : "TBD",
       "triggerID" : "c8b2b059582a02550d98bff83497009dab4074cc",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * f3dabe6450b4b04f1cd64c3baa22b868a5e2f526 Azure: [SUCCESS](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30841) 
   * 16743712880c8b1ebdef0f34483a8fc769c2df01 Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31324) 
   * c8b2b059582a02550d98bff83497009dab4074cc UNKNOWN
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] ruanhang1993 commented on a change in pull request #18547: [FLINK-25840][tests] add semantic test support for the connector testframe

Posted by GitBox <gi...@apache.org>.
ruanhang1993 commented on a change in pull request #18547:
URL: https://github.com/apache/flink/pull/18547#discussion_r805230469



##########
File path: flink-test-utils-parent/flink-connector-test-utils/src/main/java/org/apache/flink/connector/testframe/utils/CollectIteratorAssert.java
##########
@@ -0,0 +1,257 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.flink.connector.testframe.utils;
+
+import org.apache.flink.streaming.api.CheckpointingMode;
+
+import org.assertj.core.api.AbstractAssert;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.LinkedList;
+import java.util.List;
+
+/** @param <T> */
+public class CollectIteratorAssert<T>
+        extends AbstractAssert<CollectIteratorAssert<T>, Iterator<T>> {
+
+    private static final int UNSET = -1;
+    private final Iterator<T> collectorIterator;
+    private final List<RecordsFromSplit<T>> recordsFromSplits = new ArrayList<>();
+    private int totalNumRecords;
+    private Integer limit = null;
+
+    protected CollectIteratorAssert(Iterator<T> collectorIterator) {
+        super(collectorIterator, CollectIteratorAssert.class);
+        this.collectorIterator = collectorIterator;
+    }
+
+    public CollectIteratorAssert<T> withNumRecordsLimit(int limit) {
+        this.limit = limit;
+        return this;
+    }
+
+    public void matchesRecordsFromSource(
+            List<List<T>> recordsBySplitsFromSource, CheckpointingMode semantic) {
+        for (List<T> recordsFromSplit : recordsBySplitsFromSource) {
+            recordsFromSplits.add(new RecordsFromSplit<>(recordsFromSplit));
+            totalNumRecords += recordsFromSplit.size();
+        }
+
+        if (limit != null && limit > totalNumRecords) {
+            throw new IllegalArgumentException(
+                    "Limit validation size should be less than total number of records from source");
+        }
+
+        switch (semantic) {
+            case AT_LEAST_ONCE:
+                matchAtLeastOnce(collectorIterator, recordsFromSplits);
+                break;
+            case EXACTLY_ONCE:
+                matchExactlyOnce(collectorIterator, recordsFromSplits);
+                break;
+            default:
+                throw new IllegalArgumentException(
+                        String.format("Unrecognized semantic \"%s\"", semantic));
+        }
+    }
+
+    private void matchAtLeastOnce(
+            Iterator<T> resultIterator, List<RecordsFromSplit<T>> recordsFromSplits) {
+        List<T> duplicateRead = new LinkedList<>();

Review comment:
       Fine, I will refactor this part.

##########
File path: flink-test-utils-parent/flink-connector-test-utils/src/main/java/org/apache/flink/connector/testframe/utils/CollectIteratorAssert.java
##########
@@ -0,0 +1,257 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.flink.connector.testframe.utils;
+
+import org.apache.flink.streaming.api.CheckpointingMode;
+
+import org.assertj.core.api.AbstractAssert;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.LinkedList;
+import java.util.List;
+
+/** @param <T> */

Review comment:
       fixed




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #18547: [FLINK-25840][tests] add semantic test support for the connector testframe

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #18547:
URL: https://github.com/apache/flink/pull/18547#issuecomment-1023831034


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "3b42a28a860e52c999b3ae050ae9e346cc7980a4",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30346",
       "triggerID" : "3b42a28a860e52c999b3ae050ae9e346cc7980a4",
       "triggerType" : "PUSH"
     }, {
       "hash" : "18c8ec6b02f8007c44fa86c8994abf1b997775e5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30370",
       "triggerID" : "18c8ec6b02f8007c44fa86c8994abf1b997775e5",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3dabe6450b4b04f1cd64c3baa22b868a5e2f526",
       "status" : "SUCCESS",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30841",
       "triggerID" : "f3dabe6450b4b04f1cd64c3baa22b868a5e2f526",
       "triggerType" : "PUSH"
     }, {
       "hash" : "16743712880c8b1ebdef0f34483a8fc769c2df01",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31324",
       "triggerID" : "16743712880c8b1ebdef0f34483a8fc769c2df01",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * f3dabe6450b4b04f1cd64c3baa22b868a5e2f526 Azure: [SUCCESS](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30841) 
   * 16743712880c8b1ebdef0f34483a8fc769c2df01 Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31324) 
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #18547: [FLINK-25840][tests] add semantic test support for the connector testframe

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #18547:
URL: https://github.com/apache/flink/pull/18547#issuecomment-1023831034


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "3b42a28a860e52c999b3ae050ae9e346cc7980a4",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30346",
       "triggerID" : "3b42a28a860e52c999b3ae050ae9e346cc7980a4",
       "triggerType" : "PUSH"
     }, {
       "hash" : "18c8ec6b02f8007c44fa86c8994abf1b997775e5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30370",
       "triggerID" : "18c8ec6b02f8007c44fa86c8994abf1b997775e5",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3dabe6450b4b04f1cd64c3baa22b868a5e2f526",
       "status" : "SUCCESS",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30841",
       "triggerID" : "f3dabe6450b4b04f1cd64c3baa22b868a5e2f526",
       "triggerType" : "PUSH"
     }, {
       "hash" : "16743712880c8b1ebdef0f34483a8fc769c2df01",
       "status" : "UNKNOWN",
       "url" : "TBD",
       "triggerID" : "16743712880c8b1ebdef0f34483a8fc769c2df01",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * f3dabe6450b4b04f1cd64c3baa22b868a5e2f526 Azure: [SUCCESS](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30841) 
   * 16743712880c8b1ebdef0f34483a8fc769c2df01 UNKNOWN
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #18547: [FLINK-25840][tests] add semantic test support for the connector testframe

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #18547:
URL: https://github.com/apache/flink/pull/18547#issuecomment-1023831034


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "3b42a28a860e52c999b3ae050ae9e346cc7980a4",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30346",
       "triggerID" : "3b42a28a860e52c999b3ae050ae9e346cc7980a4",
       "triggerType" : "PUSH"
     }, {
       "hash" : "18c8ec6b02f8007c44fa86c8994abf1b997775e5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30370",
       "triggerID" : "18c8ec6b02f8007c44fa86c8994abf1b997775e5",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3dabe6450b4b04f1cd64c3baa22b868a5e2f526",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30841",
       "triggerID" : "f3dabe6450b4b04f1cd64c3baa22b868a5e2f526",
       "triggerType" : "PUSH"
     }, {
       "hash" : "16743712880c8b1ebdef0f34483a8fc769c2df01",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31324",
       "triggerID" : "16743712880c8b1ebdef0f34483a8fc769c2df01",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8b2b059582a02550d98bff83497009dab4074cc",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31325",
       "triggerID" : "c8b2b059582a02550d98bff83497009dab4074cc",
       "triggerType" : "PUSH"
     }, {
       "hash" : "4058452b4b790255e1feeb36b598dc9d45519b73",
       "status" : "CANCELED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31329",
       "triggerID" : "4058452b4b790255e1feeb36b598dc9d45519b73",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e96805810aa47030517269256993f71afa14707",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31330",
       "triggerID" : "8e96805810aa47030517269256993f71afa14707",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * 4058452b4b790255e1feeb36b598dc9d45519b73 Azure: [CANCELED](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31329) 
   * 8e96805810aa47030517269256993f71afa14707 Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31330) 
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #18547: [FLINK-25840][tests] add semantic test support for the connector testframe

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #18547:
URL: https://github.com/apache/flink/pull/18547#issuecomment-1023831034






-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] ruanhang1993 commented on a change in pull request #18547: [FLINK-25840][tests] add semantic test support for the connector testframe

Posted by GitBox <gi...@apache.org>.
ruanhang1993 commented on a change in pull request #18547:
URL: https://github.com/apache/flink/pull/18547#discussion_r805225719



##########
File path: flink-test-utils-parent/flink-connector-test-utils/src/main/java/org/apache/flink/connector/testframe/testsuites/SourceTestSuiteBase.java
##########
@@ -86,6 +92,8 @@
 public abstract class SourceTestSuiteBase<T> {
 
     private static final Logger LOG = LoggerFactory.getLogger(SourceTestSuiteBase.class);
+    static ExecutorService executorService =
+            Executors.newFixedThreadPool(Runtime.getRuntime().availableProcessors() * 2);

Review comment:
       Yes, I will remove this useless field after the changes.




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #18547: [FLINK-25840][tests] add semantic test support for the connector testframe

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #18547:
URL: https://github.com/apache/flink/pull/18547#issuecomment-1023831034


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "3b42a28a860e52c999b3ae050ae9e346cc7980a4",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30346",
       "triggerID" : "3b42a28a860e52c999b3ae050ae9e346cc7980a4",
       "triggerType" : "PUSH"
     }, {
       "hash" : "18c8ec6b02f8007c44fa86c8994abf1b997775e5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30370",
       "triggerID" : "18c8ec6b02f8007c44fa86c8994abf1b997775e5",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3dabe6450b4b04f1cd64c3baa22b868a5e2f526",
       "status" : "SUCCESS",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30841",
       "triggerID" : "f3dabe6450b4b04f1cd64c3baa22b868a5e2f526",
       "triggerType" : "PUSH"
     }, {
       "hash" : "16743712880c8b1ebdef0f34483a8fc769c2df01",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31324",
       "triggerID" : "16743712880c8b1ebdef0f34483a8fc769c2df01",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8b2b059582a02550d98bff83497009dab4074cc",
       "status" : "UNKNOWN",
       "url" : "TBD",
       "triggerID" : "c8b2b059582a02550d98bff83497009dab4074cc",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * f3dabe6450b4b04f1cd64c3baa22b868a5e2f526 Azure: [SUCCESS](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30841) 
   * 16743712880c8b1ebdef0f34483a8fc769c2df01 Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31324) 
   * c8b2b059582a02550d98bff83497009dab4074cc UNKNOWN
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] leonardBang commented on a change in pull request #18547: [FLINK-25840][tests] add semantic test support for the connector testframe

Posted by GitBox <gi...@apache.org>.
leonardBang commented on a change in pull request #18547:
URL: https://github.com/apache/flink/pull/18547#discussion_r805161181



##########
File path: flink-test-utils-parent/flink-connector-test-utils/src/main/java/org/apache/flink/connector/testframe/testsuites/SourceTestSuiteBase.java
##########
@@ -86,6 +92,8 @@
 public abstract class SourceTestSuiteBase<T> {
 
     private static final Logger LOG = LoggerFactory.getLogger(SourceTestSuiteBase.class);
+    static ExecutorService executorService =
+            Executors.newFixedThreadPool(Runtime.getRuntime().availableProcessors() * 2);

Review comment:
       The number for fixed threads is too expensive for tests.

##########
File path: flink-test-utils-parent/flink-connector-test-utils/src/test/java/org/apache/flink/connector/testframe/utils/CollectIteratorAssertTest.java
##########
@@ -0,0 +1,144 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.flink.connector.testframe.utils;
+
+import org.apache.flink.streaming.api.CheckpointingMode;
+
+import org.assertj.core.api.Assertions;
+import org.junit.jupiter.api.Nested;
+import org.junit.jupiter.api.Test;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.List;
+import java.util.stream.Collectors;
+import java.util.stream.Stream;
+
+import static org.apache.flink.connector.testframe.utils.CollectIteratorAssertions.assertThat;
+
+/** Unit test for {@link CollectIteratorAssertTest}. */

Review comment:
       ```suggestion
   /** Unit tests for {@link CollectIteratorAssertTest}. */
   ```

##########
File path: flink-test-utils-parent/flink-connector-test-utils/src/main/java/org/apache/flink/connector/testframe/testsuites/SourceTestSuiteBase.java
##########
@@ -400,6 +413,37 @@ protected JobClient submitJob(StreamExecutionEnvironment env, String jobName) th
                 stream.getExecutionEnvironment().getCheckpointConfig());
     }
 
+    /**
+     * Compare the test data with the result.
+     *
+     * <p>If the source is bounded, limit should be null.
+     *
+     * @param resultIterator the data read from the job
+     * @param testData the test data
+     * @param semantic the supported semantic, see {@link CheckpointingMode}
+     * @param limit expected number of the data to read from the job
+     */
+    private void checkResultBySemantic(

Review comment:
       
   ```suggestion
       private void checkResultWithSemantic(
   ```

##########
File path: flink-test-utils-parent/flink-connector-test-utils/src/main/java/org/apache/flink/connector/testframe/utils/CollectIteratorAssert.java
##########
@@ -0,0 +1,257 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.flink.connector.testframe.utils;
+
+import org.apache.flink.streaming.api.CheckpointingMode;
+
+import org.assertj.core.api.AbstractAssert;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.LinkedList;
+import java.util.List;
+
+/** @param <T> */

Review comment:
       Please add reasonable java document

##########
File path: flink-test-utils-parent/flink-connector-test-utils/src/main/java/org/apache/flink/connector/testframe/utils/CollectIteratorAssert.java
##########
@@ -0,0 +1,257 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.flink.connector.testframe.utils;
+
+import org.apache.flink.streaming.api.CheckpointingMode;
+
+import org.assertj.core.api.AbstractAssert;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.LinkedList;
+import java.util.List;
+
+/** @param <T> */
+public class CollectIteratorAssert<T>
+        extends AbstractAssert<CollectIteratorAssert<T>, Iterator<T>> {
+
+    private static final int UNSET = -1;
+    private final Iterator<T> collectorIterator;
+    private final List<RecordsFromSplit<T>> recordsFromSplits = new ArrayList<>();
+    private int totalNumRecords;
+    private Integer limit = null;
+
+    protected CollectIteratorAssert(Iterator<T> collectorIterator) {
+        super(collectorIterator, CollectIteratorAssert.class);
+        this.collectorIterator = collectorIterator;
+    }
+
+    public CollectIteratorAssert<T> withNumRecordsLimit(int limit) {
+        this.limit = limit;
+        return this;
+    }
+
+    public void matchesRecordsFromSource(
+            List<List<T>> recordsBySplitsFromSource, CheckpointingMode semantic) {
+        for (List<T> recordsFromSplit : recordsBySplitsFromSource) {
+            recordsFromSplits.add(new RecordsFromSplit<>(recordsFromSplit));
+            totalNumRecords += recordsFromSplit.size();
+        }
+
+        if (limit != null && limit > totalNumRecords) {
+            throw new IllegalArgumentException(
+                    "Limit validation size should be less than total number of records from source");
+        }
+
+        switch (semantic) {
+            case AT_LEAST_ONCE:
+                matchAtLeastOnce(collectorIterator, recordsFromSplits);
+                break;
+            case EXACTLY_ONCE:
+                matchExactlyOnce(collectorIterator, recordsFromSplits);
+                break;
+            default:
+                throw new IllegalArgumentException(
+                        String.format("Unrecognized semantic \"%s\"", semantic));
+        }
+    }
+
+    private void matchAtLeastOnce(
+            Iterator<T> resultIterator, List<RecordsFromSplit<T>> recordsFromSplits) {
+        List<T> duplicateRead = new LinkedList<>();

Review comment:
       how about`duplicatedRecords` or   `recordsWithAtLeastOnceSemantic` ? And this method haven't unit test to cover in this PR?

##########
File path: flink-test-utils-parent/flink-connector-test-utils/src/main/java/org/apache/flink/connector/testframe/utils/CollectIteratorAssertions.java
##########
@@ -0,0 +1,28 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.flink.connector.testframe.utils;
+
+import java.util.Iterator;
+
+/** */
+public class CollectIteratorAssertions {

Review comment:
       Do we really need this class ?

##########
File path: flink-test-utils-parent/flink-connector-test-utils/src/test/java/org/apache/flink/connector/testframe/utils/CollectIteratorAssertTest.java
##########
@@ -0,0 +1,144 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.flink.connector.testframe.utils;
+
+import org.apache.flink.streaming.api.CheckpointingMode;
+
+import org.assertj.core.api.Assertions;
+import org.junit.jupiter.api.Nested;
+import org.junit.jupiter.api.Test;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.List;
+import java.util.stream.Collectors;
+import java.util.stream.Stream;
+
+import static org.apache.flink.connector.testframe.utils.CollectIteratorAssertions.assertThat;
+
+/** Unit test for {@link CollectIteratorAssertTest}. */
+public class CollectIteratorAssertTest {
+    @Nested
+    class MultipleSplitDataMatcherTest {
+        private final List<String> splitA = Arrays.asList("alpha", "beta", "gamma");
+        private final List<String> splitB = Arrays.asList("one", "two", "three");
+        private final List<String> splitC = Arrays.asList("1", "2", "3");
+        private final List<List<String>> testDataCollection = Arrays.asList(splitA, splitB, splitC);
+
+        @Test
+        public void testPositiveCase() {

Review comment:
       ```suggestion
           public void testDataMatcherWithExactlyOnceSemantic() {
   ```
   Add we can also add ` public void testDataMatcherWithAtLeastOnceSemantic() {`




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] ruanhang1993 commented on a change in pull request #18547: [FLINK-25840][tests] add semantic test support for the connector testframe

Posted by GitBox <gi...@apache.org>.
ruanhang1993 commented on a change in pull request #18547:
URL: https://github.com/apache/flink/pull/18547#discussion_r805230534



##########
File path: flink-test-utils-parent/flink-connector-test-utils/src/test/java/org/apache/flink/connector/testframe/utils/CollectIteratorAssertTest.java
##########
@@ -0,0 +1,144 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.flink.connector.testframe.utils;
+
+import org.apache.flink.streaming.api.CheckpointingMode;
+
+import org.assertj.core.api.Assertions;
+import org.junit.jupiter.api.Nested;
+import org.junit.jupiter.api.Test;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.List;
+import java.util.stream.Collectors;
+import java.util.stream.Stream;
+
+import static org.apache.flink.connector.testframe.utils.CollectIteratorAssertions.assertThat;
+
+/** Unit test for {@link CollectIteratorAssertTest}. */

Review comment:
       fixed




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #18547: [FLINK-25840][tests] add semantic test support for the connector testframe

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #18547:
URL: https://github.com/apache/flink/pull/18547#issuecomment-1023831034


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "3b42a28a860e52c999b3ae050ae9e346cc7980a4",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30346",
       "triggerID" : "3b42a28a860e52c999b3ae050ae9e346cc7980a4",
       "triggerType" : "PUSH"
     }, {
       "hash" : "18c8ec6b02f8007c44fa86c8994abf1b997775e5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30370",
       "triggerID" : "18c8ec6b02f8007c44fa86c8994abf1b997775e5",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3dabe6450b4b04f1cd64c3baa22b868a5e2f526",
       "status" : "SUCCESS",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30841",
       "triggerID" : "f3dabe6450b4b04f1cd64c3baa22b868a5e2f526",
       "triggerType" : "PUSH"
     }, {
       "hash" : "16743712880c8b1ebdef0f34483a8fc769c2df01",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31324",
       "triggerID" : "16743712880c8b1ebdef0f34483a8fc769c2df01",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8b2b059582a02550d98bff83497009dab4074cc",
       "status" : "UNKNOWN",
       "url" : "TBD",
       "triggerID" : "c8b2b059582a02550d98bff83497009dab4074cc",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * f3dabe6450b4b04f1cd64c3baa22b868a5e2f526 Azure: [SUCCESS](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30841) 
   * 16743712880c8b1ebdef0f34483a8fc769c2df01 Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31324) 
   * c8b2b059582a02550d98bff83497009dab4074cc UNKNOWN
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #18547: [FLINK-25840][tests] add semantic test support for the connector testframe

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #18547:
URL: https://github.com/apache/flink/pull/18547#issuecomment-1023831034


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "3b42a28a860e52c999b3ae050ae9e346cc7980a4",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30346",
       "triggerID" : "3b42a28a860e52c999b3ae050ae9e346cc7980a4",
       "triggerType" : "PUSH"
     }, {
       "hash" : "18c8ec6b02f8007c44fa86c8994abf1b997775e5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30370",
       "triggerID" : "18c8ec6b02f8007c44fa86c8994abf1b997775e5",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3dabe6450b4b04f1cd64c3baa22b868a5e2f526",
       "status" : "SUCCESS",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30841",
       "triggerID" : "f3dabe6450b4b04f1cd64c3baa22b868a5e2f526",
       "triggerType" : "PUSH"
     }, {
       "hash" : "16743712880c8b1ebdef0f34483a8fc769c2df01",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31324",
       "triggerID" : "16743712880c8b1ebdef0f34483a8fc769c2df01",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * f3dabe6450b4b04f1cd64c3baa22b868a5e2f526 Azure: [SUCCESS](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30841) 
   * 16743712880c8b1ebdef0f34483a8fc769c2df01 Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31324) 
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] ruanhang1993 commented on a change in pull request #18547: [FLINK-25840][tests] add semantic test support for the connector testframe

Posted by GitBox <gi...@apache.org>.
ruanhang1993 commented on a change in pull request #18547:
URL: https://github.com/apache/flink/pull/18547#discussion_r805230426



##########
File path: flink-test-utils-parent/flink-connector-test-utils/src/main/java/org/apache/flink/connector/testframe/testsuites/SourceTestSuiteBase.java
##########
@@ -400,6 +413,37 @@ protected JobClient submitJob(StreamExecutionEnvironment env, String jobName) th
                 stream.getExecutionEnvironment().getCheckpointConfig());
     }
 
+    /**
+     * Compare the test data with the result.
+     *
+     * <p>If the source is bounded, limit should be null.
+     *
+     * @param resultIterator the data read from the job
+     * @param testData the test data
+     * @param semantic the supported semantic, see {@link CheckpointingMode}
+     * @param limit expected number of the data to read from the job
+     */
+    private void checkResultBySemantic(

Review comment:
       fixed




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #18547: [FLINK-25840][tests] add semantic test support for the connector testframe

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #18547:
URL: https://github.com/apache/flink/pull/18547#issuecomment-1023831034


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "3b42a28a860e52c999b3ae050ae9e346cc7980a4",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30346",
       "triggerID" : "3b42a28a860e52c999b3ae050ae9e346cc7980a4",
       "triggerType" : "PUSH"
     }, {
       "hash" : "18c8ec6b02f8007c44fa86c8994abf1b997775e5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30370",
       "triggerID" : "18c8ec6b02f8007c44fa86c8994abf1b997775e5",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3dabe6450b4b04f1cd64c3baa22b868a5e2f526",
       "status" : "SUCCESS",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30841",
       "triggerID" : "f3dabe6450b4b04f1cd64c3baa22b868a5e2f526",
       "triggerType" : "PUSH"
     }, {
       "hash" : "16743712880c8b1ebdef0f34483a8fc769c2df01",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31324",
       "triggerID" : "16743712880c8b1ebdef0f34483a8fc769c2df01",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8b2b059582a02550d98bff83497009dab4074cc",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31325",
       "triggerID" : "c8b2b059582a02550d98bff83497009dab4074cc",
       "triggerType" : "PUSH"
     }, {
       "hash" : "4058452b4b790255e1feeb36b598dc9d45519b73",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31329",
       "triggerID" : "4058452b4b790255e1feeb36b598dc9d45519b73",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * f3dabe6450b4b04f1cd64c3baa22b868a5e2f526 Azure: [SUCCESS](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30841) 
   * 16743712880c8b1ebdef0f34483a8fc769c2df01 Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31324) 
   * c8b2b059582a02550d98bff83497009dab4074cc Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31325) 
   * 4058452b4b790255e1feeb36b598dc9d45519b73 Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31329) 
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] leonardBang closed pull request #18547: [FLINK-25840][tests] add semantic test support for the connector testframe

Posted by GitBox <gi...@apache.org>.
leonardBang closed pull request #18547:
URL: https://github.com/apache/flink/pull/18547


   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #18547: [FLINK-25840][tests] add semantic test support for the connector testframe

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #18547:
URL: https://github.com/apache/flink/pull/18547#issuecomment-1023831034


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "3b42a28a860e52c999b3ae050ae9e346cc7980a4",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30346",
       "triggerID" : "3b42a28a860e52c999b3ae050ae9e346cc7980a4",
       "triggerType" : "PUSH"
     }, {
       "hash" : "18c8ec6b02f8007c44fa86c8994abf1b997775e5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30370",
       "triggerID" : "18c8ec6b02f8007c44fa86c8994abf1b997775e5",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3dabe6450b4b04f1cd64c3baa22b868a5e2f526",
       "status" : "SUCCESS",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30841",
       "triggerID" : "f3dabe6450b4b04f1cd64c3baa22b868a5e2f526",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * f3dabe6450b4b04f1cd64c3baa22b868a5e2f526 Azure: [SUCCESS](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30841) 
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #18547: [FLINK-25840][tests] add semantic test support for the connector testframe

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #18547:
URL: https://github.com/apache/flink/pull/18547#issuecomment-1023831034


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "3b42a28a860e52c999b3ae050ae9e346cc7980a4",
       "status" : "FAILURE",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30346",
       "triggerID" : "3b42a28a860e52c999b3ae050ae9e346cc7980a4",
       "triggerType" : "PUSH"
     }, {
       "hash" : "18c8ec6b02f8007c44fa86c8994abf1b997775e5",
       "status" : "UNKNOWN",
       "url" : "TBD",
       "triggerID" : "18c8ec6b02f8007c44fa86c8994abf1b997775e5",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * 3b42a28a860e52c999b3ae050ae9e346cc7980a4 Azure: [FAILURE](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30346) 
   * 18c8ec6b02f8007c44fa86c8994abf1b997775e5 UNKNOWN
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #18547: [FLINK-25840][tests] add semantic test support for the connector testframe

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #18547:
URL: https://github.com/apache/flink/pull/18547#issuecomment-1023831034


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "3b42a28a860e52c999b3ae050ae9e346cc7980a4",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30346",
       "triggerID" : "3b42a28a860e52c999b3ae050ae9e346cc7980a4",
       "triggerType" : "PUSH"
     }, {
       "hash" : "18c8ec6b02f8007c44fa86c8994abf1b997775e5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30370",
       "triggerID" : "18c8ec6b02f8007c44fa86c8994abf1b997775e5",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3dabe6450b4b04f1cd64c3baa22b868a5e2f526",
       "status" : "SUCCESS",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30841",
       "triggerID" : "f3dabe6450b4b04f1cd64c3baa22b868a5e2f526",
       "triggerType" : "PUSH"
     }, {
       "hash" : "16743712880c8b1ebdef0f34483a8fc769c2df01",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31324",
       "triggerID" : "16743712880c8b1ebdef0f34483a8fc769c2df01",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8b2b059582a02550d98bff83497009dab4074cc",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31325",
       "triggerID" : "c8b2b059582a02550d98bff83497009dab4074cc",
       "triggerType" : "PUSH"
     }, {
       "hash" : "4058452b4b790255e1feeb36b598dc9d45519b73",
       "status" : "UNKNOWN",
       "url" : "TBD",
       "triggerID" : "4058452b4b790255e1feeb36b598dc9d45519b73",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * f3dabe6450b4b04f1cd64c3baa22b868a5e2f526 Azure: [SUCCESS](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30841) 
   * 16743712880c8b1ebdef0f34483a8fc769c2df01 Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31324) 
   * c8b2b059582a02550d98bff83497009dab4074cc Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31325) 
   * 4058452b4b790255e1feeb36b598dc9d45519b73 UNKNOWN
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #18547: [FLINK-25840][tests] add semantic test support for the connector testframe

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #18547:
URL: https://github.com/apache/flink/pull/18547#issuecomment-1023831034


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "3b42a28a860e52c999b3ae050ae9e346cc7980a4",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30346",
       "triggerID" : "3b42a28a860e52c999b3ae050ae9e346cc7980a4",
       "triggerType" : "PUSH"
     }, {
       "hash" : "18c8ec6b02f8007c44fa86c8994abf1b997775e5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30370",
       "triggerID" : "18c8ec6b02f8007c44fa86c8994abf1b997775e5",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3dabe6450b4b04f1cd64c3baa22b868a5e2f526",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30841",
       "triggerID" : "f3dabe6450b4b04f1cd64c3baa22b868a5e2f526",
       "triggerType" : "PUSH"
     }, {
       "hash" : "16743712880c8b1ebdef0f34483a8fc769c2df01",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31324",
       "triggerID" : "16743712880c8b1ebdef0f34483a8fc769c2df01",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8b2b059582a02550d98bff83497009dab4074cc",
       "status" : "CANCELED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31325",
       "triggerID" : "c8b2b059582a02550d98bff83497009dab4074cc",
       "triggerType" : "PUSH"
     }, {
       "hash" : "4058452b4b790255e1feeb36b598dc9d45519b73",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31329",
       "triggerID" : "4058452b4b790255e1feeb36b598dc9d45519b73",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * 16743712880c8b1ebdef0f34483a8fc769c2df01 Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31324) 
   * c8b2b059582a02550d98bff83497009dab4074cc Azure: [CANCELED](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31325) 
   * 4058452b4b790255e1feeb36b598dc9d45519b73 Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31329) 
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #18547: [FLINK-25840][tests] add semantic test support for the connector testframe

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #18547:
URL: https://github.com/apache/flink/pull/18547#issuecomment-1023831034


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "3b42a28a860e52c999b3ae050ae9e346cc7980a4",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30346",
       "triggerID" : "3b42a28a860e52c999b3ae050ae9e346cc7980a4",
       "triggerType" : "PUSH"
     }, {
       "hash" : "18c8ec6b02f8007c44fa86c8994abf1b997775e5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30370",
       "triggerID" : "18c8ec6b02f8007c44fa86c8994abf1b997775e5",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3dabe6450b4b04f1cd64c3baa22b868a5e2f526",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30841",
       "triggerID" : "f3dabe6450b4b04f1cd64c3baa22b868a5e2f526",
       "triggerType" : "PUSH"
     }, {
       "hash" : "16743712880c8b1ebdef0f34483a8fc769c2df01",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31324",
       "triggerID" : "16743712880c8b1ebdef0f34483a8fc769c2df01",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8b2b059582a02550d98bff83497009dab4074cc",
       "status" : "CANCELED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31325",
       "triggerID" : "c8b2b059582a02550d98bff83497009dab4074cc",
       "triggerType" : "PUSH"
     }, {
       "hash" : "4058452b4b790255e1feeb36b598dc9d45519b73",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31329",
       "triggerID" : "4058452b4b790255e1feeb36b598dc9d45519b73",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * c8b2b059582a02550d98bff83497009dab4074cc Azure: [CANCELED](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31325) 
   * 4058452b4b790255e1feeb36b598dc9d45519b73 Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31329) 
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #18547: [FLINK-25840][tests] add semantic test support for the connector testframe

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #18547:
URL: https://github.com/apache/flink/pull/18547#issuecomment-1023831034


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "3b42a28a860e52c999b3ae050ae9e346cc7980a4",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30346",
       "triggerID" : "3b42a28a860e52c999b3ae050ae9e346cc7980a4",
       "triggerType" : "PUSH"
     }, {
       "hash" : "18c8ec6b02f8007c44fa86c8994abf1b997775e5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30370",
       "triggerID" : "18c8ec6b02f8007c44fa86c8994abf1b997775e5",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3dabe6450b4b04f1cd64c3baa22b868a5e2f526",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30841",
       "triggerID" : "f3dabe6450b4b04f1cd64c3baa22b868a5e2f526",
       "triggerType" : "PUSH"
     }, {
       "hash" : "16743712880c8b1ebdef0f34483a8fc769c2df01",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31324",
       "triggerID" : "16743712880c8b1ebdef0f34483a8fc769c2df01",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8b2b059582a02550d98bff83497009dab4074cc",
       "status" : "CANCELED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31325",
       "triggerID" : "c8b2b059582a02550d98bff83497009dab4074cc",
       "triggerType" : "PUSH"
     }, {
       "hash" : "4058452b4b790255e1feeb36b598dc9d45519b73",
       "status" : "PENDING",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31329",
       "triggerID" : "4058452b4b790255e1feeb36b598dc9d45519b73",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e96805810aa47030517269256993f71afa14707",
       "status" : "UNKNOWN",
       "url" : "TBD",
       "triggerID" : "8e96805810aa47030517269256993f71afa14707",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * c8b2b059582a02550d98bff83497009dab4074cc Azure: [CANCELED](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31325) 
   * 4058452b4b790255e1feeb36b598dc9d45519b73 Azure: [PENDING](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31329) 
   * 8e96805810aa47030517269256993f71afa14707 UNKNOWN
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [flink] flinkbot edited a comment on pull request #18547: [FLINK-25840][tests] add semantic test support for the connector testframe

Posted by GitBox <gi...@apache.org>.
flinkbot edited a comment on pull request #18547:
URL: https://github.com/apache/flink/pull/18547#issuecomment-1023831034


   <!--
   Meta data
   {
     "version" : 1,
     "metaDataEntries" : [ {
       "hash" : "3b42a28a860e52c999b3ae050ae9e346cc7980a4",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30346",
       "triggerID" : "3b42a28a860e52c999b3ae050ae9e346cc7980a4",
       "triggerType" : "PUSH"
     }, {
       "hash" : "18c8ec6b02f8007c44fa86c8994abf1b997775e5",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30370",
       "triggerID" : "18c8ec6b02f8007c44fa86c8994abf1b997775e5",
       "triggerType" : "PUSH"
     }, {
       "hash" : "f3dabe6450b4b04f1cd64c3baa22b868a5e2f526",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=30841",
       "triggerID" : "f3dabe6450b4b04f1cd64c3baa22b868a5e2f526",
       "triggerType" : "PUSH"
     }, {
       "hash" : "16743712880c8b1ebdef0f34483a8fc769c2df01",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31324",
       "triggerID" : "16743712880c8b1ebdef0f34483a8fc769c2df01",
       "triggerType" : "PUSH"
     }, {
       "hash" : "c8b2b059582a02550d98bff83497009dab4074cc",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31325",
       "triggerID" : "c8b2b059582a02550d98bff83497009dab4074cc",
       "triggerType" : "PUSH"
     }, {
       "hash" : "4058452b4b790255e1feeb36b598dc9d45519b73",
       "status" : "DELETED",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31329",
       "triggerID" : "4058452b4b790255e1feeb36b598dc9d45519b73",
       "triggerType" : "PUSH"
     }, {
       "hash" : "8e96805810aa47030517269256993f71afa14707",
       "status" : "SUCCESS",
       "url" : "https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31330",
       "triggerID" : "8e96805810aa47030517269256993f71afa14707",
       "triggerType" : "PUSH"
     } ]
   }-->
   ## CI report:
   
   * 8e96805810aa47030517269256993f71afa14707 Azure: [SUCCESS](https://dev.azure.com/apache-flink/98463496-1af2-4620-8eab-a2ecc1a2e6fe/_build/results?buildId=31330) 
   
   <details>
   <summary>Bot commands</summary>
     The @flinkbot bot supports the following commands:
   
    - `@flinkbot run azure` re-run the last Azure build
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org