package vnet.sms.gateway.nettysupport.monitor.outgoing;
import static org.junit.Assert.assertEquals;
import org.junit.Test;
import vnet.sms.common.messages.GsmPdu;
import vnet.sms.common.messages.PingRequest;
import vnet.sms.gateway.nettytest.embedded.ChannelPipelineEmbedder;
import vnet.sms.gateway.nettytest.embedded.DefaultChannelPipelineEmbedder;
import com.yammer.metrics.Metrics;
public class OutgoingPdusCountingChannelHandlerTest {
private final OutgoingPdusCountingChannelHandler<GsmPdu> objectUnderTest = new OutgoingPdusCountingChannelHandler<GsmPdu>(
GsmPdu.class,
Metrics.defaultRegistry());
@Test
public final void assertThatWriteRequestedCorrectlyUpdatesNumberOfSentPdus()
throws Throwable {
final int numberOfSentPdus = 32;
final ChannelPipelineEmbedder embeddedPipeline = new DefaultChannelPipelineEmbedder(
this.objectUnderTest);
embeddedPipeline.connectChannel();
for (int i = 0; i < numberOfSentPdus; i++) {
embeddedPipeline.send(new PingRequest());
}
assertEquals(
"OutgoingPdusCountingChannelHandler did not correctly count number of sent PDUs",
numberOfSentPdus, this.objectUnderTest.getNumberOfSentPdus()
.count());
}
}