Github user GJL commented on a diff in the pull request:

    https://github.com/apache/flink/pull/4910#discussion_r147686546
  
    --- Diff: 
flink-streaming-java/src/test/java/org/apache/flink/streaming/api/functions/sink/TwoPhaseCommitSinkFunctionTest.java
 ---
    @@ -35,60 +42,101 @@
     import java.io.IOException;
     import java.nio.charset.Charset;
     import java.nio.file.Files;
    +import java.time.Clock;
     import java.util.ArrayList;
     import java.util.Arrays;
     import java.util.Collections;
     import java.util.List;
     import java.util.UUID;
    +import java.util.concurrent.atomic.AtomicBoolean;
     
     import static java.nio.file.StandardCopyOption.ATOMIC_MOVE;
    +import static org.hamcrest.CoreMatchers.containsString;
    +import static org.hamcrest.CoreMatchers.equalTo;
    +import static org.hamcrest.CoreMatchers.hasItem;
     import static org.junit.Assert.assertEquals;
    +import static org.junit.Assert.assertThat;
     import static org.junit.Assert.assertTrue;
     import static org.junit.Assert.fail;
    +import static org.mockito.Mockito.verify;
    +import static org.mockito.Mockito.when;
     
     /**
      * Tests for {@link TwoPhaseCommitSinkFunction}.
      */
     public class TwoPhaseCommitSinkFunctionTest {
    -   TestContext context;
    +
    +   @Rule
    +   public TemporaryFolder folder = new TemporaryFolder();
    +
    +   private FileBasedSinkFunction sinkFunction;
    +
    +   private OneInputStreamOperatorTestHarness<String, Object> harness;
    +
    +   private AtomicBoolean throwException = new AtomicBoolean();
    +
    +   private File targetDirectory;
    +
    +   private File tmpDirectory;
    +
    +   @Mock
    +   private Clock mockClock;
    --- End diff --
    
    I agree with you that overusing mocks is an anti-pattern. Changed it to a 
real implementation. Please have a look. I am not sure if this is better now 
because after all, the only mocked function on Clock was `.millis()`.


---

Reply via email to