Added zRangeStoreByLex and zRangeStoreByScore for ZRANGESTORE command.
Original pull request: #2370. Closes #2345
This commit is contained in:
committed by
Mark Paluch
parent
e61d9e7137
commit
40d078f66d
@@ -106,6 +106,7 @@ import org.springframework.data.util.Streamable;
|
||||
* @author Dejan Jankov
|
||||
* @author Andrey Shlykov
|
||||
* @author Hendrik Duerkop
|
||||
* @author Shyngys Sapraliyev
|
||||
*/
|
||||
public abstract class AbstractConnectionIntegrationTests {
|
||||
|
||||
@@ -4068,6 +4069,44 @@ public abstract class AbstractConnectionIntegrationTests {
|
||||
assertThat(info.size()).isZero();
|
||||
}
|
||||
|
||||
@Test //GH-2345
|
||||
public void zRangeStoreStoresKeysCreatedByZAddByScore() {
|
||||
final String dstKey = KEY_2;
|
||||
final String srcKey = KEY_1;
|
||||
actual.add(connection.zAdd(srcKey, 1, VALUE_1));
|
||||
actual.add(connection.zAdd(srcKey, 2, VALUE_2));
|
||||
actual.add(connection.zAdd(srcKey, 3, VALUE_3));
|
||||
actual.add(connection.zAdd(srcKey, 4, VALUE_4));
|
||||
actual.add(connection.zRangeStoreByScore(dstKey, srcKey, 3, 4));
|
||||
actual.add(connection.zRange(dstKey, 0, -1));
|
||||
List<Object> result = getResults();
|
||||
assertThat(result.get(0)).isEqualTo(true);
|
||||
assertThat(result.get(1)).isEqualTo(true);
|
||||
assertThat(result.get(2)).isEqualTo(true);
|
||||
assertThat(result.get(3)).isEqualTo(true);
|
||||
assertThat(result.get(4)).isEqualTo(2L);
|
||||
assertThat((LinkedHashSet<Object>) result.get(5)).containsSequence(VALUE_3, VALUE_4);
|
||||
}
|
||||
|
||||
@Test //GH-2345
|
||||
public void zRangeStoreStoresKeysCreatedByZAddByLex() {
|
||||
final String dstKey = KEY_2;
|
||||
final String srcKey = KEY_1;
|
||||
actual.add(connection.zAdd(srcKey, 0, VALUE_3));
|
||||
actual.add(connection.zAdd(srcKey, 0, VALUE_1));
|
||||
actual.add(connection.zAdd(srcKey, 0, VALUE_4));
|
||||
actual.add(connection.zAdd(srcKey, 0, VALUE_2));
|
||||
actual.add(connection.zRangeStoreByLex(dstKey, srcKey, Range.rightUnbounded(Bound.inclusive(VALUE_3))));
|
||||
actual.add(connection.zRange(dstKey, 0, -1));
|
||||
List<Object> result = getResults();
|
||||
assertThat(result.get(0)).isEqualTo(true);
|
||||
assertThat(result.get(1)).isEqualTo(true);
|
||||
assertThat(result.get(2)).isEqualTo(true);
|
||||
assertThat(result.get(3)).isEqualTo(true);
|
||||
assertThat(result.get(4)).isEqualTo(2L);
|
||||
assertThat((LinkedHashSet<Object>) result.get(5)).containsSequence(VALUE_3, VALUE_4);
|
||||
}
|
||||
|
||||
protected void verifyResults(List<Object> expected) {
|
||||
assertThat(getResults()).isEqualTo(expected);
|
||||
}
|
||||
|
||||
@@ -29,6 +29,7 @@ public abstract class ClusterTestVariables {
|
||||
public static final String VALUE_1 = "value1";
|
||||
public static final String VALUE_2 = "value2";
|
||||
public static final String VALUE_3 = "value3";
|
||||
public static final String VALUE_4 = "value4";
|
||||
|
||||
public static final String SAME_SLOT_KEY_1 = "key2660";
|
||||
public static final String SAME_SLOT_KEY_2 = "key7112";
|
||||
|
||||
Reference in New Issue
Block a user