Github user GJL commented on a diff in the pull request:
https://github.com/apache/flink/pull/4910#discussion_r147741136
--- 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;
+
+ @Mock
+ private Logger mockLogger;
--- End diff --
The test does not rely on any mocks anymore. I am not 100% happy with it
because we use log4j `1.x` which is not maintained anymore and in log4j `2.x`,
the APIs have changed a lot:
http://logging.apache.org/log4j/2.x/manual/customconfig.html#AddingToCurrent
---