RedissonTest.testReconnection test added #914

pull/709/merge
Nikita 8 years ago
parent 8de0f4314c
commit fe3d72e37e

@ -923,6 +923,10 @@ public class RedisRunner {
}
}
public String getDefaultDir() {
return runner.getDefaultDir();
}
public Process getRedisProcess() {
return redisProcess;
}
@ -993,6 +997,10 @@ public class RedisRunner {
return defaultRedisInstance.createRedisClientInstance();
}
public String getDefaultDir() {
return defaultDir;
}
public static RedisRunner.RedisProcess getDefaultRedisServerInstance() {
return defaultRedisInstance;
}

@ -14,6 +14,7 @@ import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.TimeoutException;
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.concurrent.atomic.AtomicInteger;
import org.junit.After;
@ -293,6 +294,48 @@ public class RedissonTest {
await().atMost(2, TimeUnit.SECONDS).until(() -> assertThat(disconnectCounter.get()).isEqualTo(1));
}
@Test
public void testReconnection() throws IOException, InterruptedException, TimeoutException {
RedisProcess runner = new RedisRunner()
.appendonly(true)
.randomDir()
.randomPort()
.run();
Config config = new Config();
config.useSingleServer().setAddress(runner.getRedisServerAddressAndPort());
RedissonClient r = Redisson.create(config);
r.getBucket("myBucket").set(1);
assertThat(r.getBucket("myBucket").get()).isEqualTo(1);
Assert.assertEquals(0, runner.stop());
AtomicBoolean hasError = new AtomicBoolean();
try {
r.getBucket("myBucket").get();
} catch (Exception e) {
// skip error
hasError.set(true);
}
assertThat(hasError.get()).isTrue();
RedisProcess pp = new RedisRunner()
.appendonly(true)
.port(runner.getRedisServerPort())
.dir(runner.getDefaultDir())
.run();
assertThat(r.getBucket("myBucket").get()).isEqualTo(1);
r.shutdown();
Assert.assertEquals(0, pp.stop());
}
@Test
public void testShutdown() {
Config config = new Config();

Loading…
Cancel
Save