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() { public Process getRedisProcess() {
return redisProcess; return redisProcess;
} }
@ -993,6 +997,10 @@ public class RedisRunner {
return defaultRedisInstance.createRedisClientInstance(); return defaultRedisInstance.createRedisClientInstance();
} }
public String getDefaultDir() {
return defaultDir;
}
public static RedisRunner.RedisProcess getDefaultRedisServerInstance() { public static RedisRunner.RedisProcess getDefaultRedisServerInstance() {
return defaultRedisInstance; return defaultRedisInstance;
} }

@ -14,6 +14,7 @@ import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors; import java.util.concurrent.Executors;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
import java.util.concurrent.TimeoutException; import java.util.concurrent.TimeoutException;
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.concurrent.atomic.AtomicInteger; import java.util.concurrent.atomic.AtomicInteger;
import org.junit.After; import org.junit.After;
@ -293,6 +294,48 @@ public class RedissonTest {
await().atMost(2, TimeUnit.SECONDS).until(() -> assertThat(disconnectCounter.get()).isEqualTo(1)); 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 @Test
public void testShutdown() { public void testShutdown() {
Config config = new Config(); Config config = new Config();

Loading…
Cancel
Save