Skip to content

Commit 7895574

Browse files
committed
fix: mock BackendUtil.getInstance in DorisSinkTest to prevent NPE
mockStatic intercepts all static methods but getInstance was not stubbed, returning null. The batch mode constructor immediately calls getAvailableBackend() on the null instance, causing an NPE.
1 parent db47aa3 commit 7895574

1 file changed

Lines changed: 8 additions & 0 deletions

File tree

flink-doris-connector/flink-doris-connector-flink1/src/test/java/org/apache/doris/flink/sink/DorisSinkTest.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@
4141
import org.apache.flink.metrics.groups.SinkWriterMetricGroup;
4242

4343
import static org.mockito.ArgumentMatchers.any;
44+
import static org.mockito.ArgumentMatchers.anyInt;
4445
import static org.mockito.Mockito.mock;
4546
import static org.mockito.Mockito.mockStatic;
4647
import static org.mockito.Mockito.when;
@@ -51,8 +52,15 @@ public class DorisSinkTest {
5152

5253
@Before
5354
public void setUp() throws Exception {
55+
BackendUtil mockBackendUtil = mock(BackendUtil.class);
56+
when(mockBackendUtil.getAvailableBackend()).thenReturn("127.0.0.1:8040");
57+
when(mockBackendUtil.getAvailableBackend(anyInt())).thenReturn("127.0.0.1:8040");
58+
5459
backendUtilMockedStatic = mockStatic(BackendUtil.class);
5560
backendUtilMockedStatic.when(() -> BackendUtil.tryHttpConnection(any())).thenReturn(true);
61+
backendUtilMockedStatic
62+
.when(() -> BackendUtil.getInstance(any(), any(), any(), any()))
63+
.thenReturn(mockBackendUtil);
5664
}
5765

5866
@Test

0 commit comments

Comments
 (0)