package biz.paluch.logging.gelf.intern.sender; import static org.assertj.core.api.Assertions.assertThat; import java.io.IOException; import java.lang.reflect.Field; import java.util.Set; import org.junit.jupiter.api.Test; import biz.paluch.logging.gelf.intern.GelfMessage; /** * @author Mark Paluch */ public class GelfREDISSenderIntegrationTests { @Test public void recursiveCallIsBlocked() throws Exception { TestGefRedisSender sut = new TestGefRedisSender(); sut.sendMessage(new GelfMessage()); Field field = GelfREDISSender.class.getDeclaredField("callers"); field.setAccessible(true); Set<?> callers = (Set<?>) field.get(sut); assertThat(callers).isEmpty(); } static class TestGefRedisSender extends GelfREDISSender { public TestGefRedisSender() throws IOException { super(null, null, null); } @Override protected boolean sendMessage0(GelfMessage message) { // recursive call return super.sendMessage(message); } } }