Add missing zRevRangeByScore ops to StringRedisConnection
DATAREDIS-145
This commit is contained in:
@@ -34,7 +34,6 @@ import java.util.LinkedHashSet;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Properties;
|
||||
import java.util.Set;
|
||||
import java.util.UUID;
|
||||
import java.util.concurrent.BlockingDeque;
|
||||
import java.util.concurrent.LinkedBlockingDeque;
|
||||
@@ -53,13 +52,11 @@ import org.springframework.data.redis.TestCondition;
|
||||
import org.springframework.data.redis.connection.RedisListCommands.Position;
|
||||
import org.springframework.data.redis.connection.RedisStringCommands.BitOperation;
|
||||
import org.springframework.data.redis.connection.RedisZSetCommands.Aggregate;
|
||||
import org.springframework.data.redis.connection.RedisZSetCommands.Tuple;
|
||||
import org.springframework.data.redis.connection.SortParameters.Order;
|
||||
import org.springframework.data.redis.connection.StringRedisConnection.StringTuple;
|
||||
import org.springframework.data.redis.core.StringRedisTemplate;
|
||||
import org.springframework.data.redis.serializer.JdkSerializationRedisSerializer;
|
||||
import org.springframework.data.redis.serializer.RedisSerializer;
|
||||
import org.springframework.data.redis.serializer.SerializationUtils;
|
||||
import org.springframework.data.redis.serializer.StringRedisSerializer;
|
||||
import org.springframework.test.annotation.IfProfileValue;
|
||||
import org.springframework.test.annotation.ProfileValueSourceConfiguration;
|
||||
@@ -1589,46 +1586,44 @@ public abstract class AbstractConnectionIntegrationTests {
|
||||
new DefaultStringTuple("James".getBytes(), "James", 1d) })) }));
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
@Test
|
||||
public void testZRevRangeByScoreOffsetCount() {
|
||||
actual.add(byteConnection.zAdd("myset".getBytes(), 2, "Bob".getBytes()));
|
||||
actual.add(byteConnection.zAdd("myset".getBytes(), 1, "James".getBytes()));
|
||||
actual.add(byteConnection.zRevRangeByScore("myset".getBytes(), 0d, 3d, 0, 5));
|
||||
assertEquals(new LinkedHashSet<String>(Arrays.asList(new String[] { "Bob", "James" })),
|
||||
SerializationUtils.deserialize((Set<byte[]>) getResults().get(2), stringSerializer));
|
||||
actual.add(connection.zAdd("myset".getBytes(), 2, "Bob".getBytes()));
|
||||
actual.add(connection.zAdd("myset".getBytes(), 1, "James".getBytes()));
|
||||
actual.add(connection.zRevRangeByScore("myset", 0d, 3d, 0, 5));
|
||||
verifyResults(Arrays.asList(new Object[] {true, true,
|
||||
new LinkedHashSet<String>(Arrays.asList(new String[] { "Bob", "James" }))}));
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
@Test
|
||||
public void testZRevRangeByScore() {
|
||||
actual.add(byteConnection.zAdd("myset".getBytes(), 2, "Bob".getBytes()));
|
||||
actual.add(byteConnection.zAdd("myset".getBytes(), 1, "James".getBytes()));
|
||||
actual.add(byteConnection.zRevRangeByScore("myset".getBytes(), 0d, 3d));
|
||||
assertEquals(new LinkedHashSet<String>(Arrays.asList(new String[] { "Bob", "James" })),
|
||||
SerializationUtils.deserialize((Set<byte[]>) getResults().get(2), stringSerializer));
|
||||
actual.add(connection.zAdd("myset".getBytes(), 2, "Bob".getBytes()));
|
||||
actual.add(connection.zAdd("myset".getBytes(), 1, "James".getBytes()));
|
||||
actual.add(connection.zRevRangeByScore("myset", 0d, 3d));
|
||||
verifyResults(Arrays.asList(new Object[] {true, true,
|
||||
new LinkedHashSet<String>(Arrays.asList(new String[] { "Bob", "James" }))}));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testZRevRangeByScoreWithScoresOffsetCount() {
|
||||
actual.add(byteConnection.zAdd("myset".getBytes(), 2, "Bob".getBytes()));
|
||||
actual.add(byteConnection.zAdd("myset".getBytes(), 1, "James".getBytes()));
|
||||
actual.add(byteConnection.zRevRangeByScoreWithScores("myset".getBytes(), 0d, 3d, 0, 1));
|
||||
assertEquals(
|
||||
new LinkedHashSet<Tuple>(Arrays.asList(new Tuple[] { new DefaultTuple("Bob"
|
||||
.getBytes(), 2d) })), getResults().get(2));
|
||||
actual.add(connection.zAdd("myset".getBytes(), 2, "Bob".getBytes()));
|
||||
actual.add(connection.zAdd("myset".getBytes(), 1, "James".getBytes()));
|
||||
actual.add(connection.zRevRangeByScoreWithScores("myset", 0d, 3d, 0, 1));
|
||||
verifyResults(Arrays.asList(new Object[] {true, true,
|
||||
new LinkedHashSet<StringTuple>(Arrays.asList(new StringTuple[] { new DefaultStringTuple("Bob"
|
||||
.getBytes(), "Bob", 2d) }))}));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testZRevRangeByScoreWithScores() {
|
||||
actual.add(byteConnection.zAdd("myset".getBytes(), 2, "Bob".getBytes()));
|
||||
actual.add(byteConnection.zAdd("myset".getBytes(), 1, "James".getBytes()));
|
||||
actual.add(byteConnection.zAdd("myset".getBytes(), 3, "Joe".getBytes()));
|
||||
actual.add(byteConnection.zRevRangeByScoreWithScores("myset".getBytes(), 0d, 2d));
|
||||
assertEquals(
|
||||
new LinkedHashSet<Tuple>(Arrays.asList(new Tuple[] {
|
||||
new DefaultTuple("Bob".getBytes(), 2d),
|
||||
new DefaultTuple("James".getBytes(), 1d) })), getResults().get(3));
|
||||
actual.add(connection.zAdd("myset", 2, "Bob"));
|
||||
actual.add(connection.zAdd("myset", 1, "James"));
|
||||
actual.add(connection.zAdd("myset", 3, "Joe"));
|
||||
actual.add(connection.zRevRangeByScoreWithScores("myset", 0d, 2d));
|
||||
verifyResults(Arrays.asList(new Object[] {true, true, true,
|
||||
new LinkedHashSet<StringTuple>(Arrays.asList(new StringTuple[] {
|
||||
new DefaultStringTuple("Bob".getBytes(), "Bob", 2d),
|
||||
new DefaultStringTuple("James".getBytes(), "James", 1d) }))}));
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
@@ -459,34 +459,6 @@ abstract public class AbstractConnectionTransactionIntegrationTests extends
|
||||
verifyResults(Arrays.asList(new Object[] { "sup", 13l, "suckrcalifrag" }));
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
@Test
|
||||
public void testZRevRangeByScoreOffsetCount() {
|
||||
actual.add(byteConnection.zAdd("myset".getBytes(), 2, "Bob".getBytes()));
|
||||
actual.add(byteConnection.zAdd("myset".getBytes(), 1, "James".getBytes()));
|
||||
actual.add(byteConnection.zRevRangeByScore("myset".getBytes(), 0d, 3d, 0, 5));
|
||||
assertEquals(Arrays.asList(new String[] { "Bob", "James" }),(List<String>) getResults().get(2));
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
@Test
|
||||
public void testZRevRangeByScore() {
|
||||
actual.add(byteConnection.zAdd("myset".getBytes(), 2, "Bob".getBytes()));
|
||||
actual.add(byteConnection.zAdd("myset".getBytes(), 1, "James".getBytes()));
|
||||
actual.add(byteConnection.zRevRangeByScore("myset".getBytes(), 0d, 3d));
|
||||
assertEquals(Arrays.asList(new String[] { "Bob", "James" }), (List<String>) getResults().get(2));
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
@Test
|
||||
public void testZRevRangeByScoreWithScoresOffsetCount() {
|
||||
actual.add(byteConnection.zAdd("myset".getBytes(), 2, "Bob".getBytes()));
|
||||
actual.add(byteConnection.zAdd("myset".getBytes(), 1, "James".getBytes()));
|
||||
actual.add(byteConnection.zRevRangeByScore("myset".getBytes(), 0d, 3d, 0, 5));
|
||||
assertEquals(Arrays.asList(new String[] { "Bob", "James" }),
|
||||
(List<byte[]>) getResults().get(2));
|
||||
}
|
||||
|
||||
protected void initConnection() {
|
||||
connection.multi();
|
||||
}
|
||||
|
||||
@@ -1141,24 +1141,48 @@ public class DefaultStringRedisConnectionPipelineTests extends DefaultStringRedi
|
||||
super.testZRevRangeByScoreOffsetCountBytes();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testZRevRangeByScoreOffsetCount() {
|
||||
doReturn(Arrays.asList(new Object[] { bytesSet })).when(nativeConnection).closePipeline();
|
||||
super.testZRevRangeByScoreOffsetCount();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testZRevRangeByScoreBytes() {
|
||||
doReturn(Arrays.asList(new Object[] { bytesSet })).when(nativeConnection).closePipeline();
|
||||
super.testZRevRangeByScoreBytes();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testZRevRangeByScore() {
|
||||
doReturn(Arrays.asList(new Object[] { bytesSet })).when(nativeConnection).closePipeline();
|
||||
super.testZRevRangeByScore();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testZRevRangeByScoreWithScoresOffsetCountBytes() {
|
||||
doReturn(Arrays.asList(new Object[] { tupleSet })).when(nativeConnection).closePipeline();
|
||||
super.testZRevRangeByScoreWithScoresOffsetCountBytes();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testZRevRangeByScoreWithScoresOffsetCount() {
|
||||
doReturn(Arrays.asList(new Object[] { tupleSet })).when(nativeConnection).closePipeline();
|
||||
super.testZRevRangeByScoreWithScoresOffsetCount();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testZRevRangeByScoreWithScoresBytes() {
|
||||
doReturn(Arrays.asList(new Object[] { tupleSet })).when(nativeConnection).closePipeline();
|
||||
super.testZRevRangeByScoreWithScoresBytes();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testZRevRangeByScoreWithScores() {
|
||||
doReturn(Arrays.asList(new Object[] { tupleSet })).when(nativeConnection).closePipeline();
|
||||
super.testZRevRangeByScoreWithScores();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testZRankBytes() {
|
||||
doReturn(Arrays.asList(new Object[] { 5l })).when(nativeConnection).closePipeline();
|
||||
|
||||
@@ -1361,6 +1361,13 @@ public class DefaultStringRedisConnectionTests {
|
||||
verifyResults(Arrays.asList(new Object[] { bytesSet }));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testZRevRangeByScoreOffsetCount() {
|
||||
doReturn(bytesSet).when(nativeConnection).zRevRangeByScore(fooBytes, 1d, 3d, 5l, 7l);
|
||||
actual.add(connection.zRevRangeByScore(foo, 1d, 3d, 5l, 7l));
|
||||
verifyResults(Arrays.asList(new Object[] { stringSet }));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testZRevRangeByScoreBytes() {
|
||||
doReturn(bytesSet).when(nativeConnection).zRevRangeByScore(fooBytes, 1d, 3d);
|
||||
@@ -1368,6 +1375,13 @@ public class DefaultStringRedisConnectionTests {
|
||||
verifyResults(Arrays.asList(new Object[] { bytesSet }));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testZRevRangeByScore() {
|
||||
doReturn(bytesSet).when(nativeConnection).zRevRangeByScore(fooBytes, 1d, 3d);
|
||||
actual.add(connection.zRevRangeByScore(foo, 1d, 3d));
|
||||
verifyResults(Arrays.asList(new Object[] { stringSet }));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testZRevRangeByScoreWithScoresOffsetCountBytes() {
|
||||
doReturn(tupleSet).when(nativeConnection).zRevRangeByScoreWithScores(fooBytes, 1d, 3d, 5l,
|
||||
@@ -1376,6 +1390,14 @@ public class DefaultStringRedisConnectionTests {
|
||||
verifyResults(Arrays.asList(new Object[] { tupleSet }));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testZRevRangeByScoreWithScoresOffsetCount() {
|
||||
doReturn(tupleSet).when(nativeConnection).zRevRangeByScoreWithScores(fooBytes, 1d, 3d, 5l,
|
||||
7l);
|
||||
actual.add(connection.zRevRangeByScoreWithScores(foo, 1d, 3d, 5l, 7l));
|
||||
verifyResults(Arrays.asList(new Object[] { stringTupleSet }));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testZRevRangeByScoreWithScoresBytes() {
|
||||
doReturn(tupleSet).when(nativeConnection).zRevRangeByScoreWithScores(fooBytes, 1d, 3d);
|
||||
@@ -1383,6 +1405,13 @@ public class DefaultStringRedisConnectionTests {
|
||||
verifyResults(Arrays.asList(new Object[] { tupleSet }));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testZRevRangeByScoreWithScores() {
|
||||
doReturn(tupleSet).when(nativeConnection).zRevRangeByScoreWithScores(fooBytes, 1d, 3d);
|
||||
actual.add(connection.zRevRangeByScoreWithScores(foo, 1d, 3d));
|
||||
verifyResults(Arrays.asList(new Object[] { stringTupleSet }));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testZRankBytes() {
|
||||
doReturn(5l).when(nativeConnection).zRank(fooBytes, barBytes);
|
||||
|
||||
@@ -56,7 +56,6 @@ public class LettuceConnectionTransactionIntegrationTests extends
|
||||
|
||||
private boolean convertListToSet;
|
||||
|
||||
private boolean convertToStringTuple=true;
|
||||
|
||||
@Test
|
||||
@Ignore("Exceptions on native execute are swallowed in tx")
|
||||
@@ -118,6 +117,18 @@ public class LettuceConnectionTransactionIntegrationTests extends
|
||||
super.testZRangeByScoreWithScoresOffsetCount();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testZRevRangeByScoreOffsetCount() {
|
||||
convertListToSet = true;
|
||||
super.testZRevRangeByScoreOffsetCount();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testZRevRangeByScore() {
|
||||
convertListToSet = true;
|
||||
super.testZRevRangeByScore();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testZRevRange() {
|
||||
convertListToSet = true;
|
||||
@@ -195,12 +206,6 @@ public class LettuceConnectionTransactionIntegrationTests extends
|
||||
super.testSortStoreNullParams();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testZRevRangeByScoreWithScores() {
|
||||
convertToStringTuple = false;
|
||||
super.testZRevRangeByScoreWithScores();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testMove() {
|
||||
connection.set("foo", "bar");
|
||||
@@ -242,11 +247,8 @@ public class LettuceConnectionTransactionIntegrationTests extends
|
||||
if (convertedResult instanceof List && !(((List) result).isEmpty())
|
||||
&& ((List) convertedResult).get(0) instanceof ScoredValue) {
|
||||
Set<Tuple> tuples = LettuceConverters.toTupleSet((List) convertedResult);
|
||||
if(convertToStringTuple) {
|
||||
return new SetConverter<Tuple, StringTuple>(new TupleConverter())
|
||||
return new SetConverter<Tuple, StringTuple>(new TupleConverter())
|
||||
.convert(tuples);
|
||||
}
|
||||
return tuples;
|
||||
}
|
||||
if (convertListToSet && convertedResult instanceof List) {
|
||||
return new LinkedHashSet((List) convertedResult);
|
||||
|
||||
@@ -58,8 +58,6 @@ public class SrpConnectionTransactionIntegrationTests extends AbstractConnection
|
||||
|
||||
protected boolean convertResultToStringTuples=false;
|
||||
|
||||
protected boolean convertResultToTuples=false;
|
||||
|
||||
protected boolean convertBooleanToLong=false;
|
||||
|
||||
protected boolean convertResultsToMap=false;
|
||||
@@ -254,10 +252,30 @@ public class SrpConnectionTransactionIntegrationTests extends AbstractConnection
|
||||
|
||||
@Test
|
||||
public void testZRevRangeByScoreWithScores() {
|
||||
convertResultToTuples = true;
|
||||
convertResultToStringTuples = true;
|
||||
convertResultToSet = true;
|
||||
super.testZRevRangeByScoreWithScores();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testZRevRangeByScoreOffsetCount() {
|
||||
convertResultToSet = true;
|
||||
super.testZRevRangeByScoreOffsetCount();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testZRevRangeByScore() {
|
||||
convertResultToSet = true;
|
||||
super.testZRevRangeByScore();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testZRevRangeByScoreWithScoresOffsetCount() {
|
||||
convertResultToStringTuples = true;
|
||||
convertResultToSet = true;
|
||||
super.testZRevRangeByScoreWithScoresOffsetCount();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testZRem() {
|
||||
convertResultToSet = true;
|
||||
@@ -367,10 +385,7 @@ public class SrpConnectionTransactionIntegrationTests extends AbstractConnection
|
||||
stringTuples.add(new DefaultStringTuple(tuple, new String(tuple.getValue())));
|
||||
}
|
||||
return stringTuples;
|
||||
} else if(convertResultToTuples) {
|
||||
return SrpConverters.toTupleSet((Reply[])convertedResult);
|
||||
}
|
||||
else if (convertResultToSet) {
|
||||
} else if (convertResultToSet) {
|
||||
return SerializationUtils.deserialize(SrpConverters.toBytesSet((Reply[])convertedResult),
|
||||
stringSerializer);
|
||||
} else if(((Reply[]) convertedResult).length > 0 && ((Reply[])convertedResult)[0] instanceof IntegerReply) {
|
||||
|
||||
Reference in New Issue
Block a user