@Override protected void handleClose() { this.sinkFn.close(); }
@Override protected void handleClose() { this.sinkFn.close(); }
@Override protected void handleClose() { this.sinkFn.close(); }
@Override protected void handleClose() { this.sinkFn.close(); }
@Override protected void handleClose() { this.sinkFn.close(); }
@Test public void testSinkOperatorClose() { TestOutputMessageEnvelope mockMsg = mock(TestOutputMessageEnvelope.class); MessageCollector mockCollector = mock(MessageCollector.class); TaskCoordinator mockCoordinator = mock(TaskCoordinator.class); SinkFunction<TestOutputMessageEnvelope> sinkFn = mock(SinkFunction.class); SinkOperatorImpl<TestOutputMessageEnvelope> sinkImpl = createSinkOperator(sinkFn); sinkImpl.handleMessage(mockMsg, mockCollector, mockCoordinator); verify(sinkFn, times(1)).apply(mockMsg, mockCollector, mockCoordinator); // ensure that close is not called yet verify(sinkFn, times(0)).close(); sinkImpl.handleClose(); // ensure that close is called once from handleClose() verify(sinkFn, times(1)).close(); }