@Test public void testExecuteTuple() throws Exception { Mockito.when(mockWaterMarkEventGenerator.track(Mockito.any(), Mockito.anyLong())).thenReturn(true); Tuple mockTuple = Mockito.mock(Tuple.class); executor.initState(null); executor.waterMarkEventGenerator = mockWaterMarkEventGenerator; executor.execute(mockTuple); // should be ack-ed once Mockito.verify(mockOutputCollector, Mockito.times(1)).ack(mockTuple); }
@Test public void testRollbackAfterInit() throws Exception { executor.initState(null); executor.prePrepare(0); executor.preRollback(); Mockito.verify(mockBolt, Mockito.times(1)).preRollback(); Mockito.verify(mockPartitionState, Mockito.times(1)).rollback(); ArgumentCaptor<String> stringArgumentCaptor = ArgumentCaptor.forClass(String.class); Mockito.verify(mockPartitionState, Mockito.times(2)).put(stringArgumentCaptor.capture(), partitionValuesCaptor.capture()); Mockito.verify(mockWindowState, Mockito.times(1)).rollback(); Mockito.verify(mockSystemState, Mockito.times(1)).rollback(); Mockito.verify(mockSystemState, Mockito.times(2)).iterator(); }
@Test public void testExecuteLatetuple() throws Exception { Mockito.when(mockWaterMarkEventGenerator.track(Mockito.any(), Mockito.anyLong())).thenReturn(false); Tuple mockTuple = Mockito.mock(Tuple.class); executor.initState(null); executor.waterMarkEventGenerator = mockWaterMarkEventGenerator; executor.execute(mockTuple); // ack-ed once Mockito.verify(mockOutputCollector, Mockito.times(1)).ack(mockTuple); // late tuple emitted ArgumentCaptor<String> stringCaptor = ArgumentCaptor.forClass(String.class); Mockito.verify(mockOutputCollector, Mockito.times(1)) .emit(stringCaptor.capture(), anchorCaptor.capture(), valuesCaptor.capture()); Assert.assertEquals(LATE_STREAM, stringCaptor.getValue()); Assert.assertEquals(Collections.singletonList(mockTuple), anchorCaptor.getValue()); Assert.assertEquals(new Values(mockTuple), valuesCaptor.getValue()); }
@Test public void testCacheEviction() { Mockito.when(mockWaterMarkEventGenerator.track(Mockito.any(), Mockito.anyLong())).thenReturn(true); executor.initState(null); executor.waterMarkEventGenerator = mockWaterMarkEventGenerator; int tupleCount = 20000;
@Test public void testActivation() throws Exception { Mockito.when(mockWaterMarkEventGenerator.track(Mockito.any(), Mockito.anyLong())).thenReturn(true); executor.initState(null); executor.waterMarkEventGenerator = mockWaterMarkEventGenerator;