package vnet.sms.gateway.nettysupport.logging.incoming;
import static org.junit.Assert.assertNull;
import org.junit.Test;
import org.slf4j.MDC;
import vnet.sms.common.messages.PingRequest;
import vnet.sms.gateway.nettysupport.test.ObjectSerializationTransportProtocolAdaptingUpstreamChannelHandler;
import vnet.sms.gateway.nettytest.embedded.ChannelPipelineEmbedder;
import vnet.sms.gateway.nettytest.embedded.DefaultChannelPipelineEmbedder;
public class ChannelContextLoggingUpstreamChannelHandlerTest {
@Test
public final void assertThatChannelContextLoggingUpstreamChannelHandlerRemovedCurrentChannelFromMDCAfterReturning()
throws Throwable {
final ChannelContextLoggingUpstreamChannelHandler objectUnderTest = new ChannelContextLoggingUpstreamChannelHandler();
final ChannelPipelineEmbedder embeddedPipeline = new DefaultChannelPipelineEmbedder(
new ObjectSerializationTransportProtocolAdaptingUpstreamChannelHandler(),
objectUnderTest);
embeddedPipeline.connectChannel();
final PingRequest pingRequest = new PingRequest();
embeddedPipeline.receive(pingRequest);
final String currentChannelInMdc = MDC
.get(ChannelContextLoggingUpstreamChannelHandler.CURRENT_CHANNEL_MDC_KEY);
assertNull(
"ChannelContextLoggingUpstreamChannelHandler did not remove current channel from MDC after returning",
currentChannelInMdc);
}
}