package voldemort.server.socket; import java.util.Arrays; import java.util.Collection; import org.junit.After; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.Parameterized; import org.junit.runners.Parameterized.Parameters; import voldemort.ServerTestUtils; import voldemort.VoldemortException; import voldemort.VoldemortTestConstants; import voldemort.server.AbstractSocketService; @RunWith(Parameterized.class) public class SocketServerTest { private AbstractSocketService socketService; private int port; private final boolean useNio; public SocketServerTest(boolean useNio) { this.useNio = useNio; } @Parameters public static Collection<Object[]> configs() { return Arrays.asList(new Object[][] { { true }, { false } }); } @Before public void setUp() { port = ServerTestUtils.findFreePort(); socketService = createSocketService(); socketService.start(); } @After public void tearDown() { socketService.stop(); } private AbstractSocketService createSocketService() { return ServerTestUtils.getSocketService(useNio, VoldemortTestConstants.getOneNodeClusterXml(), VoldemortTestConstants.getSimpleStoreDefinitionsXml(), "test", port); } @Test(expected = VoldemortException.class) public void testStartOnUsedPortThrowsVoldemortException() { createSocketService().start(); } }