blob: ddcdd6f5cf83f61e9d4efcacef8635813df321c9 [file] [log] [blame]
Madan Jampanif1d425a2014-10-07 09:52:36 -07001package org.onlab.netty;
2
Madan Jampani24f9efb2014-10-24 18:56:23 -07003import java.util.concurrent.Future;
Madan Jampanif1d425a2014-10-07 09:52:36 -07004import java.util.concurrent.TimeUnit;
5
Madan Jampani53e44e62014-10-07 12:39:51 -07006import org.apache.commons.lang3.RandomUtils;
Madan Jampani24f9efb2014-10-24 18:56:23 -07007
Madan Jampani53e44e62014-10-07 12:39:51 -07008import static org.junit.Assert.*;
Madan Jampani24f9efb2014-10-24 18:56:23 -07009
Madan Jampanif1d425a2014-10-07 09:52:36 -070010import org.junit.Test;
11
12/**
13 * Simple ping-pong test that exercises NettyMessagingService.
14 */
15public class PingPongTest {
16
17 @Test
18 public void testPingPong() throws Exception {
19 NettyMessagingService pinger = new NettyMessagingService(8085);
20 NettyMessagingService ponger = new NettyMessagingService(9086);
21 try {
22 pinger.activate();
23 ponger.activate();
Madan Jampanif1d425a2014-10-07 09:52:36 -070024 ponger.registerHandler("echo", new EchoHandler());
Madan Jampani53e44e62014-10-07 12:39:51 -070025 byte[] payload = RandomUtils.nextBytes(100);
Madan Jampani24f9efb2014-10-24 18:56:23 -070026 Future<byte[]> responseFuture = pinger.sendAndReceive(new Endpoint("localhost", 9086), "echo", payload);
27 assertArrayEquals(payload, responseFuture.get(10000, TimeUnit.MILLISECONDS));
Madan Jampanif1d425a2014-10-07 09:52:36 -070028 } finally {
29 pinger.deactivate();
30 ponger.deactivate();
31 }
32 }
33}