package io.craft.atom.nio; import io.craft.atom.io.Channel; import io.craft.atom.io.IoConnector; import io.craft.atom.nio.NioTcpConnector; import io.craft.atom.nio.api.NioFactory; import io.craft.atom.test.AvailablePortFinder; import io.craft.atom.test.CaseCounter; import java.io.IOException; import java.util.concurrent.ExecutionException; import java.util.concurrent.Future; import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeoutException; import org.junit.Assert; import org.junit.Test; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * Tests for {@link NioTcpConnector} * * @author mindwind * @version 1.0, 2011-12-20 */ public class TestNioTcpConnector { private static final Logger LOG = LoggerFactory.getLogger(TestNioTcpConnector.class); @Test public void testTimeout() throws IOException { IoConnector connector = NioFactory.newTcpConnector(new NioConnectorHandler()); Future<Channel<byte[]>> future = connector.connect("127.0.0.1", AvailablePortFinder.getNextAvailable()); try { future.get(200, TimeUnit.MILLISECONDS); Assert.fail(); } catch (InterruptedException e) { } catch (ExecutionException e) { } catch (TimeoutException e) { LOG.debug("[CRAFT-ATOM-NIO] Test catch timeout exception"); Assert.assertTrue(true); } System.out.println(String.format("[CRAFT-ATOM-NIO] (^_^) <%s> Case -> test nio tcp connector timeout. ", CaseCounter.incr(1))); } }