All tests now uses random port number to run redis

pull/616/head
jackygurui 9 years ago
parent a51f82fca0
commit 1ca644b54c

@ -786,6 +786,10 @@ public class RedisRunner {
public String getRedisServerBindAddress() {
return runner.getInitialBindAddr();
}
public String getRedisServerAddressAndPort() {
return getRedisServerBindAddress() + ":" + getRedisServerPort();
}
}
public static RedisRunner.RedisProcess startDefaultRedisServerInstance() throws IOException, InterruptedException, FailedToStartRedisException {

@ -31,13 +31,13 @@ public class RedissonBlockingQueueTest extends BaseTest {
@Test
public void testPollWithBrokenConnection() throws IOException, InterruptedException, ExecutionException {
RedisProcess runner = new RedisRunner()
.port(6319)
.nosave()
.randomDir()
.randomPort()
.run();
Config config = new Config();
config.useSingleServer().setAddress("127.0.0.1:6319");
config.useSingleServer().setAddress(runner.getRedisServerAddressAndPort());
RedissonClient redisson = Redisson.create(config);
final RBlockingQueue<Integer> queue1 = redisson.getBlockingQueue("queue:pollTimeout");
RFuture<Integer> f = queue1.pollAsync(5, TimeUnit.SECONDS);
@ -53,13 +53,13 @@ public class RedissonBlockingQueueTest extends BaseTest {
@Test
public void testPollReattach() throws InterruptedException, IOException, ExecutionException, TimeoutException {
RedisProcess runner = new RedisRunner()
.port(6319)
.nosave()
.randomDir()
.randomPort()
.run();
Config config = new Config();
config.useSingleServer().setAddress("127.0.0.1:6319");
config.useSingleServer().setAddress(runner.getRedisServerAddressAndPort());
RedissonClient redisson = Redisson.create(config);
final AtomicBoolean executed = new AtomicBoolean();
@ -85,7 +85,7 @@ public class RedissonBlockingQueueTest extends BaseTest {
runner.stop();
runner = new RedisRunner()
.port(6319)
.port(runner.getRedisServerPort())
.nosave()
.randomDir()
.run();
@ -105,13 +105,13 @@ public class RedissonBlockingQueueTest extends BaseTest {
@Test
public void testPollAsyncReattach() throws InterruptedException, IOException, ExecutionException, TimeoutException {
RedisProcess runner = new RedisRunner()
.port(6319)
.nosave()
.randomDir()
.randomPort()
.run();
Config config = new Config();
config.useSingleServer().setAddress("127.0.0.1:6319");
config.useSingleServer().setAddress(runner.getRedisServerAddressAndPort());
RedissonClient redisson = Redisson.create(config);
RBlockingQueue<Integer> queue1 = redisson.getBlockingQueue("queue:pollany");
@ -120,7 +120,7 @@ public class RedissonBlockingQueueTest extends BaseTest {
runner.stop();
runner = new RedisRunner()
.port(6319)
.port(runner.getRedisServerPort())
.nosave()
.randomDir()
.run();
@ -141,13 +141,13 @@ public class RedissonBlockingQueueTest extends BaseTest {
@Test
public void testTakeReattach() throws InterruptedException, IOException, ExecutionException, TimeoutException {
RedisProcess runner = new RedisRunner()
.port(6319)
.nosave()
.randomDir()
.randomPort()
.run();
Config config = new Config();
config.useSingleServer().setAddress("127.0.0.1:6319");
config.useSingleServer().setAddress(runner.getRedisServerAddressAndPort());
RedissonClient redisson = Redisson.create(config);
RBlockingQueue<Integer> queue1 = redisson.getBlockingQueue("testTakeReattach");
RFuture<Integer> f = queue1.takeAsync();
@ -155,7 +155,7 @@ public class RedissonBlockingQueueTest extends BaseTest {
runner.stop();
runner = new RedisRunner()
.port(6319)
.port(runner.getRedisServerPort())
.nosave()
.randomDir()
.run();

@ -220,13 +220,13 @@ public class RedissonBoundedBlockingQueueTest extends BaseTest {
@Test
public void testPollWithBrokenConnection() throws IOException, InterruptedException, ExecutionException {
RedisProcess runner = new RedisRunner()
.port(6319)
.nosave()
.randomDir()
.randomPort()
.run();
Config config = new Config();
config.useSingleServer().setAddress("127.0.0.1:6319");
config.useSingleServer().setAddress(runner.getRedisServerAddressAndPort());
RedissonClient redisson = Redisson.create(config);
final RBoundedBlockingQueue<Integer> queue1 = redisson.getBoundedBlockingQueue("bounded-queue:pollTimeout");
assertThat(queue1.trySetCapacity(5)).isTrue();
@ -243,13 +243,13 @@ public class RedissonBoundedBlockingQueueTest extends BaseTest {
@Test
public void testPollReattach() throws InterruptedException, IOException, ExecutionException, TimeoutException {
RedisProcess runner = new RedisRunner()
.port(6319)
.nosave()
.randomDir()
.randomPort()
.run();
Config config = new Config();
config.useSingleServer().setAddress("127.0.0.1:6319");
config.useSingleServer().setAddress(runner.getRedisServerAddressAndPort());
RedissonClient redisson = Redisson.create(config);
redisson.getKeys().flushall();
@ -277,7 +277,7 @@ public class RedissonBoundedBlockingQueueTest extends BaseTest {
runner.stop();
runner = new RedisRunner()
.port(6319)
.port(runner.getRedisServerPort())
.nosave()
.randomDir()
.run();
@ -298,13 +298,13 @@ public class RedissonBoundedBlockingQueueTest extends BaseTest {
@Test
public void testPollAsyncReattach() throws InterruptedException, IOException, ExecutionException, TimeoutException {
RedisProcess runner = new RedisRunner()
.port(6319)
.nosave()
.randomDir()
.randomPort()
.run();
Config config = new Config();
config.useSingleServer().setAddress("127.0.0.1:6319");
config.useSingleServer().setAddress(runner.getRedisServerAddressAndPort());
RedissonClient redisson = Redisson.create(config);
RBoundedBlockingQueue<Integer> queue1 = redisson.getBoundedBlockingQueue("queue:pollany");
@ -313,7 +313,7 @@ public class RedissonBoundedBlockingQueueTest extends BaseTest {
runner.stop();
runner = new RedisRunner()
.port(6319)
.port(runner.getRedisServerPort())
.nosave()
.randomDir()
.run();
@ -335,13 +335,13 @@ public class RedissonBoundedBlockingQueueTest extends BaseTest {
@Test
public void testTakeReattach() throws InterruptedException, IOException, ExecutionException, TimeoutException {
RedisProcess runner = new RedisRunner()
.port(6319)
.nosave()
.randomDir()
.randomPort()
.run();
Config config = new Config();
config.useSingleServer().setAddress("127.0.0.1:6319");
config.useSingleServer().setAddress(runner.getRedisServerAddressAndPort());
RedissonClient redisson = Redisson.create(config);
redisson.getKeys().flushall();
@ -352,7 +352,7 @@ public class RedissonBoundedBlockingQueueTest extends BaseTest {
runner.stop();
runner = new RedisRunner()
.port(6319)
.port(runner.getRedisServerPort())
.nosave()
.randomDir()
.run();

@ -27,10 +27,10 @@ public class RedissonMultiLockTest {
@Test
public void testMultiThreads() throws IOException, InterruptedException {
RedisProcess redis1 = redisTestMultilockInstance(6320);
RedisProcess redis1 = redisTestMultilockInstance();
Config config1 = new Config();
config1.useSingleServer().setAddress("127.0.0.1:6320");
config1.useSingleServer().setAddress(redis1.getRedisServerAddressAndPort());
RedissonClient client = Redisson.create(config1);
RLock lock1 = client.getLock("lock1");
@ -62,15 +62,15 @@ public class RedissonMultiLockTest {
@Test
public void test() throws IOException, InterruptedException {
RedisProcess redis1 = redisTestMultilockInstance(6320);
RedisProcess redis2 = redisTestMultilockInstance(6321);
RedisProcess redis3 = redisTestMultilockInstance(6322);
RedisProcess redis1 = redisTestMultilockInstance();
RedisProcess redis2 = redisTestMultilockInstance();
RedisProcess redis3 = redisTestMultilockInstance();
NioEventLoopGroup group = new NioEventLoopGroup();
RedissonClient client1 = createClient(group, "127.0.0.1:6320");
RedissonClient client2 = createClient(group, "127.0.0.1:6321");
RedissonClient client3 = createClient(group, "127.0.0.1:6322");
RedissonClient client1 = createClient(group, redis1.getRedisServerAddressAndPort());
RedissonClient client2 = createClient(group, redis2.getRedisServerAddressAndPort());
RedissonClient client3 = createClient(group, redis3.getRedisServerAddressAndPort());
final RLock lock1 = client1.getLock("lock1");
final RLock lock2 = client2.getLock("lock2");
@ -117,11 +117,11 @@ public class RedissonMultiLockTest {
return client1;
}
private RedisProcess redisTestMultilockInstance(int port) throws IOException, InterruptedException {
private RedisProcess redisTestMultilockInstance() throws IOException, InterruptedException {
return new RedisRunner()
.nosave()
.randomDir()
.port(port)
.randomPort()
.run();
}

@ -29,11 +29,11 @@ public class RedissonRedLockTest {
@Test
public void testLockFailed() throws IOException, InterruptedException {
RedisProcess redis1 = redisTestMultilockInstance(6320);
RedisProcess redis2 = redisTestMultilockInstance(6321);
RedisProcess redis1 = redisTestMultilockInstance();
RedisProcess redis2 = redisTestMultilockInstance();
RedissonClient client1 = createClient("127.0.0.1:6320");
RedissonClient client2 = createClient("127.0.0.1:6321");
RedissonClient client1 = createClient(redis1.getRedisServerAddressAndPort());
RedissonClient client2 = createClient(redis2.getRedisServerAddressAndPort());
RLock lock1 = client1.getLock("lock1");
RLock lock2 = client1.getLock("lock2");
@ -67,11 +67,11 @@ public class RedissonRedLockTest {
@Test
public void testLockSuccess() throws IOException, InterruptedException {
RedisProcess redis1 = redisTestMultilockInstance(6320);
RedisProcess redis2 = redisTestMultilockInstance(6321);
RedisProcess redis1 = redisTestMultilockInstance();
RedisProcess redis2 = redisTestMultilockInstance();
RedissonClient client1 = createClient("127.0.0.1:6320");
RedissonClient client2 = createClient("127.0.0.1:6321");
RedissonClient client1 = createClient(redis1.getRedisServerAddressAndPort());
RedissonClient client2 = createClient(redis2.getRedisServerAddressAndPort());
RLock lock1 = client1.getLock("lock1");
RLock lock2 = client1.getLock("lock2");
@ -113,11 +113,11 @@ public class RedissonRedLockTest {
@Test
public void testConnectionFailed() throws IOException, InterruptedException {
RedisProcess redis1 = redisTestMultilockInstance(6320);
RedisProcess redis2 = redisTestMultilockInstance(6321);
RedisProcess redis1 = redisTestMultilockInstance();
RedisProcess redis2 = redisTestMultilockInstance();
RedissonClient client1 = createClient("127.0.0.1:6320");
RedissonClient client2 = createClient("127.0.0.1:6321");
RedissonClient client1 = createClient(redis1.getRedisServerAddressAndPort());
RedissonClient client2 = createClient(redis2.getRedisServerAddressAndPort());
RLock lock1 = client1.getLock("lock1");
RLock lock2 = client1.getLock("lock2");
@ -150,10 +150,10 @@ public class RedissonRedLockTest {
// @Test
public void testMultiThreads() throws IOException, InterruptedException {
RedisProcess redis1 = redisTestMultilockInstance(6320);
RedisProcess redis1 = redisTestMultilockInstance();
Config config1 = new Config();
config1.useSingleServer().setAddress("127.0.0.1:6320");
config1.useSingleServer().setAddress(redis1.getRedisServerAddressAndPort());
RedissonClient client = Redisson.create(config1);
RLock lock1 = client.getLock("lock1");
@ -185,15 +185,15 @@ public class RedissonRedLockTest {
// @Test
public void test() throws IOException, InterruptedException {
RedisProcess redis1 = redisTestMultilockInstance(6320);
RedisProcess redis2 = redisTestMultilockInstance(6321);
RedisProcess redis3 = redisTestMultilockInstance(6322);
RedisProcess redis1 = redisTestMultilockInstance();
RedisProcess redis2 = redisTestMultilockInstance();
RedisProcess redis3 = redisTestMultilockInstance();
NioEventLoopGroup group = new NioEventLoopGroup();
RedissonClient client1 = createClient(group, "127.0.0.1:6320");
RedissonClient client2 = createClient(group, "127.0.0.1:6321");
RedissonClient client3 = createClient(group, "127.0.0.1:6322");
RedissonClient client1 = createClient(group, redis1.getRedisServerAddressAndPort());
RedissonClient client2 = createClient(group, redis2.getRedisServerAddressAndPort());
RedissonClient client3 = createClient(group, redis3.getRedisServerAddressAndPort());
final RLock lock1 = client1.getLock("lock1");
final RLock lock2 = client2.getLock("lock2");
@ -240,11 +240,11 @@ public class RedissonRedLockTest {
return client1;
}
private RedisProcess redisTestMultilockInstance(int port) throws IOException, InterruptedException {
private RedisProcess redisTestMultilockInstance() throws IOException, InterruptedException {
return new RedisRunner()
.nosave()
.randomDir()
.port(port)
.randomPort()
.run();
}

@ -249,7 +249,7 @@ public class RedissonSemaphoreTest extends BaseConcurrentTest {
@Test
public void testConcurrency_MultiInstance_10_permits() throws InterruptedException {
Assume.assumeFalse(Boolean.valueOf(System.getProperty("travisEnv")));
Assume.assumeFalse(RedissonRuntimeEnvironment.isTravis);
int iterations = 100;
final AtomicInteger lockedCounter = new AtomicInteger();

@ -128,7 +128,7 @@ public class RedissonTest {
RedisProcess p = redisTestSmallMemory();
Config config = new Config();
config.useSingleServer().setAddress("127.0.0.1:6319").setTimeout(100000);
config.useSingleServer().setAddress(p.getRedisServerAddressAndPort()).setTimeout(100000);
try {
RedissonClient r = Redisson.create(config);
@ -146,7 +146,7 @@ public class RedissonTest {
RedisProcess p = redisTestSmallMemory();
Config config = new Config();
config.useSingleServer().setAddress("127.0.0.1:6319").setTimeout(100000);
config.useSingleServer().setAddress(p.getRedisServerAddressAndPort()).setTimeout(100000);
try {
RedissonClient r = Redisson.create(config);
@ -171,13 +171,13 @@ public class RedissonTest {
@Test
public void testConnectionListener() throws IOException, InterruptedException, TimeoutException {
RedisProcess p = redisTestConnection();
final RedisProcess p = redisTestConnection();
final AtomicInteger connectCounter = new AtomicInteger();
final AtomicInteger disconnectCounter = new AtomicInteger();
Config config = new Config();
config.useSingleServer().setAddress("127.0.0.1:6319");
config.useSingleServer().setAddress(p.getRedisServerAddressAndPort());
RedissonClient r = Redisson.create(config);
@ -185,13 +185,13 @@ public class RedissonTest {
@Override
public void onDisconnect(InetSocketAddress addr) {
assertThat(addr).isEqualTo(new InetSocketAddress("127.0.0.1", 6319));
assertThat(addr).isEqualTo(new InetSocketAddress(p.getRedisServerBindAddress(), p.getRedisServerPort()));
disconnectCounter.incrementAndGet();
}
@Override
public void onConnect(InetSocketAddress addr) {
assertThat(addr).isEqualTo(new InetSocketAddress("127.0.0.1", 6319));
assertThat(addr).isEqualTo(new InetSocketAddress(p.getRedisServerBindAddress(), p.getRedisServerPort()));
connectCounter.incrementAndGet();
}
});
@ -206,13 +206,17 @@ public class RedissonTest {
} catch (Exception e) {
}
p = redisTestConnection();
RedisProcess pp = new RedisRunner()
.nosave()
.port(p.getRedisServerPort())
.randomDir()
.run();
r.getBucket("1").get();
r.shutdown();
Assert.assertEquals(0, p.stop());
Assert.assertEquals(0, pp.stop());
await().atMost(1, TimeUnit.SECONDS).until(() -> assertThat(connectCounter.get()).isEqualTo(1));
await().until(() -> assertThat(disconnectCounter.get()).isEqualTo(1));
@ -300,7 +304,7 @@ public class RedissonTest {
@Test(expected = RedisConnectionException.class)
public void testSingleConnectionFail() throws InterruptedException {
Config config = new Config();
config.useSingleServer().setAddress("127.0.0.1:1111");
config.useSingleServer().setAddress("127.99.0.1:1111");
Redisson.create(config);
Thread.sleep(1500);
@ -309,7 +313,7 @@ public class RedissonTest {
@Test(expected = RedisConnectionException.class)
public void testClusterConnectionFail() throws InterruptedException {
Config config = new Config();
config.useClusterServers().addNodeAddress("127.0.0.1:1111");
config.useClusterServers().addNodeAddress("127.99.0.1:1111");
Redisson.create(config);
Thread.sleep(1500);
@ -318,7 +322,7 @@ public class RedissonTest {
@Test(expected = RedisConnectionException.class)
public void testElasticacheConnectionFail() throws InterruptedException {
Config config = new Config();
config.useElasticacheServers().addNodeAddress("127.0.0.1:1111");
config.useElasticacheServers().addNodeAddress("127.99.0.1:1111");
Redisson.create(config);
Thread.sleep(1500);
@ -327,7 +331,7 @@ public class RedissonTest {
@Test(expected = RedisConnectionException.class)
public void testMasterSlaveConnectionFail() throws InterruptedException {
Config config = new Config();
config.useMasterSlaveServers().setMasterAddress("127.0.0.1:1111");
config.useMasterSlaveServers().setMasterAddress("127.99.0.1:1111");
Redisson.create(config);
Thread.sleep(1500);
@ -336,7 +340,7 @@ public class RedissonTest {
@Test(expected = RedisConnectionException.class)
public void testSentinelConnectionFail() throws InterruptedException {
Config config = new Config();
config.useSentinelServers().addSentinelAddress("127.0.0.1:1111");
config.useSentinelServers().addSentinelAddress("127.99.0.1:1111");
Redisson.create(config);
Thread.sleep(1500);
@ -344,7 +348,7 @@ public class RedissonTest {
@Test
public void testManyConnections() {
Assume.assumeFalse(Boolean.valueOf(System.getProperty("travisEnv")));
Assume.assumeFalse(RedissonRuntimeEnvironment.isTravis);
Config redisConfig = new Config();
redisConfig.useSingleServer()
.setConnectionMinimumIdleSize(10000)
@ -359,7 +363,7 @@ public class RedissonTest {
.maxmemory("1mb")
.nosave()
.randomDir()
.port(6319)
.randomPort()
.run();
}
@ -367,7 +371,7 @@ public class RedissonTest {
return new RedisRunner()
.nosave()
.randomDir()
.port(6319)
.randomPort()
.run();
}

@ -280,13 +280,13 @@ public class RedissonTopicPatternTest {
@Test
public void testReattach() throws InterruptedException, IOException, ExecutionException, TimeoutException {
RedisProcess runner = new RedisRunner()
.port(6319)
.nosave()
.randomDir()
.randomPort()
.run();
Config config = new Config();
config.useSingleServer().setAddress("127.0.0.1:6319");
config.useSingleServer().setAddress(runner.getRedisServerAddressAndPort());
RedissonClient redisson = Redisson.create(config);
final AtomicBoolean executed = new AtomicBoolean();
@ -304,7 +304,7 @@ public class RedissonTopicPatternTest {
runner.stop();
runner = new RedisRunner()
.port(6319)
.port(runner.getRedisServerPort())
.nosave()
.randomDir()
.run();

@ -435,13 +435,13 @@ public class RedissonTopicTest {
@Test
public void testReattach() throws InterruptedException, IOException, ExecutionException, TimeoutException {
RedisProcess runner = new RedisRunner()
.port(6319)
.nosave()
.randomDir()
.randomPort()
.run();
Config config = new Config();
config.useSingleServer().setAddress("127.0.0.1:6319");
config.useSingleServer().setAddress(runner.getRedisServerAddressAndPort());
RedissonClient redisson = Redisson.create(config);
final AtomicBoolean executed = new AtomicBoolean();
@ -459,7 +459,7 @@ public class RedissonTopicTest {
runner.stop();
runner = new RedisRunner()
.port(6319)
.port(runner.getRedisServerPort())
.nosave()
.randomDir()
.run();

@ -32,20 +32,18 @@ public class WeightedRoundRobinBalancerTest {
RedisProcess slave = null;
RedissonClient client = null;
try {
int mPort = RedisRunner.findFreePort();
int sPort = RedisRunner.findFreePort();
master = redisTestInstance(mPort);
slave = redisTestInstance(sPort);
master = redisTestInstance();
slave = redisTestInstance();
Map<String, Integer> weights = new HashMap<>();
weights.put("127.0.0.1:" + mPort, 1);
weights.put("127.0.0.1:" + sPort, 2);
weights.put(master.getRedisServerAddressAndPort(), 1);
weights.put(slave.getRedisServerAddressAndPort(), 2);
Config config = new Config();
config.useMasterSlaveServers()
.setReadMode(ReadMode.SLAVE)
.setMasterAddress("127.0.0.1:" + mPort)
.addSlaveAddress("127.0.0.1:" + sPort)
.setMasterAddress(master.getRedisServerAddressAndPort())
.addSlaveAddress(slave.getRedisServerAddressAndPort())
.setLoadBalancer(new WeightedRoundRobinBalancer(weights, 1));
client = Redisson.create(config);
@ -70,10 +68,11 @@ public class WeightedRoundRobinBalancerTest {
}
}
private RedisProcess redisTestInstance(int port) throws IOException, InterruptedException {
private RedisProcess redisTestInstance() throws IOException, InterruptedException {
return new RedisRunner()
.nosave()
.randomDir()
.port(port).run();
.randomPort()
.run();
}
}

Loading…
Cancel
Save