throw a JedisConnectionException if unsubscribing from a not subscribed JedisPubSub instance

This commit is contained in:
Jonathan Leibiusky
2011-05-11 14:56:05 -03:00
parent 22b2229ba0
commit acb1eb594f
2 changed files with 31 additions and 0 deletions

View File

@@ -9,6 +9,7 @@ import org.junit.Test;
import redis.clients.jedis.BinaryJedisPubSub;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPubSub;
import redis.clients.jedis.exceptions.JedisConnectionException;
import redis.clients.jedis.exceptions.JedisDataException;
import redis.clients.util.SafeEncoder;
@@ -501,4 +502,29 @@ public class PublishSubscribeCommandsTest extends JedisCommandTestBase {
// this is OK because we are not sending AUTH command
}
}
@Test(expected = JedisConnectionException.class)
public void unsubscribeWhenNotSusbscribed() throws InterruptedException {
JedisPubSub pubsub = new JedisPubSub() {
public void onMessage(String channel, String message) {
}
public void onPMessage(String pattern, String channel,
String message) {
}
public void onSubscribe(String channel, int subscribedChannels) {
}
public void onUnsubscribe(String channel, int subscribedChannels) {
}
public void onPUnsubscribe(String pattern, int subscribedChannels) {
}
public void onPSubscribe(String pattern, int subscribedChannels) {
}
};
pubsub.unsubscribe();
}
}