Skip to content

Commit

Permalink
Pipeline commands should not throw an exception when a key is unset
Browse files Browse the repository at this point in the history
  • Loading branch information
ewhauser committed Jun 2, 2011
1 parent c3f0cf0 commit 3b55731
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 21 deletions.
13 changes: 3 additions & 10 deletions src/main/java/redis/clients/jedis/BuilderFactory.java
@@ -1,16 +1,9 @@
package redis.clients.jedis;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.LinkedHashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;

import redis.clients.util.SafeEncoder;

import java.util.*;

public class BuilderFactory {
public static final Builder<Double> DOUBLE = new Builder<Double>() {
public Double build(Object data) {
Expand Down Expand Up @@ -52,7 +45,7 @@ public String toString() {
};
public static final Builder<String> STRING = new Builder<String>() {
public String build(Object data) {
return SafeEncoder.encode((byte[]) data);
return data == null ? null : SafeEncoder.encode((byte[]) data);
}

public String toString() {
Expand Down
26 changes: 15 additions & 11 deletions src/test/java/redis/clients/jedis/tests/PipeliningTest.java
@@ -1,22 +1,18 @@
package redis.clients.jedis.tests;

import java.io.UnsupportedEncodingException;
import java.util.List;
import java.util.Map;
import java.util.Set;

import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;

import redis.clients.jedis.Jedis;
import redis.clients.jedis.Pipeline;
import redis.clients.jedis.PipelineBlock;
import redis.clients.jedis.Response;
import redis.clients.jedis.Tuple;
import redis.clients.jedis.*;
import redis.clients.jedis.exceptions.JedisDataException;
import redis.clients.jedis.tests.HostAndPortUtil.HostAndPort;

import java.io.UnsupportedEncodingException;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.UUID;

public class PipeliningTest extends Assert {
private static HostAndPort hnp = HostAndPortUtil.getRedisServers().get(0);

Expand Down Expand Up @@ -114,4 +110,12 @@ public void pipelineWithPubSub() {
assertEquals(0, p1.get().longValue());
assertEquals(0, p2.get().longValue());
}

@Test
public void canRetrieveUnsetKey() {
Pipeline p = jedis.pipelined();
Response<String> shouldNotExist = p.get(UUID.randomUUID().toString());
p.sync();
assertNull(shouldNotExist.get());
}
}

0 comments on commit 3b55731

Please sign in to comment.