Add Binary oriented U tests ...

This commit is contained in:
Yaourt
2010-11-05 15:42:51 +01:00
parent 70cd1768cf
commit c62a6762be
2 changed files with 155 additions and 5 deletions

View File

@@ -2834,9 +2834,9 @@ public class BinaryJedis implements BinaryJedisCommands {
return client.getIntegerReply(); return client.getIntegerReply();
} }
public String echo(final byte[] string) { public byte[] echo(final byte[] string) {
client.echo(string); client.echo(string);
return client.getBulkReply(); return client.getBinaryBulkReply();
} }
public Integer linsert(final byte[] key, final LIST_POSITION where, final byte[] pivot, public Integer linsert(final byte[] key, final LIST_POSITION where, final byte[] pivot,

View File

@@ -1,11 +1,13 @@
package redis.clients.jedis.tests.commands; package redis.clients.jedis.tests.commands;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays;
import java.util.List; import java.util.List;
import org.junit.Test; import org.junit.Test;
import redis.clients.jedis.JedisException; import redis.clients.jedis.JedisException;
import redis.clients.jedis.Protocol;
import redis.clients.jedis.tests.JedisTest; import redis.clients.jedis.tests.JedisTest;
public class AllKindOfValuesCommandsTest extends JedisCommandTestBase { public class AllKindOfValuesCommandsTest extends JedisCommandTestBase {
@@ -162,6 +164,23 @@ public class AllKindOfValuesCommandsTest extends JedisCommandTestBase {
String randomkey = jedis.randomKey(); String randomkey = jedis.randomKey();
assertTrue(randomkey.equals("foo") || randomkey.equals("bar")); assertTrue(randomkey.equals("foo") || randomkey.equals("bar"));
// Binary
jedis.del("foo");
jedis.del("bar");
assertEquals(null, jedis.randomKey());
jedis.set(bfoo, bbar);
assertArrayEquals(bfoo, jedis.randomBinaryKey());
jedis.set(bbar, bfoo);
byte[] randomBkey = jedis.randomBinaryKey();
assertTrue(
Arrays.equals(randomBkey, bfoo) ||
Arrays.equals(randomBkey, bbar));
} }
@Test @Test
@@ -175,12 +194,34 @@ public class AllKindOfValuesCommandsTest extends JedisCommandTestBase {
value = jedis.get("bar"); value = jedis.get("bar");
assertEquals("bar", value); assertEquals("bar", value);
//Binary
jedis.set(bfoo, bbar);
String bstatus = jedis.rename(bfoo, bbar);
assertEquals("OK", bstatus);
byte[] bvalue = jedis.get(bfoo);
assertEquals(null, bvalue);
bvalue = jedis.get(bbar);
assertArrayEquals(bbar, bvalue);
} }
@Test(expected = JedisException.class) @Test
public void renameOldAndNewAreTheSame() { public void renameOldAndNewAreTheSame() {
try {
jedis.set("foo", "bar"); jedis.set("foo", "bar");
jedis.rename("foo", "foo"); jedis.rename("foo", "foo");
fail("JedisException expected");
} catch(final JedisException e){}
//Binary
try {
jedis.set(bfoo, bbar);
jedis.rename(bfoo, bfoo);
fail("JedisException expected");
} catch(final JedisException e){}
} }
@Test @Test
@@ -192,6 +233,16 @@ public class AllKindOfValuesCommandsTest extends JedisCommandTestBase {
jedis.set("foo", "bar"); jedis.set("foo", "bar");
status = jedis.renamenx("foo", "bar"); status = jedis.renamenx("foo", "bar");
assertEquals(0, status); assertEquals(0, status);
//Binary
jedis.set(bfoo, bbar);
int bstatus = jedis.renamenx(bfoo, bbar);
assertEquals(1, bstatus);
jedis.set(bfoo, bbar);
bstatus = jedis.renamenx(bfoo, bbar);
assertEquals(0, bstatus);
} }
@Test @Test
@@ -202,6 +253,11 @@ public class AllKindOfValuesCommandsTest extends JedisCommandTestBase {
jedis.set("foo", "bar"); jedis.set("foo", "bar");
size = jedis.dbSize(); size = jedis.dbSize();
assertEquals(1, size); assertEquals(1, size);
//Binary
jedis.set(bfoo, bbar);
size = jedis.dbSize();
assertEquals(2, size);
} }
@Test @Test
@@ -212,6 +268,15 @@ public class AllKindOfValuesCommandsTest extends JedisCommandTestBase {
jedis.set("foo", "bar"); jedis.set("foo", "bar");
status = jedis.expire("foo", 20); status = jedis.expire("foo", 20);
assertEquals(1, status); assertEquals(1, status);
// Binary
int bstatus = jedis.expire(bfoo, 20);
assertEquals(0, bstatus);
jedis.set(bfoo, bbar);
bstatus = jedis.expire(bfoo, 20);
assertEquals(1, bstatus);
} }
@Test @Test
@@ -225,6 +290,16 @@ public class AllKindOfValuesCommandsTest extends JedisCommandTestBase {
unixTime = (System.currentTimeMillis() / 1000L) + 20; unixTime = (System.currentTimeMillis() / 1000L) + 20;
status = jedis.expireAt("foo", unixTime); status = jedis.expireAt("foo", unixTime);
assertEquals(1, status); assertEquals(1, status);
//Binary
int bstatus = jedis.expireAt(bfoo, unixTime);
assertEquals(0, bstatus);
jedis.set(bfoo, bbar);
unixTime = (System.currentTimeMillis() / 1000L) + 20;
bstatus = jedis.expireAt(bfoo, unixTime);
assertEquals(1, bstatus);
} }
@Test @Test
@@ -239,6 +314,19 @@ public class AllKindOfValuesCommandsTest extends JedisCommandTestBase {
jedis.expire("foo", 20); jedis.expire("foo", 20);
ttl = jedis.ttl("foo"); ttl = jedis.ttl("foo");
assertTrue(ttl >= 0 && ttl <= 20); assertTrue(ttl >= 0 && ttl <= 20);
//Binary
int bttl = jedis.ttl(bfoo);
assertEquals(-1, bttl);
jedis.set(bfoo, bbar);
bttl = jedis.ttl(bfoo);
assertEquals(-1, bttl);
jedis.expire(bfoo, 20);
bttl = jedis.ttl(bfoo);
assertTrue(bttl >= 0 && bttl <= 20);
} }
@Test @Test
@@ -250,6 +338,14 @@ public class AllKindOfValuesCommandsTest extends JedisCommandTestBase {
status = jedis.select(0); status = jedis.select(0);
assertEquals("OK", status); assertEquals("OK", status);
assertEquals("bar", jedis.get("foo")); assertEquals("bar", jedis.get("foo"));
//Binary
jedis.set(bfoo, bbar);
String bstatus = jedis.select(1);
assertEquals("OK", bstatus);
assertEquals(null, jedis.get(bfoo));
bstatus = jedis.select(0);
assertEquals("OK", bstatus);
assertArrayEquals(bbar, jedis.get(bfoo));
} }
@Test @Test
@@ -264,6 +360,20 @@ public class AllKindOfValuesCommandsTest extends JedisCommandTestBase {
jedis.select(1); jedis.select(1);
assertEquals("bar", jedis.get("foo")); assertEquals("bar", jedis.get("foo"));
//Binary
jedis.select(0);
int bstatus = jedis.move(bfoo, 1);
assertEquals(0, bstatus);
jedis.set(bfoo, bbar);
bstatus = jedis.move(bfoo, 1);
assertEquals(1, bstatus);
assertEquals(null, jedis.get(bfoo));
jedis.select(1);
assertArrayEquals(bbar, jedis.get(bfoo));
} }
@Test @Test
@@ -277,6 +387,20 @@ public class AllKindOfValuesCommandsTest extends JedisCommandTestBase {
assertEquals(0, jedis.dbSize().intValue()); assertEquals(0, jedis.dbSize().intValue());
jedis.select(1); jedis.select(1);
assertEquals(1, jedis.dbSize().intValue()); assertEquals(1, jedis.dbSize().intValue());
jedis.del("bar");
//Binary
jedis.select(0);
jedis.set(bfoo, bbar);
assertEquals(1, jedis.dbSize().intValue());
jedis.set(bbar, bfoo);
jedis.move(bbar, 1);
String bstatus = jedis.flushDB();
assertEquals("OK", bstatus);
assertEquals(0, jedis.dbSize().intValue());
jedis.select(1);
assertEquals(1, jedis.dbSize().intValue());
} }
@Test @Test
@@ -290,6 +414,19 @@ public class AllKindOfValuesCommandsTest extends JedisCommandTestBase {
assertEquals(0, jedis.dbSize().intValue()); assertEquals(0, jedis.dbSize().intValue());
jedis.select(1); jedis.select(1);
assertEquals(0, jedis.dbSize().intValue()); assertEquals(0, jedis.dbSize().intValue());
//Binary
jedis.select(0);
jedis.set(bfoo, bbar);
assertEquals(1, jedis.dbSize().intValue());
jedis.set(bbar, bfoo);
jedis.move(bbar, 1);
String bstatus = jedis.flushAll();
assertEquals("OK", bstatus);
assertEquals(0, jedis.dbSize().intValue());
jedis.select(1);
assertEquals(0, jedis.dbSize().intValue());
} }
@Test @Test
@@ -299,12 +436,25 @@ public class AllKindOfValuesCommandsTest extends JedisCommandTestBase {
int status = jedis.persist("foo"); int status = jedis.persist("foo");
assertEquals(1, status); assertEquals(1, status);
assertEquals(-1, jedis.ttl("foo").intValue()); assertEquals(-1, jedis.ttl("foo").intValue());
//Binary
jedis.setex(bfoo, 60 * 60, bbar);
assertTrue(jedis.ttl(bfoo) > 0);
int bstatus = jedis.persist(bfoo);
assertEquals(1, bstatus);
assertEquals(-1, jedis.ttl(bfoo).intValue());
} }
@Test @Test
public void echo() { public void echo() {
String result = jedis.echo("hello world"); String result = jedis.echo("hello world");
assertEquals("hello world", result); assertEquals("hello world", result);
// Binary
byte[] bresult = jedis.echo("hello world".getBytes(Protocol.UTF8));
assertArrayEquals("hello world".getBytes(Protocol.UTF8), bresult);
} }
} }