package com.lambdaworks.redis.issue42; import static com.google.code.tempusfugit.temporal.Duration.*; import static com.google.code.tempusfugit.temporal.Timeout.*; import java.util.concurrent.TimeUnit; import com.lambdaworks.category.SlowTests; import com.lambdaworks.redis.FastShutdown; import org.junit.*; import com.google.code.tempusfugit.temporal.Condition; import com.google.code.tempusfugit.temporal.Duration; import com.google.code.tempusfugit.temporal.ThreadSleep; import com.google.code.tempusfugit.temporal.WaitFor; import com.lambdaworks.redis.RedisURI; import com.lambdaworks.redis.TestSettings; import com.lambdaworks.redis.cluster.ClusterRule; import com.lambdaworks.redis.cluster.RedisClusterClient; import com.lambdaworks.redis.cluster.api.sync.RedisClusterCommands; @SlowTests @Ignore("Run me manually") public class BreakClusterClientTest extends BreakClientBase { public static final String host = TestSettings.hostAddr(); public static final int port1 = 7379; public static final int port2 = 7380; public static final int port3 = 7381; public static final int port4 = 7382; private static RedisClusterClient clusterClient; private RedisClusterCommands<String, String> clusterConnection; @Rule public ClusterRule clusterRule = new ClusterRule(clusterClient, port1, port2, port3, port4); @BeforeClass public static void setupClient() { clusterClient = new RedisClusterClient(RedisURI.Builder.redis(host, port1).withTimeout(TIMEOUT, TimeUnit.SECONDS) .build()); } @AfterClass public static void shutdownClient() { FastShutdown.shutdown(clusterClient); } @Before public void setUp() throws Exception { WaitFor.waitOrTimeout(new Condition() { @Override public boolean isSatisfied() { return clusterRule.isStable(); } }, timeout(seconds(5)), new ThreadSleep(Duration.millis(500))); clusterConnection = clusterClient.connectCluster(this.slowCodec); } @After public void tearDown() throws Exception { clusterConnection.close(); } @Test public void testStandAlone() throws Exception { testSingle(clusterConnection); } @Test public void testLooping() throws Exception { testLoop(clusterConnection); } }