pipeline return formatted values

This commit is contained in:
Jonathan Leibiusky
2011-04-06 01:07:20 -03:00
parent ff50c17238
commit 6707b62342
9 changed files with 729 additions and 726 deletions

View File

@@ -2,6 +2,7 @@ package redis.clients.jedis.tests;
import java.io.UnsupportedEncodingException;
import java.util.List;
import java.util.Set;
import org.junit.Assert;
import org.junit.Before;
@@ -10,7 +11,8 @@ import org.junit.Test;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.Pipeline;
import redis.clients.jedis.PipelineBlock;
import redis.clients.jedis.Protocol;
import redis.clients.jedis.Response;
import redis.clients.jedis.exceptions.JedisDataException;
import redis.clients.jedis.tests.HostAndPortUtil.HostAndPort;
public class PipeliningTest extends Assert {
@@ -36,21 +38,50 @@ public class PipeliningTest extends Assert {
});
assertEquals(2, results.size());
assertArrayEquals("OK".getBytes(Protocol.CHARSET), (byte[]) results
.get(0));
assertArrayEquals("bar".getBytes(Protocol.CHARSET), (byte[]) results
.get(1));
assertEquals("OK", results.get(0));
assertEquals("bar", results.get(1));
Pipeline p = jedis.pipelined();
p.set("foo", "bar");
p.get("foo");
results = p.execute();
results = p.sync();
assertEquals(2, results.size());
assertArrayEquals("OK".getBytes(Protocol.CHARSET), (byte[]) results
.get(0));
assertArrayEquals("bar".getBytes(Protocol.CHARSET), (byte[]) results
.get(1));
assertEquals("OK", results.get(0));
assertEquals("bar", results.get(1));
}
@Test
public void pipelineResponse() {
jedis.set("string", "foo");
jedis.lpush("list", "foo");
jedis.hset("hash", "foo", "bar");
jedis.zadd("zset", 1, "foo");
jedis.sadd("set", "foo");
Pipeline p = jedis.pipelined();
Response<String> string = p.get("string");
Response<String> list = p.lpop("list");
Response<String> hash = p.hget("hash", "foo");
Response<Set<String>> zset = p.zrange("zset", 0, -1);
Response<String> set = p.spop("set");
p.sync();
assertEquals("foo", string.get());
assertEquals("foo", list.get());
assertEquals("bar", hash.get());
assertEquals("foo", zset.get().iterator().next());
assertEquals("foo", set.get());
}
@Test(expected = JedisDataException.class)
public void pipelineResponseWithinPipeline() {
jedis.set("string", "foo");
Pipeline p = jedis.pipelined();
Response<String> string = p.get("string");
string.get();
p.sync();
}
}