package com.lambdaworks.redis; import org.junit.BeforeClass; import org.junit.Test; import com.lambdaworks.redis.cluster.RedisClusterClient; import com.lambdaworks.redis.cluster.api.StatefulRedisClusterConnection; import com.lambdaworks.redis.cluster.api.async.AsyncNodeSelection; /** * @author Mark Paluch */ public class AllTheAPIsTest { private static RedisClient redisClient = DefaultRedisClient.get(); private static RedisClusterClient clusterClient; private static int clusterPort; @BeforeClass public static void beforeClass() throws Exception { clusterPort = TestSettings.port(900); clusterClient = RedisClusterClient.create(RedisURI.Builder.redis(TestSettings.host(), clusterPort).build()); } @BeforeClass public static void afterClass() throws Exception { if (clusterClient != null) { FastShutdown.shutdown(clusterClient); } } // Standalone @Test public void standaloneSync() throws Exception { redisClient.connect().close(); } @Test public void standaloneAsync() throws Exception { redisClient.connect().async().close(); } @Test public void standaloneReactive() throws Exception { redisClient.connect().reactive().close(); } @Test public void standaloneStateful() throws Exception { redisClient.connect().close(); } @Test public void deprecatedStandaloneAsync() throws Exception { redisClient.connectAsync().close(); } @Test public void deprecatedStandaloneReactive() throws Exception { redisClient.connectAsync().getStatefulConnection().reactive().close(); } @Test public void deprecatedStandaloneStateful() throws Exception { redisClient.connectAsync().getStatefulConnection().close(); } // PubSub @Test public void pubsubSync() throws Exception { redisClient.connectPubSub().close(); } @Test public void pubsubAsync() throws Exception { redisClient.connectPubSub().close(); } @Test public void pubsubReactive() throws Exception { redisClient.connectPubSub().close(); } @Test public void pubsubStateful() throws Exception { redisClient.connectPubSub().close(); } // Sentinel @Test public void sentinelSync() throws Exception { redisClient.connectSentinel().sync().close(); } @Test public void sentinelAsync() throws Exception { redisClient.connectSentinel().async().close(); } @Test public void sentinelReactive() throws Exception { redisClient.connectSentinel().reactive().close(); } @Test public void sentinelStateful() throws Exception { redisClient.connectSentinel().close(); } @Test public void deprecatedSentinelSync() throws Exception { redisClient.connectSentinelAsync().getStatefulConnection().sync().close(); } @Test public void deprecatedSentinelAsync() throws Exception { redisClient.connectSentinelAsync().getStatefulConnection().async().close(); } @Test public void deprecatedSentinelReactive() throws Exception { redisClient.connectSentinelAsync().getStatefulConnection().reactive().close(); } @Test public void deprecatedSentinelStateful() throws Exception { redisClient.connectSentinelAsync().getStatefulConnection().close(); } // Pool @Test public void poolSync() throws Exception { redisClient.pool().close(); } @Test public void poolAsync() throws Exception { redisClient.asyncPool().close(); } // Cluster @Test public void clusterSync() throws Exception { clusterClient.connect().sync().close(); } @Test public void clusterAsync() throws Exception { clusterClient.connect().async().close(); } @Test public void clusterReactive() throws Exception { clusterClient.connect().reactive().close(); } @Test public void clusterStateful() throws Exception { clusterClient.connect().close(); } @Test public void clusterPubSubSync() throws Exception { clusterClient.connectPubSub().sync().close(); } @Test public void clusterPubSubAsync() throws Exception { clusterClient.connectPubSub().async().close(); } @Test public void clusterPubSubReactive() throws Exception { clusterClient.connectPubSub().reactive().close(); } @Test public void clusterPubSubStateful() throws Exception { clusterClient.connectPubSub().close(); } @Test public void deprecatedClusterSync() throws Exception { clusterClient.connectCluster().getStatefulConnection().sync().close(); } @Test public void deprecatedClusterAsync() throws Exception { clusterClient.connectCluster().getStatefulConnection().async().close(); } @Test public void deprecatedClusterReactive() throws Exception { clusterClient.connectCluster().getStatefulConnection().reactive().close(); } @Test public void deprecatedClusterStateful() throws Exception { clusterClient.connectCluster().getStatefulConnection().close(); } // Advanced Cluster @Test public void advancedClusterSync() throws Exception { StatefulRedisClusterConnection<String, String> statefulConnection = clusterClient.connectCluster() .getStatefulConnection(); RedisURI uri = clusterClient.getPartitions().getPartition(0).getUri(); statefulConnection.getConnection(uri.getHost(), uri.getPort()).sync(); statefulConnection.close(); } @Test public void advancedClusterAsync() throws Exception { StatefulRedisClusterConnection<String, String> statefulConnection = clusterClient.connectCluster() .getStatefulConnection(); RedisURI uri = clusterClient.getPartitions().getPartition(0).getUri(); statefulConnection.getConnection(uri.getHost(), uri.getPort()).sync(); statefulConnection.close(); } @Test public void advancedClusterReactive() throws Exception { StatefulRedisClusterConnection<String, String> statefulConnection = clusterClient.connectCluster() .getStatefulConnection(); RedisURI uri = clusterClient.getPartitions().getPartition(0).getUri(); statefulConnection.getConnection(uri.getHost(), uri.getPort()).reactive(); statefulConnection.close(); } @Test public void advancedClusterStateful() throws Exception { clusterClient.connect().close(); } @Test public void deprecatedAvancedClusterStateful() throws Exception { clusterClient.connectCluster().getStatefulConnection().close(); } // Cluster node selection @Test public void nodeSelectionClusterAsync() throws Exception { StatefulRedisClusterConnection<String, String> statefulConnection = clusterClient.connect(); AsyncNodeSelection<String, String> masters = statefulConnection.async().masters(); statefulConnection.close(); } }