@Test
public void testRemoveChannelFromBufferCallInGetLogBufferInRecursiveJobExecution() {
StringBuffer sb = new StringBuffer( "Event previously executed for the same Job" );
LoggingBuffer lb = mock( LoggingBuffer.class );
doReturn( sb ).when( lb ).getBuffer( anyString(), anyBoolean() );
mockStatic( KettleLogStore.class );
mockStatic( Utils.class );
mockStatic( Const.class );
when( KettleLogStore.getAppender() ).thenReturn( lb );
BaseLogTable baseLogTable = mock( BaseLogTable.class );
doCallRealMethod().when( baseLogTable ).getLogBuffer( any( VariableSpace.class ), anyString(), any( LogStatus.class ), anyString() );
VariableSpace vs = mock( VariableSpace.class );
String s1 = baseLogTable.getLogBuffer( vs, "1", LogStatus.START, null );
String s2 = baseLogTable.getLogBuffer( vs, "1", LogStatus.END, null );
s1 = s1.replace( "Event previously executed for the same Job", "" );
s2 = s2.replace( "Event previously executed for the same Job", "" );
assertEquals( Const.CR + "START" + Const.CR, s1 );
assertEquals( Const.CR + "START" + Const.CR, s1 + Const.CR + "END" + Const.CR, s2 );
verify( lb, times( 1 ) ).removeChannelFromBuffer( "1" );
}