From dc07d70e7a175aec23c630cef03fcd21837547aa Mon Sep 17 00:00:00 2001 From: Jonathan Leibiusky Date: Tue, 15 Jun 2010 23:28:19 -0300 Subject: [PATCH] Check jedis is connected before executing commands --- src/main/java/redis/clients/jedis/Client.java | 6 +++++- src/main/java/redis/clients/jedis/Jedis.java | 2 +- .../java/redis/clients/jedis/tests/JedisTest.java | 14 ++++++++++++++ .../commands/ConnectionHandlingCommandsTest.java | 3 ++- 4 files changed, 22 insertions(+), 3 deletions(-) create mode 100644 src/test/java/redis/clients/jedis/tests/JedisTest.java diff --git a/src/main/java/redis/clients/jedis/Client.java b/src/main/java/redis/clients/jedis/Client.java index 6114595..6b0bc9a 100644 --- a/src/main/java/redis/clients/jedis/Client.java +++ b/src/main/java/redis/clients/jedis/Client.java @@ -21,7 +21,11 @@ public class Client { this.host = host; } - protected Client sendCommand(String name, String... args) { + protected Client sendCommand(String name, String... args) + throws JedisException { + if (!isConnected()) { + throw new JedisException("Please connect Jedis before using it."); + } protocol.sendCommand(outputStream, name, args); return this; } diff --git a/src/main/java/redis/clients/jedis/Jedis.java b/src/main/java/redis/clients/jedis/Jedis.java index 8fbc570..3fa89bb 100644 --- a/src/main/java/redis/clients/jedis/Jedis.java +++ b/src/main/java/redis/clients/jedis/Jedis.java @@ -23,7 +23,7 @@ public class Jedis extends Client { return sendCommand("GET", key).getBulkReply(); } - public void quit() { + public void quit() throws JedisException { sendCommand("QUIT"); } diff --git a/src/test/java/redis/clients/jedis/tests/JedisTest.java b/src/test/java/redis/clients/jedis/tests/JedisTest.java new file mode 100644 index 0000000..b52173e --- /dev/null +++ b/src/test/java/redis/clients/jedis/tests/JedisTest.java @@ -0,0 +1,14 @@ +package redis.clients.jedis.tests; + +import org.junit.Test; + +import redis.clients.jedis.Jedis; +import redis.clients.jedis.JedisException; + +public class JedisTest { + @Test(expected = JedisException.class) + public void useWithoutConnecting() throws JedisException { + Jedis jedis = new Jedis("localhost"); + jedis.dbSize(); + } +} diff --git a/src/test/java/redis/clients/jedis/tests/commands/ConnectionHandlingCommandsTest.java b/src/test/java/redis/clients/jedis/tests/commands/ConnectionHandlingCommandsTest.java index 4d41dbe..5af3d82 100644 --- a/src/test/java/redis/clients/jedis/tests/commands/ConnectionHandlingCommandsTest.java +++ b/src/test/java/redis/clients/jedis/tests/commands/ConnectionHandlingCommandsTest.java @@ -8,6 +8,7 @@ import org.junit.Ignore; import org.junit.Test; import redis.clients.jedis.Jedis; +import redis.clients.jedis.JedisException; public class ConnectionHandlingCommandsTest extends Assert { private Jedis jedis; @@ -25,7 +26,7 @@ public class ConnectionHandlingCommandsTest extends Assert { } @Test - public void quit() { + public void quit() throws JedisException { jedis.quit(); }