DATAREDIS-613 - Stream results instead of returning collections where possible.
Allow streaming where possible without breaking Redis API contract. This means we keep the list collection for those operations potentially returning NULL to indicate a value is not present but was requested (eg MGET). Additionally remove the Spring 4 related travis builds. Original pull request: #244.
This commit is contained in:
committed by
Mark Paluch
parent
87d6aa2042
commit
42c87e24f9
@@ -15,7 +15,6 @@
|
||||
*/
|
||||
package org.springframework.data.redis.connection.lettuce;
|
||||
|
||||
import static org.hamcrest.collection.IsCollectionWithSize.*;
|
||||
import static org.hamcrest.collection.IsIterableContainingInOrder.*;
|
||||
import static org.hamcrest.core.Is.*;
|
||||
import static org.hamcrest.core.IsNull.*;
|
||||
@@ -24,6 +23,8 @@ import static org.junit.Assert.*;
|
||||
import static org.springframework.data.redis.connection.RedisGeoCommands.DistanceUnit.*;
|
||||
import static org.springframework.data.redis.connection.RedisGeoCommands.GeoRadiusCommandArgs.*;
|
||||
|
||||
import reactor.test.StepVerifier;
|
||||
|
||||
import java.nio.ByteBuffer;
|
||||
import java.nio.charset.Charset;
|
||||
import java.util.Arrays;
|
||||
@@ -32,7 +33,6 @@ import java.util.List;
|
||||
import org.junit.Test;
|
||||
import org.springframework.data.geo.Circle;
|
||||
import org.springframework.data.geo.Distance;
|
||||
import org.springframework.data.geo.GeoResults;
|
||||
import org.springframework.data.geo.Metrics;
|
||||
import org.springframework.data.geo.Point;
|
||||
import org.springframework.data.redis.connection.RedisGeoCommands.GeoLocation;
|
||||
@@ -150,14 +150,17 @@ public class LettuceReactiveGeoCommandsTests extends LettuceReactiveCommandsTest
|
||||
nativeCommands.geoadd(KEY_1, CATANIA.getPoint().getX(), CATANIA.getPoint().getY(), CATANIA_MEMBER_NAME);
|
||||
nativeCommands.geoadd(KEY_1, ARIGENTO.getPoint().getX(), ARIGENTO.getPoint().getY(), ARIGENTO_MEMBER_NAME);
|
||||
|
||||
assertThat(
|
||||
connection.geoCommands()
|
||||
.geoRadius(KEY_1_BBUFFER, new Circle(new Point(15D, 37D), new Distance(200D, KILOMETERS))).block(),
|
||||
hasSize(3));
|
||||
assertThat(
|
||||
connection.geoCommands()
|
||||
.geoRadius(KEY_1_BBUFFER, new Circle(new Point(15D, 37D), new Distance(150D, KILOMETERS))).block(),
|
||||
hasSize(2));
|
||||
StepVerifier
|
||||
.create(connection.geoCommands().geoRadius(KEY_1_BBUFFER,
|
||||
new Circle(new Point(15D, 37D), new Distance(200D, KILOMETERS)))) //
|
||||
.expectNextCount(3) //
|
||||
.expectComplete();
|
||||
|
||||
StepVerifier
|
||||
.create(connection.geoCommands().geoRadius(KEY_1_BBUFFER,
|
||||
new Circle(new Point(15D, 37D), new Distance(150D, KILOMETERS)))) //
|
||||
.expectNextCount(2) //
|
||||
.expectComplete();
|
||||
}
|
||||
|
||||
@Test // DATAREDIS-525
|
||||
@@ -167,11 +170,15 @@ public class LettuceReactiveGeoCommandsTests extends LettuceReactiveCommandsTest
|
||||
nativeCommands.geoadd(KEY_1, CATANIA.getPoint().getX(), CATANIA.getPoint().getY(), CATANIA_MEMBER_NAME);
|
||||
nativeCommands.geoadd(KEY_1, ARIGENTO.getPoint().getX(), ARIGENTO.getPoint().getY(), ARIGENTO_MEMBER_NAME);
|
||||
|
||||
GeoResults<GeoLocation<ByteBuffer>> result = connection.geoCommands().geoRadius(KEY_1_BBUFFER,
|
||||
new Circle(new Point(15D, 37D), new Distance(200D, KILOMETERS)), newGeoRadiusArgs().includeDistance()).block();
|
||||
StepVerifier
|
||||
.create(connection.geoCommands().geoRadius(KEY_1_BBUFFER,
|
||||
new Circle(new Point(15D, 37D), new Distance(200D, KILOMETERS)), newGeoRadiusArgs().includeDistance())) //
|
||||
.consumeNextWith(actual -> {
|
||||
|
||||
assertThat(result.getContent().get(0).getDistance().getValue(), is(closeTo(130.423D, 0.005)));
|
||||
assertThat(result.getContent().get(0).getDistance().getUnit(), is("km"));
|
||||
assertThat(actual.getDistance().getValue(), is(closeTo(130.423D, 0.005)));
|
||||
assertThat(actual.getDistance().getUnit(), is("km"));
|
||||
}) //
|
||||
.expectComplete();
|
||||
}
|
||||
|
||||
@Test // DATAREDIS-525
|
||||
@@ -181,10 +188,11 @@ public class LettuceReactiveGeoCommandsTests extends LettuceReactiveCommandsTest
|
||||
nativeCommands.geoadd(KEY_1, CATANIA.getPoint().getX(), CATANIA.getPoint().getY(), CATANIA_MEMBER_NAME);
|
||||
nativeCommands.geoadd(KEY_1, ARIGENTO.getPoint().getX(), ARIGENTO.getPoint().getY(), ARIGENTO_MEMBER_NAME);
|
||||
|
||||
GeoResults<GeoLocation<ByteBuffer>> result = connection.geoCommands().geoRadius(KEY_1_BBUFFER,
|
||||
new Circle(new Point(15D, 37D), new Distance(200D, KILOMETERS)), newGeoRadiusArgs().limit(2)).block();
|
||||
|
||||
assertThat(result.getContent(), hasSize(2));
|
||||
StepVerifier
|
||||
.create(connection.geoCommands().geoRadius(KEY_1_BBUFFER,
|
||||
new Circle(new Point(15D, 37D), new Distance(200D, KILOMETERS)), newGeoRadiusArgs().limit(2))) //
|
||||
.expectNextCount(2) //
|
||||
.expectComplete();
|
||||
}
|
||||
|
||||
@Test // DATAREDIS-525
|
||||
@@ -194,11 +202,16 @@ public class LettuceReactiveGeoCommandsTests extends LettuceReactiveCommandsTest
|
||||
nativeCommands.geoadd(KEY_1, CATANIA.getPoint().getX(), CATANIA.getPoint().getY(), CATANIA_MEMBER_NAME);
|
||||
nativeCommands.geoadd(KEY_1, ARIGENTO.getPoint().getX(), ARIGENTO.getPoint().getY(), ARIGENTO_MEMBER_NAME);
|
||||
|
||||
List<GeoLocation<ByteBuffer>> result = connection.geoCommands()
|
||||
.geoRadiusByMember(KEY_1_BBUFFER, ARIGENTO.getName(), new Distance(100, KILOMETERS)).block();
|
||||
|
||||
assertThat(result.get(0).getName(), is(ARIGENTO.getName()));
|
||||
assertThat(result.get(1).getName(), is(PALERMO.getName()));
|
||||
StepVerifier
|
||||
.create(connection.geoCommands().geoRadiusByMember(KEY_1_BBUFFER, ARIGENTO.getName(),
|
||||
new Distance(100, KILOMETERS))) //
|
||||
.consumeNextWith(actual -> {
|
||||
assertThat(actual.getContent().getName(), is(ARIGENTO.getName()));
|
||||
}) //
|
||||
.consumeNextWith(actual -> {
|
||||
assertThat(actual.getContent().getName(), is(PALERMO.getName()));
|
||||
}) //
|
||||
.expectComplete();
|
||||
}
|
||||
|
||||
@Test // DATAREDIS-525
|
||||
@@ -208,12 +221,17 @@ public class LettuceReactiveGeoCommandsTests extends LettuceReactiveCommandsTest
|
||||
nativeCommands.geoadd(KEY_1, CATANIA.getPoint().getX(), CATANIA.getPoint().getY(), CATANIA_MEMBER_NAME);
|
||||
nativeCommands.geoadd(KEY_1, ARIGENTO.getPoint().getX(), ARIGENTO.getPoint().getY(), ARIGENTO_MEMBER_NAME);
|
||||
|
||||
GeoResults<GeoLocation<ByteBuffer>> result = connection.geoCommands().geoRadiusByMember(KEY_1_BBUFFER,
|
||||
PALERMO.getName(), new Distance(100, KILOMETERS), newGeoRadiusArgs().includeDistance()).block();
|
||||
StepVerifier
|
||||
.create(connection.geoCommands().geoRadiusByMember(KEY_1_BBUFFER, PALERMO.getName(),
|
||||
new Distance(100, KILOMETERS), newGeoRadiusArgs().includeDistance())) //
|
||||
.consumeNextWith(actual -> {
|
||||
|
||||
assertThat(actual.getDistance().getValue(), is(closeTo(90.978D, 0.005)));
|
||||
assertThat(actual.getDistance().getUnit(), is("km"));
|
||||
}) //
|
||||
.expectNextCount(1) //
|
||||
.verifyComplete();
|
||||
|
||||
assertThat(result.getContent(), hasSize(2));
|
||||
assertThat(result.getContent().get(0).getDistance().getValue(), is(closeTo(90.978D, 0.005)));
|
||||
assertThat(result.getContent().get(0).getDistance().getUnit(), is("km"));
|
||||
}
|
||||
|
||||
@Test // DATAREDIS-525
|
||||
@@ -223,11 +241,11 @@ public class LettuceReactiveGeoCommandsTests extends LettuceReactiveCommandsTest
|
||||
nativeCommands.geoadd(KEY_1, CATANIA.getPoint().getX(), CATANIA.getPoint().getY(), CATANIA_MEMBER_NAME);
|
||||
nativeCommands.geoadd(KEY_1, ARIGENTO.getPoint().getX(), ARIGENTO.getPoint().getY(), ARIGENTO_MEMBER_NAME);
|
||||
|
||||
GeoResults<GeoLocation<ByteBuffer>> result = connection.geoCommands()
|
||||
.geoRadiusByMember(KEY_1_BBUFFER, PALERMO.getName(), new Distance(200, KILOMETERS), newGeoRadiusArgs().limit(2))
|
||||
.block();
|
||||
|
||||
assertThat(result.getContent(), hasSize(2));
|
||||
StepVerifier
|
||||
.create(connection.geoCommands().geoRadiusByMember(KEY_1_BBUFFER, PALERMO.getName(),
|
||||
new Distance(200, KILOMETERS), newGeoRadiusArgs().limit(2))) //
|
||||
.expectNextCount(2) //
|
||||
.verifyComplete();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -15,13 +15,14 @@
|
||||
*/
|
||||
package org.springframework.data.redis.connection.lettuce;
|
||||
|
||||
import static org.hamcrest.collection.IsIterableContainingInAnyOrder.*;
|
||||
import static org.hamcrest.collection.IsIterableContainingInOrder.*;
|
||||
import static org.hamcrest.core.Is.*;
|
||||
import static org.hamcrest.core.IsEqual.*;
|
||||
import static org.hamcrest.core.IsNull.*;
|
||||
import static org.junit.Assert.*;
|
||||
|
||||
import reactor.test.StepVerifier;
|
||||
|
||||
import java.nio.ByteBuffer;
|
||||
import java.nio.charset.Charset;
|
||||
import java.util.Arrays;
|
||||
@@ -170,8 +171,9 @@ public class LettuceReactiveHashCommandsTests extends LettuceReactiveCommandsTes
|
||||
nativeCommands.hset(KEY_1, FIELD_2, VALUE_2);
|
||||
nativeCommands.hset(KEY_1, FIELD_3, VALUE_3);
|
||||
|
||||
assertThat(connection.hashCommands().hKeys(KEY_1_BBUFFER).block(),
|
||||
containsInAnyOrder(FIELD_1_BBUFFER, FIELD_2_BBUFFER, FIELD_3_BBUFFER));
|
||||
StepVerifier.create(connection.hashCommands().hKeys(KEY_1_BBUFFER)) //
|
||||
.expectNext(FIELD_1_BBUFFER, FIELD_2_BBUFFER, FIELD_3_BBUFFER) //
|
||||
.verifyComplete();
|
||||
}
|
||||
|
||||
@Test // DATAREDIS-525
|
||||
@@ -181,8 +183,9 @@ public class LettuceReactiveHashCommandsTests extends LettuceReactiveCommandsTes
|
||||
nativeCommands.hset(KEY_1, FIELD_2, VALUE_2);
|
||||
nativeCommands.hset(KEY_1, FIELD_3, VALUE_3);
|
||||
|
||||
assertThat(connection.hashCommands().hVals(KEY_1_BBUFFER).block(),
|
||||
containsInAnyOrder(VALUE_1_BBUFFER, VALUE_2_BBUFFER, VALUE_3_BBUFFER));
|
||||
StepVerifier.create(connection.hashCommands().hVals(KEY_1_BBUFFER))
|
||||
.expectNext(VALUE_1_BBUFFER, VALUE_2_BBUFFER, VALUE_3_BBUFFER) //
|
||||
.verifyComplete();
|
||||
}
|
||||
|
||||
@Test // DATAREDIS-525
|
||||
@@ -197,6 +200,11 @@ public class LettuceReactiveHashCommandsTests extends LettuceReactiveCommandsTes
|
||||
expected.put(FIELD_2_BBUFFER, VALUE_2_BBUFFER);
|
||||
expected.put(FIELD_3_BBUFFER, VALUE_3_BBUFFER);
|
||||
|
||||
assertThat(connection.hashCommands().hGetAll(KEY_1_BBUFFER).block(), is(equalTo(expected)));
|
||||
StepVerifier.create(connection.hashCommands().hGetAll(KEY_1_BBUFFER).buffer(3)) //
|
||||
.consumeNextWith(list -> {
|
||||
assertTrue(list.containsAll(expected.entrySet()));
|
||||
}) //
|
||||
.verifyComplete();
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -101,7 +101,7 @@ public class LettuceReactiveListCommandTests extends LettuceReactiveCommandsTest
|
||||
|
||||
nativeCommands.rpush(KEY_1, VALUE_1, VALUE_2, VALUE_3);
|
||||
|
||||
assertThat(connection.listCommands().lRange(KEY_1_BBUFFER, 1, 2).block(),
|
||||
assertThat(connection.listCommands().lRange(KEY_1_BBUFFER, 1, 2).toIterable(),
|
||||
contains(VALUE_2_BBUFFER, VALUE_3_BBUFFER));
|
||||
}
|
||||
|
||||
|
||||
@@ -16,17 +16,15 @@
|
||||
package org.springframework.data.redis.connection.lettuce;
|
||||
|
||||
import static org.hamcrest.collection.IsIterableContainingInAnyOrder.*;
|
||||
import static org.hamcrest.collection.IsIterableContainingInOrder.*;
|
||||
import static org.hamcrest.core.AnyOf.*;
|
||||
import static org.hamcrest.core.Is.*;
|
||||
import static org.hamcrest.core.IsEqual.*;
|
||||
import static org.hamcrest.core.IsNot.*;
|
||||
import static org.hamcrest.core.IsNull.*;
|
||||
import static org.junit.Assert.*;
|
||||
|
||||
import java.nio.ByteBuffer;
|
||||
import reactor.test.StepVerifier;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
import org.junit.Test;
|
||||
|
||||
@@ -137,9 +135,9 @@ public class LettuceReactiveSetCommandsTests extends LettuceReactiveCommandsTest
|
||||
nativeCommands.sadd(KEY_1, VALUE_1, VALUE_2);
|
||||
nativeCommands.sadd(KEY_2, VALUE_2, VALUE_3);
|
||||
|
||||
List<ByteBuffer> result = connection.setCommands().sInter(Arrays.asList(KEY_1_BBUFFER, KEY_2_BBUFFER)).block();
|
||||
assertThat(result, contains(VALUE_2_BBUFFER));
|
||||
assertThat(result, not(containsInAnyOrder(VALUE_1_BBUFFER, VALUE_3_BBUFFER)));
|
||||
StepVerifier.create(connection.setCommands().sInter(Arrays.asList(KEY_1_BBUFFER, KEY_2_BBUFFER))) //
|
||||
.expectNext(VALUE_2_BBUFFER) //
|
||||
.verifyComplete();
|
||||
}
|
||||
|
||||
@Test // DATAREDIS-525
|
||||
@@ -159,8 +157,9 @@ public class LettuceReactiveSetCommandsTests extends LettuceReactiveCommandsTest
|
||||
nativeCommands.sadd(KEY_1, VALUE_1, VALUE_2);
|
||||
nativeCommands.sadd(KEY_2, VALUE_2, VALUE_3);
|
||||
|
||||
List<ByteBuffer> result = connection.setCommands().sUnion(Arrays.asList(KEY_1_BBUFFER, KEY_2_BBUFFER)).block();
|
||||
assertThat(result, containsInAnyOrder(VALUE_1_BBUFFER, VALUE_3_BBUFFER, VALUE_2_BBUFFER));
|
||||
StepVerifier.create(connection.setCommands().sUnion(Arrays.asList(KEY_1_BBUFFER, KEY_2_BBUFFER))) //
|
||||
.expectNextCount(3) //
|
||||
.expectComplete();
|
||||
}
|
||||
|
||||
@Test // DATAREDIS-525
|
||||
@@ -179,9 +178,9 @@ public class LettuceReactiveSetCommandsTests extends LettuceReactiveCommandsTest
|
||||
nativeCommands.sadd(KEY_1, VALUE_1, VALUE_2);
|
||||
nativeCommands.sadd(KEY_2, VALUE_2, VALUE_3);
|
||||
|
||||
List<ByteBuffer> result = connection.setCommands().sDiff(Arrays.asList(KEY_1_BBUFFER, KEY_2_BBUFFER)).block();
|
||||
assertThat(result, containsInAnyOrder(VALUE_1_BBUFFER));
|
||||
assertThat(result, not(containsInAnyOrder(VALUE_2_BBUFFER, VALUE_3_BBUFFER)));
|
||||
StepVerifier.create(connection.setCommands().sDiff(Arrays.asList(KEY_1_BBUFFER, KEY_2_BBUFFER))) //
|
||||
.expectNext(VALUE_1_BBUFFER) //
|
||||
.verifyComplete();
|
||||
}
|
||||
|
||||
@Test // DATAREDIS-525
|
||||
@@ -199,8 +198,10 @@ public class LettuceReactiveSetCommandsTests extends LettuceReactiveCommandsTest
|
||||
|
||||
nativeCommands.sadd(KEY_1, VALUE_1, VALUE_2, VALUE_3);
|
||||
|
||||
assertThat(connection.setCommands().sMembers(KEY_1_BBUFFER).block(),
|
||||
containsInAnyOrder(VALUE_1_BBUFFER, VALUE_2_BBUFFER, VALUE_3_BBUFFER));
|
||||
StepVerifier.create(connection.setCommands().sMembers(KEY_1_BBUFFER).buffer(3)) //
|
||||
.consumeNextWith(
|
||||
list -> assertThat(list, containsInAnyOrder(VALUE_1_BBUFFER, VALUE_2_BBUFFER, VALUE_3_BBUFFER))) //
|
||||
.verifyComplete();
|
||||
}
|
||||
|
||||
@Test // DATAREDIS-525
|
||||
@@ -217,7 +218,9 @@ public class LettuceReactiveSetCommandsTests extends LettuceReactiveCommandsTest
|
||||
|
||||
nativeCommands.sadd(KEY_1, VALUE_1, VALUE_2, VALUE_3);
|
||||
|
||||
assertThat(connection.setCommands().sRandMember(KEY_1_BBUFFER, 2L).block().size(), is(2));
|
||||
StepVerifier.create(connection.setCommands().sRandMember(KEY_1_BBUFFER, 2L)) //
|
||||
.expectNextCount(2) //
|
||||
.verifyComplete();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -19,6 +19,8 @@ import static org.hamcrest.core.Is.*;
|
||||
import static org.junit.Assert.*;
|
||||
import static org.junit.Assume.*;
|
||||
|
||||
import reactor.test.StepVerifier;
|
||||
|
||||
import java.nio.ByteBuffer;
|
||||
import java.util.Arrays;
|
||||
|
||||
@@ -85,8 +87,9 @@ public class LettuceReactiveZSetCommandsTests extends LettuceReactiveCommandsTes
|
||||
nativeCommands.zadd(KEY_1, 2D, VALUE_2);
|
||||
nativeCommands.zadd(KEY_1, 3D, VALUE_3);
|
||||
|
||||
assertThat(connection.zSetCommands().zRange(KEY_1_BBUFFER, new Range<Long>(1L, 2L)).block(),
|
||||
IsIterableContainingInOrder.contains(VALUE_2_BBUFFER, VALUE_3_BBUFFER));
|
||||
StepVerifier.create(connection.zSetCommands().zRange(KEY_1_BBUFFER, new Range<Long>(1L, 2L))) //
|
||||
.expectNext(VALUE_2_BBUFFER, VALUE_3_BBUFFER) //
|
||||
.verifyComplete();
|
||||
}
|
||||
|
||||
@Test // DATAREDIS-525
|
||||
@@ -96,9 +99,9 @@ public class LettuceReactiveZSetCommandsTests extends LettuceReactiveCommandsTes
|
||||
nativeCommands.zadd(KEY_1, 2D, VALUE_2);
|
||||
nativeCommands.zadd(KEY_1, 3D, VALUE_3);
|
||||
|
||||
assertThat(connection.zSetCommands().zRangeWithScores(KEY_1_BBUFFER, new Range<Long>(1L, 2L)).block(),
|
||||
IsIterableContainingInOrder.contains(new DefaultTuple(VALUE_2_BBUFFER.array(), 2D),
|
||||
new DefaultTuple(VALUE_3_BBUFFER.array(), 3D)));
|
||||
StepVerifier.create(connection.zSetCommands().zRangeWithScores(KEY_1_BBUFFER, new Range<Long>(1L, 2L))) //
|
||||
.expectNext(new DefaultTuple(VALUE_2_BBUFFER.array(), 2D), new DefaultTuple(VALUE_3_BBUFFER.array(), 3D)) //
|
||||
.verifyComplete();
|
||||
}
|
||||
|
||||
@Test // DATAREDIS-525
|
||||
@@ -108,8 +111,9 @@ public class LettuceReactiveZSetCommandsTests extends LettuceReactiveCommandsTes
|
||||
nativeCommands.zadd(KEY_1, 2D, VALUE_2);
|
||||
nativeCommands.zadd(KEY_1, 3D, VALUE_3);
|
||||
|
||||
assertThat(connection.zSetCommands().zRevRange(KEY_1_BBUFFER, new Range<Long>(1L, 2L)).block(),
|
||||
IsIterableContainingInOrder.contains(VALUE_2_BBUFFER, VALUE_1_BBUFFER));
|
||||
StepVerifier.create(connection.zSetCommands().zRevRange(KEY_1_BBUFFER, new Range<Long>(1L, 2L))) //
|
||||
.expectNext(VALUE_2_BBUFFER, VALUE_1_BBUFFER) //
|
||||
.verifyComplete();
|
||||
}
|
||||
|
||||
@Test // DATAREDIS-525
|
||||
@@ -119,9 +123,9 @@ public class LettuceReactiveZSetCommandsTests extends LettuceReactiveCommandsTes
|
||||
nativeCommands.zadd(KEY_1, 2D, VALUE_2);
|
||||
nativeCommands.zadd(KEY_1, 3D, VALUE_3);
|
||||
|
||||
assertThat(connection.zSetCommands().zRevRangeWithScores(KEY_1_BBUFFER, new Range<Long>(1L, 2L)).block(),
|
||||
IsIterableContainingInOrder.contains(new DefaultTuple(VALUE_2_BBUFFER.array(), 2D),
|
||||
new DefaultTuple(VALUE_1_BBUFFER.array(), 1D)));
|
||||
StepVerifier.create(connection.zSetCommands().zRevRangeWithScores(KEY_1_BBUFFER, new Range<Long>(1L, 2L))) //
|
||||
.expectNext(new DefaultTuple(VALUE_2_BBUFFER.array(), 2D), new DefaultTuple(VALUE_1_BBUFFER.array(), 1D)) //
|
||||
.verifyComplete();
|
||||
}
|
||||
|
||||
@Test // DATAREDIS-525
|
||||
@@ -131,8 +135,9 @@ public class LettuceReactiveZSetCommandsTests extends LettuceReactiveCommandsTes
|
||||
nativeCommands.zadd(KEY_1, 2D, VALUE_2);
|
||||
nativeCommands.zadd(KEY_1, 3D, VALUE_3);
|
||||
|
||||
assertThat(connection.zSetCommands().zRangeByScore(KEY_1_BBUFFER, new Range<>(2D, 3D)).block(),
|
||||
IsIterableContainingInOrder.contains(VALUE_2_BBUFFER, VALUE_3_BBUFFER));
|
||||
StepVerifier.create(connection.zSetCommands().zRangeByScore(KEY_1_BBUFFER, new Range<>(2D, 3D))) //
|
||||
.expectNext(VALUE_2_BBUFFER, VALUE_3_BBUFFER) //
|
||||
.verifyComplete();
|
||||
}
|
||||
|
||||
@Test // DATAREDIS-525
|
||||
@@ -142,8 +147,9 @@ public class LettuceReactiveZSetCommandsTests extends LettuceReactiveCommandsTes
|
||||
nativeCommands.zadd(KEY_1, 2D, VALUE_2);
|
||||
nativeCommands.zadd(KEY_1, 3D, VALUE_3);
|
||||
|
||||
assertThat(connection.zSetCommands().zRangeByScore(KEY_1_BBUFFER, new Range<>(2D, 3D, false, true)).block(),
|
||||
IsIterableContainingInOrder.contains(VALUE_3_BBUFFER));
|
||||
StepVerifier.create(connection.zSetCommands().zRangeByScore(KEY_1_BBUFFER, new Range<>(2D, 3D, false, true))) //
|
||||
.expectNext(VALUE_3_BBUFFER) //
|
||||
.verifyComplete();
|
||||
}
|
||||
|
||||
@Test // DATAREDIS-525
|
||||
@@ -153,8 +159,9 @@ public class LettuceReactiveZSetCommandsTests extends LettuceReactiveCommandsTes
|
||||
nativeCommands.zadd(KEY_1, 2D, VALUE_2);
|
||||
nativeCommands.zadd(KEY_1, 3D, VALUE_3);
|
||||
|
||||
assertThat(connection.zSetCommands().zRangeByScore(KEY_1_BBUFFER, new Range<>(2D, 3D, true, false)).block(),
|
||||
IsIterableContainingInOrder.contains(VALUE_2_BBUFFER));
|
||||
StepVerifier.create(connection.zSetCommands().zRangeByScore(KEY_1_BBUFFER, new Range<>(2D, 3D, true, false))) //
|
||||
.expectNext(VALUE_2_BBUFFER) //
|
||||
.verifyComplete();
|
||||
}
|
||||
|
||||
@Test // DATAREDIS-525
|
||||
@@ -164,9 +171,9 @@ public class LettuceReactiveZSetCommandsTests extends LettuceReactiveCommandsTes
|
||||
nativeCommands.zadd(KEY_1, 2D, VALUE_2);
|
||||
nativeCommands.zadd(KEY_1, 3D, VALUE_3);
|
||||
|
||||
assertThat(connection.zSetCommands().zRangeByScoreWithScores(KEY_1_BBUFFER, new Range<>(2D, 3D)).block(),
|
||||
IsIterableContainingInOrder.contains(new DefaultTuple(VALUE_2_BBUFFER.array(), 2D),
|
||||
new DefaultTuple(VALUE_3_BBUFFER.array(), 3D)));
|
||||
StepVerifier.create(connection.zSetCommands().zRangeByScoreWithScores(KEY_1_BBUFFER, new Range<>(2D, 3D))) //
|
||||
.expectNext(new DefaultTuple(VALUE_2_BBUFFER.array(), 2D), new DefaultTuple(VALUE_3_BBUFFER.array(), 3D)) //
|
||||
.verifyComplete();
|
||||
}
|
||||
|
||||
@Test // DATAREDIS-525
|
||||
@@ -176,9 +183,10 @@ public class LettuceReactiveZSetCommandsTests extends LettuceReactiveCommandsTes
|
||||
nativeCommands.zadd(KEY_1, 2D, VALUE_2);
|
||||
nativeCommands.zadd(KEY_1, 3D, VALUE_3);
|
||||
|
||||
assertThat(
|
||||
connection.zSetCommands().zRangeByScoreWithScores(KEY_1_BBUFFER, new Range<>(2D, 3D, false, true)).block(),
|
||||
IsIterableContainingInOrder.contains(new DefaultTuple(VALUE_3_BBUFFER.array(), 3D)));
|
||||
StepVerifier
|
||||
.create(connection.zSetCommands().zRangeByScoreWithScores(KEY_1_BBUFFER, new Range<>(2D, 3D, false, true))) //
|
||||
.expectNext(new DefaultTuple(VALUE_3_BBUFFER.array(), 3D)) //
|
||||
.verifyComplete();
|
||||
}
|
||||
|
||||
@Test // DATAREDIS-525
|
||||
@@ -188,9 +196,10 @@ public class LettuceReactiveZSetCommandsTests extends LettuceReactiveCommandsTes
|
||||
nativeCommands.zadd(KEY_1, 2D, VALUE_2);
|
||||
nativeCommands.zadd(KEY_1, 3D, VALUE_3);
|
||||
|
||||
assertThat(
|
||||
connection.zSetCommands().zRangeByScoreWithScores(KEY_1_BBUFFER, new Range<>(2D, 3D, true, false)).block(),
|
||||
IsIterableContainingInOrder.contains(new DefaultTuple(VALUE_2_BBUFFER.array(), 2D)));
|
||||
StepVerifier
|
||||
.create(connection.zSetCommands().zRangeByScoreWithScores(KEY_1_BBUFFER, new Range<>(2D, 3D, true, false))) //
|
||||
.expectNext(new DefaultTuple(VALUE_2_BBUFFER.array(), 2D)) //
|
||||
.verifyComplete();
|
||||
}
|
||||
|
||||
@Test // DATAREDIS-525
|
||||
@@ -200,8 +209,9 @@ public class LettuceReactiveZSetCommandsTests extends LettuceReactiveCommandsTes
|
||||
nativeCommands.zadd(KEY_1, 2D, VALUE_2);
|
||||
nativeCommands.zadd(KEY_1, 3D, VALUE_3);
|
||||
|
||||
assertThat(connection.zSetCommands().zRevRangeByScore(KEY_1_BBUFFER, new Range<>(2D, 3D)).block(),
|
||||
IsIterableContainingInOrder.contains(VALUE_3_BBUFFER, VALUE_2_BBUFFER));
|
||||
StepVerifier.create(connection.zSetCommands().zRevRangeByScore(KEY_1_BBUFFER, new Range<>(2D, 3D))) //
|
||||
.expectNext(VALUE_3_BBUFFER, VALUE_2_BBUFFER) //
|
||||
.verifyComplete();
|
||||
}
|
||||
|
||||
@Test // DATAREDIS-525
|
||||
@@ -211,8 +221,9 @@ public class LettuceReactiveZSetCommandsTests extends LettuceReactiveCommandsTes
|
||||
nativeCommands.zadd(KEY_1, 2D, VALUE_2);
|
||||
nativeCommands.zadd(KEY_1, 3D, VALUE_3);
|
||||
|
||||
assertThat(connection.zSetCommands().zRevRangeByScore(KEY_1_BBUFFER, new Range<>(2D, 3D, false, true)).block(),
|
||||
IsIterableContainingInOrder.contains(VALUE_3_BBUFFER));
|
||||
StepVerifier.create(connection.zSetCommands().zRevRangeByScore(KEY_1_BBUFFER, new Range<>(2D, 3D, false, true))) //
|
||||
.expectNext(VALUE_3_BBUFFER) //
|
||||
.verifyComplete();
|
||||
}
|
||||
|
||||
@Test // DATAREDIS-525
|
||||
@@ -222,8 +233,9 @@ public class LettuceReactiveZSetCommandsTests extends LettuceReactiveCommandsTes
|
||||
nativeCommands.zadd(KEY_1, 2D, VALUE_2);
|
||||
nativeCommands.zadd(KEY_1, 3D, VALUE_3);
|
||||
|
||||
assertThat(connection.zSetCommands().zRevRangeByScore(KEY_1_BBUFFER, new Range<>(2D, 3D, true, false)).block(),
|
||||
IsIterableContainingInOrder.contains(VALUE_2_BBUFFER));
|
||||
StepVerifier.create(connection.zSetCommands().zRevRangeByScore(KEY_1_BBUFFER, new Range<>(2D, 3D, true, false))) //
|
||||
.expectNext(VALUE_2_BBUFFER) //
|
||||
.verifyComplete();
|
||||
}
|
||||
|
||||
@Test // DATAREDIS-525
|
||||
@@ -233,9 +245,9 @@ public class LettuceReactiveZSetCommandsTests extends LettuceReactiveCommandsTes
|
||||
nativeCommands.zadd(KEY_1, 2D, VALUE_2);
|
||||
nativeCommands.zadd(KEY_1, 3D, VALUE_3);
|
||||
|
||||
assertThat(connection.zSetCommands().zRevRangeByScoreWithScores(KEY_1_BBUFFER, new Range<>(2D, 3D)).block(),
|
||||
IsIterableContainingInOrder.contains(new DefaultTuple(VALUE_3_BBUFFER.array(), 3D),
|
||||
new DefaultTuple(VALUE_2_BBUFFER.array(), 2D)));
|
||||
StepVerifier.create(connection.zSetCommands().zRevRangeByScoreWithScores(KEY_1_BBUFFER, new Range<>(2D, 3D))) //
|
||||
.expectNext(new DefaultTuple(VALUE_3_BBUFFER.array(), 3D), new DefaultTuple(VALUE_2_BBUFFER.array(), 2D)) //
|
||||
.verifyComplete();
|
||||
}
|
||||
|
||||
@Test // DATAREDIS-525
|
||||
@@ -245,9 +257,10 @@ public class LettuceReactiveZSetCommandsTests extends LettuceReactiveCommandsTes
|
||||
nativeCommands.zadd(KEY_1, 2D, VALUE_2);
|
||||
nativeCommands.zadd(KEY_1, 3D, VALUE_3);
|
||||
|
||||
assertThat(
|
||||
connection.zSetCommands().zRevRangeByScoreWithScores(KEY_1_BBUFFER, new Range<>(2D, 3D, false, true)).block(),
|
||||
IsIterableContainingInOrder.contains(new DefaultTuple(VALUE_3_BBUFFER.array(), 3D)));
|
||||
StepVerifier
|
||||
.create(connection.zSetCommands().zRevRangeByScoreWithScores(KEY_1_BBUFFER, new Range<>(2D, 3D, false, true))) //
|
||||
.expectNext(new DefaultTuple(VALUE_3_BBUFFER.array(), 3D)) //
|
||||
.verifyComplete();
|
||||
}
|
||||
|
||||
@Test // DATAREDIS-525
|
||||
@@ -257,9 +270,10 @@ public class LettuceReactiveZSetCommandsTests extends LettuceReactiveCommandsTes
|
||||
nativeCommands.zadd(KEY_1, 2D, VALUE_2);
|
||||
nativeCommands.zadd(KEY_1, 3D, VALUE_3);
|
||||
|
||||
assertThat(
|
||||
connection.zSetCommands().zRevRangeByScoreWithScores(KEY_1_BBUFFER, new Range<>(2D, 3D, true, false)).block(),
|
||||
IsIterableContainingInOrder.contains(new DefaultTuple(VALUE_2_BBUFFER.array(), 2D)));
|
||||
StepVerifier
|
||||
.create(connection.zSetCommands().zRevRangeByScoreWithScores(KEY_1_BBUFFER, new Range<>(2D, 3D, true, false))) //
|
||||
.expectNext(new DefaultTuple(VALUE_2_BBUFFER.array(), 2D)) //
|
||||
.verifyComplete();
|
||||
}
|
||||
|
||||
@Test // DATAREDIS-525
|
||||
@@ -443,14 +457,17 @@ public class LettuceReactiveZSetCommandsTests extends LettuceReactiveCommandsTes
|
||||
nativeCommands.zadd(KEY_1, 0D, "f");
|
||||
nativeCommands.zadd(KEY_1, 0D, "g");
|
||||
|
||||
assertThat(connection.zSetCommands().zRangeByLex(KEY_1_BBUFFER, new Range<>("", "c")).block(),
|
||||
assertThat(connection.zSetCommands().zRangeByLex(KEY_1_BBUFFER, new Range<>("", "c")).collectList().block(),
|
||||
IsIterableContainingInOrder.contains(ByteBuffer.wrap("a".getBytes()), ByteBuffer.wrap("b".getBytes()),
|
||||
ByteBuffer.wrap("c".getBytes())));
|
||||
|
||||
assertThat(connection.zSetCommands().zRangeByLex(KEY_1_BBUFFER, new Range<>("", "c", true, false)).block(),
|
||||
assertThat(
|
||||
connection.zSetCommands().zRangeByLex(KEY_1_BBUFFER, new Range<>("", "c", true, false)).collectList().block(),
|
||||
IsIterableContainingInOrder.contains(ByteBuffer.wrap("a".getBytes()), ByteBuffer.wrap("b".getBytes())));
|
||||
|
||||
assertThat(connection.zSetCommands().zRangeByLex(KEY_1_BBUFFER, new Range<>("aaa", "g", true, false)).block(),
|
||||
assertThat(
|
||||
connection.zSetCommands().zRangeByLex(KEY_1_BBUFFER, new Range<>("aaa", "g", true, false)).collectList()
|
||||
.block(),
|
||||
IsIterableContainingInOrder.contains(ByteBuffer.wrap("b".getBytes()), ByteBuffer.wrap("c".getBytes()),
|
||||
ByteBuffer.wrap("d".getBytes()), ByteBuffer.wrap("e".getBytes()), ByteBuffer.wrap("f".getBytes())));
|
||||
}
|
||||
@@ -466,14 +483,18 @@ public class LettuceReactiveZSetCommandsTests extends LettuceReactiveCommandsTes
|
||||
nativeCommands.zadd(KEY_1, 0D, "f");
|
||||
nativeCommands.zadd(KEY_1, 0D, "g");
|
||||
|
||||
assertThat(connection.zSetCommands().zRevRangeByLex(KEY_1_BBUFFER, new Range<>("", "c")).block(),
|
||||
assertThat(connection.zSetCommands().zRevRangeByLex(KEY_1_BBUFFER, new Range<>("", "c")).collectList().block(),
|
||||
IsIterableContainingInOrder.contains(ByteBuffer.wrap("c".getBytes()), ByteBuffer.wrap("b".getBytes()),
|
||||
ByteBuffer.wrap("a".getBytes())));
|
||||
|
||||
assertThat(connection.zSetCommands().zRevRangeByLex(KEY_1_BBUFFER, new Range<>("", "c", true, false)).block(),
|
||||
assertThat(
|
||||
connection.zSetCommands().zRevRangeByLex(KEY_1_BBUFFER, new Range<>("", "c", true, false)).collectList()
|
||||
.block(),
|
||||
IsIterableContainingInOrder.contains(ByteBuffer.wrap("b".getBytes()), ByteBuffer.wrap("a".getBytes())));
|
||||
|
||||
assertThat(connection.zSetCommands().zRevRangeByLex(KEY_1_BBUFFER, new Range<>("aaa", "g", true, false)).block(),
|
||||
assertThat(
|
||||
connection.zSetCommands().zRevRangeByLex(KEY_1_BBUFFER, new Range<>("aaa", "g", true, false)).collectList()
|
||||
.block(),
|
||||
IsIterableContainingInOrder.contains(ByteBuffer.wrap("f".getBytes()), ByteBuffer.wrap("e".getBytes()),
|
||||
ByteBuffer.wrap("d".getBytes()), ByteBuffer.wrap("c".getBytes()), ByteBuffer.wrap("b".getBytes())));
|
||||
}
|
||||
|
||||
@@ -139,7 +139,9 @@ public class DefaultReactiveGeoOperationsIntegrationTests<K, V> {
|
||||
memberCoordinateMap.put(valueFactory.instance(), POINT_PALERMO);
|
||||
memberCoordinateMap.put(valueFactory.instance(), POINT_CATANIA);
|
||||
|
||||
StepVerifier.create(geoOperations.geoAdd(key, memberCoordinateMap)).expectNext(2L).verifyComplete();
|
||||
StepVerifier.create(geoOperations.geoAdd(key, memberCoordinateMap)) //
|
||||
.expectNext(2L) //
|
||||
.verifyComplete();
|
||||
}
|
||||
|
||||
@Test // DATAREDIS-602
|
||||
@@ -150,7 +152,9 @@ public class DefaultReactiveGeoOperationsIntegrationTests<K, V> {
|
||||
List<GeoLocation<V>> geoLocations = Arrays.asList(new GeoLocation<>(valueFactory.instance(), POINT_ARIGENTO),
|
||||
new GeoLocation<>(valueFactory.instance(), POINT_PALERMO));
|
||||
|
||||
StepVerifier.create(geoOperations.geoAdd(key, geoLocations)).expectNext(2L).verifyComplete();
|
||||
StepVerifier.create(geoOperations.geoAdd(key, geoLocations)) //
|
||||
.expectNext(2L) //
|
||||
.verifyComplete();
|
||||
}
|
||||
|
||||
@Test // DATAREDIS-602
|
||||
@@ -165,8 +169,9 @@ public class DefaultReactiveGeoOperationsIntegrationTests<K, V> {
|
||||
|
||||
Flux<List<GeoLocation<V>>> geoLocations = Flux.just(batch1, batch2);
|
||||
|
||||
StepVerifier.create(geoOperations.geoAdd(key, geoLocations)).expectNext(2L).expectNext(1L).expectComplete()
|
||||
.verify();
|
||||
StepVerifier.create(geoOperations.geoAdd(key, geoLocations)).expectNext(2L) //
|
||||
.expectNext(1L) //
|
||||
.verifyComplete();
|
||||
}
|
||||
|
||||
@Test // DATAREDIS-602
|
||||
@@ -179,11 +184,13 @@ public class DefaultReactiveGeoOperationsIntegrationTests<K, V> {
|
||||
geoOperations.geoAdd(key, POINT_PALERMO, member1).block();
|
||||
geoOperations.geoAdd(key, POINT_CATANIA, member2).block();
|
||||
|
||||
StepVerifier.create(geoOperations.geoDist(key, member1, member2)).consumeNextWith(actual -> {
|
||||
StepVerifier.create(geoOperations.geoDist(key, member1, member2)) //
|
||||
.consumeNextWith(actual -> {
|
||||
|
||||
assertThat(actual.getValue()).isCloseTo(DISTANCE_PALERMO_CATANIA_METERS, offset(0.005));
|
||||
assertThat(actual.getUnit()).isEqualTo("m");
|
||||
}).verifyComplete();
|
||||
assertThat(actual.getValue()).isCloseTo(DISTANCE_PALERMO_CATANIA_METERS, offset(0.005));
|
||||
assertThat(actual.getUnit()).isEqualTo("m");
|
||||
}) //
|
||||
.verifyComplete();
|
||||
}
|
||||
|
||||
@Test // DATAREDIS-602
|
||||
@@ -196,11 +203,13 @@ public class DefaultReactiveGeoOperationsIntegrationTests<K, V> {
|
||||
geoOperations.geoAdd(key, POINT_PALERMO, member1).block();
|
||||
geoOperations.geoAdd(key, POINT_CATANIA, member2).block();
|
||||
|
||||
StepVerifier.create(geoOperations.geoDist(key, member1, member2, Metrics.KILOMETERS)).consumeNextWith(actual -> {
|
||||
StepVerifier.create(geoOperations.geoDist(key, member1, member2, Metrics.KILOMETERS)) //
|
||||
.consumeNextWith(actual -> {
|
||||
|
||||
assertThat(actual.getValue()).isCloseTo(DISTANCE_PALERMO_CATANIA_KILOMETERS, offset(0.005));
|
||||
assertThat(actual.getUnit()).isEqualTo("km");
|
||||
}).verifyComplete();
|
||||
assertThat(actual.getValue()).isCloseTo(DISTANCE_PALERMO_CATANIA_KILOMETERS, offset(0.005));
|
||||
assertThat(actual.getUnit()).isEqualTo("km");
|
||||
}) //
|
||||
.verifyComplete();
|
||||
}
|
||||
|
||||
@Test // DATAREDIS-602
|
||||
@@ -213,8 +222,7 @@ public class DefaultReactiveGeoOperationsIntegrationTests<K, V> {
|
||||
|
||||
StepVerifier.create(geoOperations.geoHash(key, v1)) //
|
||||
.expectNext("sqc8b49rny0") //
|
||||
.expectComplete() //
|
||||
.verify();
|
||||
.verifyComplete();
|
||||
}
|
||||
|
||||
@Test // DATAREDIS-602
|
||||
@@ -230,8 +238,7 @@ public class DefaultReactiveGeoOperationsIntegrationTests<K, V> {
|
||||
|
||||
StepVerifier.create(geoOperations.geoHash(key, v1, v3, v2)) //
|
||||
.expectNext(Arrays.asList("sqc8b49rny0", null, "sqdtr74hyu0")) //
|
||||
.expectComplete() //
|
||||
.verify();
|
||||
.verifyComplete();
|
||||
}
|
||||
|
||||
@Test // DATAREDIS-602
|
||||
@@ -247,8 +254,8 @@ public class DefaultReactiveGeoOperationsIntegrationTests<K, V> {
|
||||
|
||||
assertThat(actual.getX()).isCloseTo(POINT_PALERMO.getX(), offset(0.005));
|
||||
assertThat(actual.getY()).isCloseTo(POINT_PALERMO.getY(), offset(0.005));
|
||||
}).expectComplete() //
|
||||
.verify();
|
||||
}) //
|
||||
.verifyComplete();
|
||||
}
|
||||
|
||||
@Test // DATAREDIS-602
|
||||
@@ -270,8 +277,8 @@ public class DefaultReactiveGeoOperationsIntegrationTests<K, V> {
|
||||
|
||||
assertThat(actual.get(1)).isNull();
|
||||
assertThat(actual.get(2)).isNotNull();
|
||||
}).expectComplete() //
|
||||
.verify();
|
||||
}) //
|
||||
.verifyComplete();
|
||||
}
|
||||
|
||||
@Test // DATAREDIS-438
|
||||
@@ -284,8 +291,9 @@ public class DefaultReactiveGeoOperationsIntegrationTests<K, V> {
|
||||
geoOperations.geoAdd(key, POINT_PALERMO, member1).block();
|
||||
geoOperations.geoAdd(key, POINT_CATANIA, member2).block();
|
||||
|
||||
StepVerifier.create(geoOperations.geoRadius(key, new Circle(new Point(15D, 37D), new Distance(200D, KILOMETERS))))
|
||||
.consumeNextWith(actual -> assertThat(actual).hasSize(2)).verifyComplete();
|
||||
StepVerifier.create(geoOperations.geoRadius(key, new Circle(new Point(15D, 37D), new Distance(200D, KILOMETERS)))) //
|
||||
.expectNextCount(2) //
|
||||
.verifyComplete();
|
||||
}
|
||||
|
||||
@Test // DATAREDIS-602
|
||||
@@ -298,16 +306,20 @@ public class DefaultReactiveGeoOperationsIntegrationTests<K, V> {
|
||||
geoOperations.geoAdd(key, POINT_PALERMO, member1).block();
|
||||
geoOperations.geoAdd(key, POINT_CATANIA, member2).block();
|
||||
|
||||
StepVerifier.create(geoOperations.geoRadius(key, new Circle(new Point(15D, 37D), new Distance(200D, KILOMETERS)),
|
||||
newGeoRadiusArgs().includeDistance().sortDescending())).consumeNextWith(actual -> {
|
||||
assertThat(actual).hasSize(2);
|
||||
StepVerifier
|
||||
.create(geoOperations.geoRadius(key, new Circle(new Point(15D, 37D), new Distance(200D, KILOMETERS)),
|
||||
newGeoRadiusArgs().includeDistance().sortDescending())) //
|
||||
.consumeNextWith(actual -> {
|
||||
|
||||
assertThat(actual.getContent().get(0).getDistance().getValue()).isCloseTo(190.4424d, offset(0.005));
|
||||
assertThat(actual.getContent().get(0).getContent().getName()).isEqualTo(member1);
|
||||
assertThat(actual.getDistance().getValue()).isCloseTo(190.4424d, offset(0.005));
|
||||
assertThat(actual.getContent().getName()).isEqualTo(member1);
|
||||
}) //
|
||||
.consumeNextWith(actual -> {
|
||||
|
||||
assertThat(actual.getContent().get(1).getDistance().getValue()).isCloseTo(56.4413d, offset(0.005));
|
||||
assertThat(actual.getContent().get(1).getContent().getName()).isEqualTo(member2);
|
||||
}).verifyComplete();
|
||||
assertThat(actual.getDistance().getValue()).isCloseTo(56.4413d, offset(0.005));
|
||||
assertThat(actual.getContent().getName()).isEqualTo(member2);
|
||||
}) //
|
||||
.verifyComplete();
|
||||
}
|
||||
|
||||
@Test // DATAREDIS-438
|
||||
@@ -320,10 +332,9 @@ public class DefaultReactiveGeoOperationsIntegrationTests<K, V> {
|
||||
geoOperations.geoAdd(key, POINT_PALERMO, member1).block();
|
||||
geoOperations.geoAdd(key, POINT_CATANIA, member2).block();
|
||||
|
||||
StepVerifier.create(geoOperations.geoRadius(key, new Circle(new Point(15D, 37D), new Distance(200D, KILOMETERS))))
|
||||
.consumeNextWith(actual -> assertThat(actual).hasSize(2)) //
|
||||
.expectComplete() //
|
||||
.verify();
|
||||
StepVerifier.create(geoOperations.geoRadius(key, new Circle(new Point(15D, 37D), new Distance(200D, KILOMETERS)))) //
|
||||
.expectNextCount(2) //
|
||||
.verifyComplete();
|
||||
}
|
||||
|
||||
@Test // DATAREDIS-602
|
||||
@@ -340,14 +351,12 @@ public class DefaultReactiveGeoOperationsIntegrationTests<K, V> {
|
||||
|
||||
StepVerifier.create(geoOperations.geoRadiusByMember(key, member3, 100_000)) //
|
||||
.consumeNextWith(actual -> {
|
||||
|
||||
assertThat(actual).hasSize(2);
|
||||
|
||||
assertThat(actual.get(0).getName()).isEqualTo(member3);
|
||||
assertThat(actual.get(1).getName()).isEqualTo(member1);
|
||||
assertThat(actual.getContent().getName()).isEqualTo(member3);
|
||||
}) //
|
||||
.expectComplete() //
|
||||
.verify();
|
||||
.consumeNextWith(actual -> {
|
||||
assertThat(actual.getContent().getName()).isEqualTo(member1);
|
||||
}) //
|
||||
.verifyComplete();
|
||||
}
|
||||
|
||||
@Test // DATAREDIS-602
|
||||
@@ -362,14 +371,14 @@ public class DefaultReactiveGeoOperationsIntegrationTests<K, V> {
|
||||
geoOperations.geoAdd(key, POINT_CATANIA, member2).block();
|
||||
geoOperations.geoAdd(key, POINT_ARIGENTO, member3).block();
|
||||
|
||||
StepVerifier.create(geoOperations.geoRadiusByMember(key, member3, new Distance(100D, KILOMETERS)))
|
||||
StepVerifier.create(geoOperations.geoRadiusByMember(key, member3, new Distance(100D, KILOMETERS))) //
|
||||
.consumeNextWith(actual -> {
|
||||
|
||||
assertThat(actual).hasSize(2);
|
||||
|
||||
assertThat(actual.get(0).getName()).isEqualTo(member3);
|
||||
assertThat(actual.get(1).getName()).isEqualTo(member1);
|
||||
}).verifyComplete();
|
||||
assertThat(actual.getContent().getName()).isEqualTo(member3);
|
||||
}) //
|
||||
.consumeNextWith(actual -> {
|
||||
assertThat(actual.getContent().getName()).isEqualTo(member1);
|
||||
}) //
|
||||
.verifyComplete();
|
||||
}
|
||||
|
||||
@Test // DATAREDIS-602
|
||||
@@ -384,17 +393,20 @@ public class DefaultReactiveGeoOperationsIntegrationTests<K, V> {
|
||||
geoOperations.geoAdd(key, POINT_CATANIA, member2).block();
|
||||
geoOperations.geoAdd(key, POINT_ARIGENTO, member3).block();
|
||||
|
||||
StepVerifier.create(geoOperations.geoRadiusByMember(key, member3, new Distance(100D, KILOMETERS),
|
||||
newGeoRadiusArgs().includeDistance().sortDescending())).consumeNextWith(actual -> {
|
||||
StepVerifier
|
||||
.create(geoOperations.geoRadiusByMember(key, member3, new Distance(100D, KILOMETERS),
|
||||
newGeoRadiusArgs().includeDistance().sortDescending())) //
|
||||
.consumeNextWith(actual -> {
|
||||
|
||||
assertThat(actual).hasSize(2);
|
||||
assertThat(actual.getDistance().getValue()).isCloseTo(90.9778, offset(0.005));
|
||||
assertThat(actual.getContent().getName()).isEqualTo(member1);
|
||||
}) //
|
||||
.consumeNextWith(actual -> {
|
||||
|
||||
assertThat(actual.getContent().get(0).getDistance().getValue()).isCloseTo(90.9778, offset(0.005));
|
||||
assertThat(actual.getContent().get(0).getContent().getName()).isEqualTo(member1);
|
||||
|
||||
assertThat(actual.getContent().get(1).getDistance().getValue()).isCloseTo(0.0, offset(0.005));
|
||||
assertThat(actual.getContent().get(1).getContent().getName()).isEqualTo(member3);
|
||||
}).verifyComplete();
|
||||
assertThat(actual.getDistance().getValue()).isCloseTo(0.0, offset(0.005));
|
||||
assertThat(actual.getContent().getName()).isEqualTo(member3);
|
||||
}) //
|
||||
.verifyComplete();
|
||||
}
|
||||
|
||||
@Test // DATAREDIS-602
|
||||
@@ -407,8 +419,11 @@ public class DefaultReactiveGeoOperationsIntegrationTests<K, V> {
|
||||
geoOperations.geoAdd(key, POINT_PALERMO, member1).block();
|
||||
geoOperations.geoAdd(key, POINT_CATANIA, member2).block();
|
||||
|
||||
StepVerifier.create(geoOperations.geoRemove(key, member1)).expectNext(1L).verifyComplete();
|
||||
StepVerifier.create(geoOperations.geoPos(key, member1)).verifyComplete();
|
||||
StepVerifier.create(geoOperations.geoRemove(key, member1)) //
|
||||
.expectNext(1L) //
|
||||
.verifyComplete();
|
||||
StepVerifier.create(geoOperations.geoPos(key, member1)) //
|
||||
.verifyComplete();
|
||||
}
|
||||
|
||||
@Test // DATAREDIS-602
|
||||
@@ -419,7 +434,10 @@ public class DefaultReactiveGeoOperationsIntegrationTests<K, V> {
|
||||
|
||||
geoOperations.geoAdd(key, POINT_PALERMO, member1).block();
|
||||
|
||||
StepVerifier.create(geoOperations.delete(key)).expectNext(true).verifyComplete();
|
||||
StepVerifier.create(geoOperations.geoPos(key, member1)).verifyComplete();
|
||||
StepVerifier.create(geoOperations.delete(key)) //
|
||||
.expectNext(true) //
|
||||
.verifyComplete();
|
||||
StepVerifier.create(geoOperations.geoPos(key, member1)) //
|
||||
.verifyComplete();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -22,8 +22,10 @@ import reactor.test.StepVerifier;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.Map.Entry;
|
||||
|
||||
import org.junit.AfterClass;
|
||||
import org.junit.Before;
|
||||
@@ -120,7 +122,10 @@ public class DefaultReactiveHashOperationsIntegrationTests<K, HK, HV> {
|
||||
HV hashvalue2 = hashValueFactory.instance();
|
||||
|
||||
putAll(key, hashkey1, hashvalue1, hashkey2, hashvalue2);
|
||||
StepVerifier.create(hashOperations.remove(key, hashkey1, hashkey2)).expectNext(2L).verifyComplete();
|
||||
|
||||
StepVerifier.create(hashOperations.remove(key, hashkey1, hashkey2)) //
|
||||
.expectNext(2L) //
|
||||
.verifyComplete();
|
||||
}
|
||||
|
||||
@Test // DATAREDIS-602
|
||||
@@ -130,11 +135,17 @@ public class DefaultReactiveHashOperationsIntegrationTests<K, HK, HV> {
|
||||
HK hashkey = hashKeyFactory.instance();
|
||||
HV hashvalue = hashValueFactory.instance();
|
||||
|
||||
StepVerifier.create(hashOperations.put(key, hashkey, hashvalue)).expectNext(true).verifyComplete();
|
||||
StepVerifier.create(hashOperations.put(key, hashkey, hashvalue)) //
|
||||
.expectNext(true) //
|
||||
.verifyComplete();
|
||||
|
||||
StepVerifier.create(hashOperations.hasKey(key, hashkey)).expectNext(true).verifyComplete();
|
||||
StepVerifier.create(hashOperations.hasKey(key, hashKeyFactory.instance())).expectNext(false).expectComplete()
|
||||
.verify();
|
||||
StepVerifier.create(hashOperations.hasKey(key, hashkey)) //
|
||||
.expectNext(true) //
|
||||
.verifyComplete();
|
||||
|
||||
StepVerifier.create(hashOperations.hasKey(key, hashKeyFactory.instance())) //
|
||||
.expectNext(false) //
|
||||
.verifyComplete();
|
||||
}
|
||||
|
||||
@Test // DATAREDIS-602
|
||||
@@ -144,9 +155,13 @@ public class DefaultReactiveHashOperationsIntegrationTests<K, HK, HV> {
|
||||
HK hashkey = hashKeyFactory.instance();
|
||||
HV hashvalue = hashValueFactory.instance();
|
||||
|
||||
StepVerifier.create(hashOperations.put(key, hashkey, hashvalue)).expectNext(true).verifyComplete();
|
||||
StepVerifier.create(hashOperations.put(key, hashkey, hashvalue)) //
|
||||
.expectNext(true) //
|
||||
.verifyComplete();
|
||||
|
||||
StepVerifier.create(hashOperations.get(key, hashkey)).expectNextCount(1).verifyComplete();
|
||||
StepVerifier.create(hashOperations.get(key, hashkey)) //
|
||||
.expectNextCount(1) //
|
||||
.verifyComplete();
|
||||
}
|
||||
|
||||
@Test // DATAREDIS-602
|
||||
@@ -163,9 +178,11 @@ public class DefaultReactiveHashOperationsIntegrationTests<K, HK, HV> {
|
||||
|
||||
putAll(key, hashkey1, hashvalue1, hashkey2, hashvalue2);
|
||||
|
||||
StepVerifier.create(hashOperations.multiGet(key, Arrays.asList(hashkey1, hashkey2))).consumeNextWith(actual -> {
|
||||
assertThat(actual).hasSize(2).containsSequence(hashvalue1, hashvalue2);
|
||||
}).verifyComplete();
|
||||
StepVerifier.create(hashOperations.multiGet(key, Arrays.asList(hashkey1, hashkey2))) //
|
||||
.consumeNextWith(actual -> {
|
||||
assertThat(actual).hasSize(2).containsSequence(hashvalue1, hashvalue2);
|
||||
}) //
|
||||
.verifyComplete();
|
||||
}
|
||||
|
||||
@Test // DATAREDIS-602
|
||||
@@ -177,9 +194,17 @@ public class DefaultReactiveHashOperationsIntegrationTests<K, HK, HV> {
|
||||
HK hashkey = hashKeyFactory.instance();
|
||||
HV hashvalue = (HV) "1";
|
||||
|
||||
StepVerifier.create(hashOperations.put(key, hashkey, hashvalue)).expectNext(true).verifyComplete();
|
||||
StepVerifier.create(hashOperations.increment(key, hashkey, 1L)).expectNext(2L).verifyComplete();
|
||||
StepVerifier.create(hashOperations.get(key, hashkey)).expectNext((HV) "2").verifyComplete();
|
||||
StepVerifier.create(hashOperations.put(key, hashkey, hashvalue)) //
|
||||
.expectNext(true) //
|
||||
.verifyComplete();
|
||||
|
||||
StepVerifier.create(hashOperations.increment(key, hashkey, 1L)) //
|
||||
.expectNext(2L) //
|
||||
.verifyComplete();
|
||||
|
||||
StepVerifier.create(hashOperations.get(key, hashkey)) //
|
||||
.expectNext((HV) "2") //
|
||||
.verifyComplete();
|
||||
}
|
||||
|
||||
@Test // DATAREDIS-602
|
||||
@@ -192,9 +217,17 @@ public class DefaultReactiveHashOperationsIntegrationTests<K, HK, HV> {
|
||||
HK hashkey = hashKeyFactory.instance();
|
||||
HV hashvalue = (HV) "1";
|
||||
|
||||
StepVerifier.create(hashOperations.put(key, hashkey, hashvalue)).expectNext(true).verifyComplete();
|
||||
StepVerifier.create(hashOperations.increment(key, hashkey, 1.1d)).expectNext(2.1d).verifyComplete();
|
||||
StepVerifier.create(hashOperations.get(key, hashkey)).expectNext((HV) "2.1").verifyComplete();
|
||||
StepVerifier.create(hashOperations.put(key, hashkey, hashvalue)) //
|
||||
.expectNext(true) //
|
||||
.verifyComplete();
|
||||
|
||||
StepVerifier.create(hashOperations.increment(key, hashkey, 1.1d)) //
|
||||
.expectNext(2.1d) //
|
||||
.verifyComplete();
|
||||
|
||||
StepVerifier.create(hashOperations.get(key, hashkey)) //
|
||||
.expectNext((HV) "2.1") //
|
||||
.verifyComplete();
|
||||
}
|
||||
|
||||
@Test // DATAREDIS-602
|
||||
@@ -211,9 +244,9 @@ public class DefaultReactiveHashOperationsIntegrationTests<K, HK, HV> {
|
||||
|
||||
putAll(key, hashkey1, hashvalue1, hashkey2, hashvalue2);
|
||||
|
||||
StepVerifier.create(hashOperations.keys(key)).consumeNextWith(actual -> {
|
||||
assertThat(actual).hasSize(2).contains(hashkey1, hashkey2);
|
||||
}).verifyComplete();
|
||||
StepVerifier.create(hashOperations.keys(key).buffer(2)) //
|
||||
.consumeNextWith(list -> assertThat(list).containsExactlyInAnyOrder(hashkey1, hashkey2)) //
|
||||
.verifyComplete();
|
||||
}
|
||||
|
||||
@Test // DATAREDIS-602
|
||||
@@ -228,7 +261,9 @@ public class DefaultReactiveHashOperationsIntegrationTests<K, HK, HV> {
|
||||
|
||||
putAll(key, hashkey1, hashvalue1, hashkey2, hashvalue2);
|
||||
|
||||
StepVerifier.create(hashOperations.size(key)).expectNext(2L).verifyComplete();
|
||||
StepVerifier.create(hashOperations.size(key)) //
|
||||
.expectNext(2L) //
|
||||
.verifyComplete();
|
||||
}
|
||||
|
||||
@Test // DATAREDIS-602
|
||||
@@ -243,8 +278,13 @@ public class DefaultReactiveHashOperationsIntegrationTests<K, HK, HV> {
|
||||
|
||||
putAll(key, hashkey1, hashvalue1, hashkey2, hashvalue2);
|
||||
|
||||
StepVerifier.create(hashOperations.hasKey(key, hashkey1)).expectNext(true).verifyComplete();
|
||||
StepVerifier.create(hashOperations.hasKey(key, hashkey2)).expectNext(true).verifyComplete();
|
||||
StepVerifier.create(hashOperations.hasKey(key, hashkey1)) //
|
||||
.expectNext(true) //
|
||||
.verifyComplete();
|
||||
|
||||
StepVerifier.create(hashOperations.hasKey(key, hashkey2)) //
|
||||
.expectNext(true) //
|
||||
.verifyComplete();
|
||||
}
|
||||
|
||||
@Test // DATAREDIS-602
|
||||
@@ -254,7 +294,9 @@ public class DefaultReactiveHashOperationsIntegrationTests<K, HK, HV> {
|
||||
HK hashkey = hashKeyFactory.instance();
|
||||
HV hashvalue = hashValueFactory.instance();
|
||||
|
||||
StepVerifier.create(hashOperations.put(key, hashkey, hashvalue)).expectNext(true).verifyComplete();
|
||||
StepVerifier.create(hashOperations.put(key, hashkey, hashvalue)) //
|
||||
.expectNext(true) //
|
||||
.verifyComplete();
|
||||
}
|
||||
|
||||
@Test // DATAREDIS-602
|
||||
@@ -265,9 +307,13 @@ public class DefaultReactiveHashOperationsIntegrationTests<K, HK, HV> {
|
||||
HV hashvalue = hashValueFactory.instance();
|
||||
HV hashvalue2 = hashValueFactory.instance();
|
||||
|
||||
StepVerifier.create(hashOperations.putIfAbsent(key, hashkey, hashvalue)).expectNext(true).verifyComplete();
|
||||
StepVerifier.create(hashOperations.putIfAbsent(key, hashkey, hashvalue2)).expectNext(false).expectComplete()
|
||||
.verify();
|
||||
StepVerifier.create(hashOperations.putIfAbsent(key, hashkey, hashvalue)) //
|
||||
.expectNext(true) //
|
||||
.verifyComplete();
|
||||
|
||||
StepVerifier.create(hashOperations.putIfAbsent(key, hashkey, hashvalue2)) //
|
||||
.expectNext(false) //
|
||||
.verifyComplete();
|
||||
}
|
||||
|
||||
@Test // DATAREDIS-602
|
||||
@@ -284,9 +330,9 @@ public class DefaultReactiveHashOperationsIntegrationTests<K, HK, HV> {
|
||||
|
||||
putAll(key, hashkey1, hashvalue1, hashkey2, hashvalue2);
|
||||
|
||||
StepVerifier.create(hashOperations.values(key)).consumeNextWith(actual -> {
|
||||
assertThat(actual).hasSize(2).contains(hashvalue1, hashvalue2);
|
||||
}).verifyComplete();
|
||||
StepVerifier.create(hashOperations.values(key)) //
|
||||
.expectNextCount(2) //
|
||||
.verifyComplete();
|
||||
}
|
||||
|
||||
@Test // DATAREDIS-602
|
||||
@@ -303,9 +349,15 @@ public class DefaultReactiveHashOperationsIntegrationTests<K, HK, HV> {
|
||||
|
||||
putAll(key, hashkey1, hashvalue1, hashkey2, hashvalue2);
|
||||
|
||||
StepVerifier.create(hashOperations.entries(key)).consumeNextWith(actual -> {
|
||||
assertThat(actual).hasSize(2).containsEntry(hashkey1, hashvalue1).containsEntry(hashkey2, hashvalue2);
|
||||
}).verifyComplete();
|
||||
StepVerifier.create(hashOperations.entries(key).buffer(2)) //
|
||||
.consumeNextWith(list -> {
|
||||
|
||||
Entry<HK, HV> entry1 = Collections.singletonMap(hashkey1, hashvalue1).entrySet().iterator().next();
|
||||
Entry<HK, HV> entry2 = Collections.singletonMap(hashkey2, hashvalue2).entrySet().iterator().next();
|
||||
|
||||
assertThat(list).containsExactlyInAnyOrder(entry1, entry2);
|
||||
}) //
|
||||
.verifyComplete();
|
||||
}
|
||||
|
||||
@Test // DATAREDIS-602
|
||||
@@ -315,10 +367,17 @@ public class DefaultReactiveHashOperationsIntegrationTests<K, HK, HV> {
|
||||
HK hashkey = hashKeyFactory.instance();
|
||||
HV hashvalue = hashValueFactory.instance();
|
||||
|
||||
StepVerifier.create(hashOperations.put(key, hashkey, hashvalue)).expectNext(true).verifyComplete();
|
||||
StepVerifier.create(hashOperations.delete(key)).expectNext(true).verifyComplete();
|
||||
StepVerifier.create(hashOperations.put(key, hashkey, hashvalue)) //
|
||||
.expectNext(true) //
|
||||
.verifyComplete();
|
||||
|
||||
StepVerifier.create(hashOperations.size(key)).expectNext(0L).verifyComplete();
|
||||
StepVerifier.create(hashOperations.delete(key)) //
|
||||
.expectNext(true) //
|
||||
.verifyComplete();
|
||||
|
||||
StepVerifier.create(hashOperations.size(key)) //
|
||||
.expectNext(0L) //
|
||||
.verifyComplete();
|
||||
}
|
||||
|
||||
private void putAll(K key, HK hashkey1, HV hashvalue1, HK hashkey2, HV hashvalue2) {
|
||||
@@ -327,6 +386,8 @@ public class DefaultReactiveHashOperationsIntegrationTests<K, HK, HV> {
|
||||
map.put(hashkey1, hashvalue1);
|
||||
map.put(hashkey2, hashvalue2);
|
||||
|
||||
StepVerifier.create(hashOperations.putAll(key, map)).expectNext(true).verifyComplete();
|
||||
StepVerifier.create(hashOperations.putAll(key, map)) //
|
||||
.expectNext(true) //
|
||||
.verifyComplete();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -17,7 +17,6 @@ package org.springframework.data.redis.core;
|
||||
|
||||
import static org.junit.Assume.*;
|
||||
|
||||
import reactor.core.publisher.Flux;
|
||||
import reactor.test.StepVerifier;
|
||||
|
||||
import java.time.Duration;
|
||||
@@ -95,11 +94,17 @@ public class DefaultReactiveListOperationsIntegrationTests<K, V> {
|
||||
V value1 = valueFactory.instance();
|
||||
V value2 = valueFactory.instance();
|
||||
|
||||
StepVerifier.create(listOperations.rightPushAll(key, value1, value2)).expectNext(2L).verifyComplete();
|
||||
StepVerifier.create(listOperations.rightPushAll(key, value1, value2)) //
|
||||
.expectNext(2L) //
|
||||
.verifyComplete();
|
||||
|
||||
StepVerifier.create(listOperations.trim(key, 0, 0)).expectNext(true).verifyComplete();
|
||||
StepVerifier.create(listOperations.trim(key, 0, 0)) //
|
||||
.expectNext(true) //
|
||||
.verifyComplete();
|
||||
|
||||
StepVerifier.create(listOperations.size(key)).expectNext(1L).verifyComplete();
|
||||
StepVerifier.create(listOperations.size(key)) //
|
||||
.expectNext(1L) //
|
||||
.verifyComplete();
|
||||
}
|
||||
|
||||
@Test // DATAREDIS-602
|
||||
@@ -108,9 +113,17 @@ public class DefaultReactiveListOperationsIntegrationTests<K, V> {
|
||||
K key = keyFactory.instance();
|
||||
V value1 = valueFactory.instance();
|
||||
|
||||
StepVerifier.create(listOperations.size(key)).expectNext(0L).verifyComplete();
|
||||
StepVerifier.create(listOperations.rightPush(key, value1)).expectNext(1L).verifyComplete();
|
||||
StepVerifier.create(listOperations.size(key)).expectNext(1L).verifyComplete();
|
||||
StepVerifier.create(listOperations.size(key)) //
|
||||
.expectNext(0L) //
|
||||
.verifyComplete();
|
||||
|
||||
StepVerifier.create(listOperations.rightPush(key, value1)) //
|
||||
.expectNext(1L) //
|
||||
.verifyComplete();
|
||||
|
||||
StepVerifier.create(listOperations.size(key)) //
|
||||
.expectNext(1L) //
|
||||
.verifyComplete();
|
||||
}
|
||||
|
||||
@Test // DATAREDIS-602
|
||||
@@ -122,11 +135,18 @@ public class DefaultReactiveListOperationsIntegrationTests<K, V> {
|
||||
V value1 = valueFactory.instance();
|
||||
V value2 = valueFactory.instance();
|
||||
|
||||
StepVerifier.create(listOperations.leftPush(key, value1)).expectNext(1L).verifyComplete();
|
||||
StepVerifier.create(listOperations.leftPush(key, value2)).expectNext(2L).verifyComplete();
|
||||
StepVerifier.create(listOperations.leftPush(key, value1)) //
|
||||
.expectNext(1L) //
|
||||
.verifyComplete();
|
||||
|
||||
StepVerifier.create(listOperations.range(key, 0, -1).flatMapMany(Flux::fromIterable)).expectNext(value2)
|
||||
.expectNext(value1).verifyComplete();
|
||||
StepVerifier.create(listOperations.leftPush(key, value2)) //
|
||||
.expectNext(2L) //
|
||||
.verifyComplete();
|
||||
|
||||
StepVerifier.create(listOperations.range(key, 0, -1)) //
|
||||
.expectNext(value2) //
|
||||
.expectNext(value1) //
|
||||
.verifyComplete();
|
||||
}
|
||||
|
||||
@Test // DATAREDIS-602
|
||||
@@ -138,10 +158,14 @@ public class DefaultReactiveListOperationsIntegrationTests<K, V> {
|
||||
V value1 = valueFactory.instance();
|
||||
V value2 = valueFactory.instance();
|
||||
|
||||
StepVerifier.create(listOperations.leftPushAll(key, value1, value2)).expectNext(2L).verifyComplete();
|
||||
StepVerifier.create(listOperations.leftPushAll(key, value1, value2)) //
|
||||
.expectNext(2L) //
|
||||
.verifyComplete();
|
||||
|
||||
StepVerifier.create(listOperations.range(key, 0, -1).flatMapMany(Flux::fromIterable)).expectNext(value2)
|
||||
.expectNext(value1).verifyComplete();
|
||||
StepVerifier.create(listOperations.range(key, 0, -1)) //
|
||||
.expectNext(value2) //
|
||||
.expectNext(value1) //
|
||||
.verifyComplete();
|
||||
}
|
||||
|
||||
@Test // DATAREDIS-602
|
||||
@@ -151,9 +175,17 @@ public class DefaultReactiveListOperationsIntegrationTests<K, V> {
|
||||
V value1 = valueFactory.instance();
|
||||
V value2 = valueFactory.instance();
|
||||
|
||||
StepVerifier.create(listOperations.leftPushIfPresent(key, value1)).expectNext(0L).verifyComplete();
|
||||
StepVerifier.create(listOperations.leftPush(key, value1)).expectNext(1L).verifyComplete();
|
||||
StepVerifier.create(listOperations.leftPushIfPresent(key, value2)).expectNext(2L).verifyComplete();
|
||||
StepVerifier.create(listOperations.leftPushIfPresent(key, value1)) //
|
||||
.expectNext(0L) //
|
||||
.verifyComplete();
|
||||
|
||||
StepVerifier.create(listOperations.leftPush(key, value1)) //
|
||||
.expectNext(1L) //
|
||||
.verifyComplete();
|
||||
|
||||
StepVerifier.create(listOperations.leftPushIfPresent(key, value2)) //
|
||||
.expectNext(2L) //
|
||||
.verifyComplete();
|
||||
}
|
||||
|
||||
@Test // DATAREDIS-602
|
||||
@@ -166,12 +198,19 @@ public class DefaultReactiveListOperationsIntegrationTests<K, V> {
|
||||
V value2 = valueFactory.instance();
|
||||
V value3 = valueFactory.instance();
|
||||
|
||||
StepVerifier.create(listOperations.leftPushAll(key, value1, value2)).expectNext(2L).verifyComplete();
|
||||
StepVerifier.create(listOperations.leftPushAll(key, value1, value2)) //
|
||||
.expectNext(2L) //
|
||||
.verifyComplete();
|
||||
|
||||
StepVerifier.create(listOperations.leftPush(key, value1, value3)).expectNext(3L).verifyComplete();
|
||||
StepVerifier.create(listOperations.leftPush(key, value1, value3)) //
|
||||
.expectNext(3L) //
|
||||
.verifyComplete();
|
||||
|
||||
StepVerifier.create(listOperations.range(key, 0, -1).flatMapMany(Flux::fromIterable)).expectNext(value2)
|
||||
.expectNext(value3).expectNext(value1).verifyComplete();
|
||||
StepVerifier.create(listOperations.range(key, 0, -1)) //
|
||||
.expectNext(value2) //
|
||||
.expectNext(value3) //
|
||||
.expectNext(value1) //
|
||||
.verifyComplete();
|
||||
}
|
||||
|
||||
@Test // DATAREDIS-602
|
||||
@@ -183,11 +222,17 @@ public class DefaultReactiveListOperationsIntegrationTests<K, V> {
|
||||
V value1 = valueFactory.instance();
|
||||
V value2 = valueFactory.instance();
|
||||
|
||||
StepVerifier.create(listOperations.rightPush(key, value1)).expectNext(1L).verifyComplete();
|
||||
StepVerifier.create(listOperations.rightPush(key, value2)).expectNext(2L).verifyComplete();
|
||||
StepVerifier.create(listOperations.rightPush(key, value1)) //
|
||||
.expectNext(1L) //
|
||||
.verifyComplete();
|
||||
StepVerifier.create(listOperations.rightPush(key, value2)) //
|
||||
.expectNext(2L) //
|
||||
.verifyComplete();
|
||||
|
||||
StepVerifier.create(listOperations.range(key, 0, -1).flatMapMany(Flux::fromIterable)).expectNext(value1)
|
||||
.expectNext(value2).verifyComplete();
|
||||
StepVerifier.create(listOperations.range(key, 0, -1)) //
|
||||
.expectNext(value1) //
|
||||
.expectNext(value2) //
|
||||
.verifyComplete();
|
||||
}
|
||||
|
||||
@Test // DATAREDIS-602
|
||||
@@ -201,8 +246,10 @@ public class DefaultReactiveListOperationsIntegrationTests<K, V> {
|
||||
|
||||
StepVerifier.create(listOperations.rightPushAll(key, value1, value2)).expectNext(2L).verifyComplete();
|
||||
|
||||
StepVerifier.create(listOperations.range(key, 0, -1).flatMapMany(Flux::fromIterable)).expectNext(value1)
|
||||
.expectNext(value2).verifyComplete();
|
||||
StepVerifier.create(listOperations.range(key, 0, -1)) //
|
||||
.expectNext(value1) //
|
||||
.expectNext(value2) //
|
||||
.verifyComplete();
|
||||
}
|
||||
|
||||
@Test // DATAREDIS-602
|
||||
@@ -231,8 +278,11 @@ public class DefaultReactiveListOperationsIntegrationTests<K, V> {
|
||||
|
||||
StepVerifier.create(listOperations.rightPush(key, value1, value3)).expectNext(3L).verifyComplete();
|
||||
|
||||
StepVerifier.create(listOperations.range(key, 0, -1).flatMapMany(Flux::fromIterable)).expectNext(value1)
|
||||
.expectNext(value3).expectNext(value2).verifyComplete();
|
||||
StepVerifier.create(listOperations.range(key, 0, -1)) //
|
||||
.expectNext(value1) //
|
||||
.expectNext(value3) //
|
||||
.expectNext(value2) //
|
||||
.verifyComplete();
|
||||
}
|
||||
|
||||
@Test // DATAREDIS-602
|
||||
@@ -248,8 +298,10 @@ public class DefaultReactiveListOperationsIntegrationTests<K, V> {
|
||||
|
||||
StepVerifier.create(listOperations.set(key, 1, value1)).expectNext(true).verifyComplete();
|
||||
|
||||
StepVerifier.create(listOperations.range(key, 0, -1).flatMapMany(Flux::fromIterable)).expectNext(value1)
|
||||
.expectNext(value1).verifyComplete();
|
||||
StepVerifier.create(listOperations.range(key, 0, -1)) //
|
||||
.expectNext(value1) //
|
||||
.expectNext(value1) //
|
||||
.verifyComplete();
|
||||
}
|
||||
|
||||
@Test // DATAREDIS-602
|
||||
@@ -265,7 +317,8 @@ public class DefaultReactiveListOperationsIntegrationTests<K, V> {
|
||||
|
||||
StepVerifier.create(listOperations.remove(key, 1, value1)).expectNext(1L).verifyComplete();
|
||||
|
||||
StepVerifier.create(listOperations.range(key, 0, -1).flatMapMany(Flux::fromIterable)).expectNext(value2)
|
||||
StepVerifier.create(listOperations.range(key, 0, -1)) //
|
||||
.expectNext(value2) //
|
||||
.verifyComplete();
|
||||
}
|
||||
|
||||
|
||||
@@ -18,11 +18,13 @@ package org.springframework.data.redis.core;
|
||||
import static org.assertj.core.api.Assertions.*;
|
||||
import static org.junit.Assume.*;
|
||||
|
||||
import reactor.core.publisher.Flux;
|
||||
import reactor.test.StepVerifier;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Collection;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
|
||||
import org.junit.AfterClass;
|
||||
import org.junit.Before;
|
||||
@@ -173,9 +175,11 @@ public class DefaultReactiveSetOperationsIntegrationTests<K, V> {
|
||||
StepVerifier.create(setOperations.add(key, onlyInKey, shared)).expectNext(2L).verifyComplete();
|
||||
StepVerifier.create(setOperations.add(otherKey, onlyInOtherKey, shared)).expectNext(2L).verifyComplete();
|
||||
|
||||
StepVerifier.create(setOperations.intersect(key, otherKey)).consumeNextWith(actual -> {
|
||||
assertThat(actual).contains(shared);
|
||||
}).verifyComplete();
|
||||
StepVerifier.create(setOperations.intersect(key, otherKey)) //
|
||||
.consumeNextWith(actual -> {
|
||||
assertThat(actual).isEqualTo(shared);
|
||||
}) //
|
||||
.verifyComplete();
|
||||
}
|
||||
|
||||
@Test // DATAREDIS-602
|
||||
@@ -213,9 +217,11 @@ public class DefaultReactiveSetOperationsIntegrationTests<K, V> {
|
||||
StepVerifier.create(setOperations.add(key, onlyInKey, shared)).expectNext(2L).verifyComplete();
|
||||
StepVerifier.create(setOperations.add(otherKey, onlyInOtherKey, shared)).expectNext(2L).verifyComplete();
|
||||
|
||||
StepVerifier.create(setOperations.difference(key, otherKey)).consumeNextWith(actual -> {
|
||||
assertThat(actual).contains(onlyInKey);
|
||||
}).verifyComplete();
|
||||
StepVerifier.create(setOperations.difference(key, otherKey)) //
|
||||
.consumeNextWith(actual -> {
|
||||
assertThat(actual).isEqualTo(onlyInKey);
|
||||
}) //
|
||||
.verifyComplete();
|
||||
}
|
||||
|
||||
@Test // DATAREDIS-602
|
||||
@@ -253,9 +259,9 @@ public class DefaultReactiveSetOperationsIntegrationTests<K, V> {
|
||||
StepVerifier.create(setOperations.add(key, onlyInKey, shared)).expectNext(2L).verifyComplete();
|
||||
StepVerifier.create(setOperations.add(otherKey, onlyInOtherKey, shared)).expectNext(2L).verifyComplete();
|
||||
|
||||
StepVerifier.create(setOperations.union(key, otherKey)).consumeNextWith(actual -> {
|
||||
assertThat(actual).contains(onlyInKey, shared, onlyInOtherKey);
|
||||
}).verifyComplete();
|
||||
StepVerifier.create(setOperations.union(key, otherKey)) //
|
||||
.expectNextCount(3) //
|
||||
.verifyComplete();
|
||||
}
|
||||
|
||||
@Test // DATAREDIS-602
|
||||
@@ -289,8 +295,8 @@ public class DefaultReactiveSetOperationsIntegrationTests<K, V> {
|
||||
V value2 = valueFactory.instance();
|
||||
|
||||
StepVerifier.create(setOperations.add(key, value1, value2)).expectNext(2L).verifyComplete();
|
||||
StepVerifier.create(setOperations.members(key)).expectNext(new HashSet<V>(Arrays.asList(value1, value2)))
|
||||
.verifyComplete();
|
||||
StepVerifier.create(setOperations.members(key)) //
|
||||
.consumeNextWith(actual -> assertThat(actual).isIn(value1, value2)).expectNextCount(1).verifyComplete();
|
||||
}
|
||||
|
||||
@Test // DATAREDIS-602
|
||||
@@ -320,9 +326,7 @@ public class DefaultReactiveSetOperationsIntegrationTests<K, V> {
|
||||
|
||||
StepVerifier.create(setOperations.add(key, value1, value2)).expectNext(2L).verifyComplete();
|
||||
|
||||
StepVerifier.create(setOperations.randomMembers(key, 3)).consumeNextWith(actual -> {
|
||||
assertThat(actual).hasSize(3);
|
||||
}).verifyComplete();
|
||||
StepVerifier.create(setOperations.randomMembers(key, 3)).expectNextCount(3).verifyComplete();
|
||||
}
|
||||
|
||||
@Test // DATAREDIS-602
|
||||
@@ -336,9 +340,9 @@ public class DefaultReactiveSetOperationsIntegrationTests<K, V> {
|
||||
|
||||
StepVerifier.create(setOperations.add(key, value1, value2)).expectNext(2L).verifyComplete();
|
||||
|
||||
StepVerifier.create(setOperations.distinctRandomMembers(key, 2)).consumeNextWith(actual -> {
|
||||
assertThat(actual).hasSize(2);
|
||||
}).verifyComplete();
|
||||
StepVerifier.create(setOperations.distinctRandomMembers(key, 2)) //
|
||||
.expectNextCount(2) //
|
||||
.verifyComplete();
|
||||
}
|
||||
|
||||
@Test // DATAREDIS-602
|
||||
|
||||
@@ -15,7 +15,6 @@
|
||||
*/
|
||||
package org.springframework.data.redis.core;
|
||||
|
||||
import static org.assertj.core.api.Assertions.*;
|
||||
import static org.junit.Assume.*;
|
||||
|
||||
import reactor.test.StepVerifier;
|
||||
@@ -186,9 +185,8 @@ public class DefaultReactiveZSetOperationsIntegrationTests<K, V> {
|
||||
StepVerifier.create(zSetOperations.add(key, value2, 10)).expectNext(true).verifyComplete();
|
||||
|
||||
StepVerifier.create(zSetOperations.range(key, new Range<>(0L, 0L))) //
|
||||
.consumeNextWith(actual -> {
|
||||
assertThat(actual).hasSize(1).contains(value2);
|
||||
}).verifyComplete();
|
||||
.expectNext(value2) //
|
||||
.verifyComplete();
|
||||
|
||||
}
|
||||
|
||||
@@ -205,9 +203,8 @@ public class DefaultReactiveZSetOperationsIntegrationTests<K, V> {
|
||||
StepVerifier.create(zSetOperations.add(key, value2, 10)).expectNext(true).verifyComplete();
|
||||
|
||||
StepVerifier.create(zSetOperations.rangeWithScores(key, new Range<>(0L, 0L))) //
|
||||
.consumeNextWith(actual -> {
|
||||
assertThat(actual).hasSize(1).contains(new DefaultTypedTuple<>(value2, 10d));
|
||||
}).verifyComplete();
|
||||
.expectNext(new DefaultTypedTuple<>(value2, 10d)) //
|
||||
.verifyComplete();
|
||||
}
|
||||
|
||||
@Test // DATAREDIS-602
|
||||
@@ -223,9 +220,8 @@ public class DefaultReactiveZSetOperationsIntegrationTests<K, V> {
|
||||
StepVerifier.create(zSetOperations.add(key, value2, 10)).expectNext(true).verifyComplete();
|
||||
|
||||
StepVerifier.create(zSetOperations.rangeByScore(key, new Range<>(9d, 11d))) //
|
||||
.consumeNextWith(actual -> {
|
||||
assertThat(actual).hasSize(1).contains(value2);
|
||||
}).verifyComplete();
|
||||
.expectNext(value2) //
|
||||
.verifyComplete();
|
||||
}
|
||||
|
||||
@Test // DATAREDIS-602
|
||||
@@ -241,9 +237,8 @@ public class DefaultReactiveZSetOperationsIntegrationTests<K, V> {
|
||||
StepVerifier.create(zSetOperations.add(key, value2, 10)).expectNext(true).verifyComplete();
|
||||
|
||||
StepVerifier.create(zSetOperations.rangeByScoreWithScores(key, new Range<>(9d, 11d))) //
|
||||
.consumeNextWith(actual -> {
|
||||
assertThat(actual).hasSize(1).contains(new DefaultTypedTuple<>(value2, 10d));
|
||||
}).verifyComplete();
|
||||
.expectNext(new DefaultTypedTuple<>(value2, 10d)) //
|
||||
.verifyComplete();
|
||||
}
|
||||
|
||||
@Test // DATAREDIS-602
|
||||
@@ -261,9 +256,8 @@ public class DefaultReactiveZSetOperationsIntegrationTests<K, V> {
|
||||
StepVerifier
|
||||
.create(zSetOperations.rangeByScore(key, new Range<>(0d, 100d), //
|
||||
Limit.limit().offset(1).count(10))) //
|
||||
.consumeNextWith(actual -> {
|
||||
assertThat(actual).hasSize(1).contains(value1);
|
||||
}).verifyComplete();
|
||||
.expectNext(value1) //
|
||||
.verifyComplete();
|
||||
}
|
||||
|
||||
@Test // DATAREDIS-602
|
||||
@@ -281,9 +275,8 @@ public class DefaultReactiveZSetOperationsIntegrationTests<K, V> {
|
||||
StepVerifier
|
||||
.create(zSetOperations.rangeByScoreWithScores(key, new Range<>(0d, 100d), //
|
||||
Limit.limit().offset(1).count(10))) //
|
||||
.consumeNextWith(actual -> {
|
||||
assertThat(actual).hasSize(1).contains(new DefaultTypedTuple<>(value1, 42.1));
|
||||
}).verifyComplete();
|
||||
.expectNext(new DefaultTypedTuple<>(value1, 42.1)) //
|
||||
.verifyComplete();
|
||||
}
|
||||
|
||||
@Test // DATAREDIS-602
|
||||
@@ -299,9 +292,8 @@ public class DefaultReactiveZSetOperationsIntegrationTests<K, V> {
|
||||
StepVerifier.create(zSetOperations.add(key, value2, 10)).expectNext(true).verifyComplete();
|
||||
|
||||
StepVerifier.create(zSetOperations.reverseRange(key, new Range<>(0L, 0L))) //
|
||||
.consumeNextWith(actual -> {
|
||||
assertThat(actual).hasSize(1).contains(value1);
|
||||
}).verifyComplete();
|
||||
.expectNext(value1) //
|
||||
.verifyComplete();
|
||||
|
||||
}
|
||||
|
||||
@@ -318,9 +310,8 @@ public class DefaultReactiveZSetOperationsIntegrationTests<K, V> {
|
||||
StepVerifier.create(zSetOperations.add(key, value2, 10)).expectNext(true).verifyComplete();
|
||||
|
||||
StepVerifier.create(zSetOperations.reverseRangeWithScores(key, new Range<>(0L, 0L))) //
|
||||
.consumeNextWith(actual -> {
|
||||
assertThat(actual).hasSize(1).contains(new DefaultTypedTuple<>(value1, 42.1));
|
||||
}).verifyComplete();
|
||||
.expectNext(new DefaultTypedTuple<>(value1, 42.1)) //
|
||||
.verifyComplete();
|
||||
}
|
||||
|
||||
@Test // DATAREDIS-602
|
||||
@@ -336,9 +327,8 @@ public class DefaultReactiveZSetOperationsIntegrationTests<K, V> {
|
||||
StepVerifier.create(zSetOperations.add(key, value2, 10)).expectNext(true).verifyComplete();
|
||||
|
||||
StepVerifier.create(zSetOperations.reverseRangeByScore(key, new Range<>(9d, 11d))) //
|
||||
.consumeNextWith(actual -> {
|
||||
assertThat(actual).hasSize(1).contains(value2);
|
||||
}).verifyComplete();
|
||||
.expectNext(value2) //
|
||||
.verifyComplete();
|
||||
}
|
||||
|
||||
@Test // DATAREDIS-602
|
||||
@@ -354,9 +344,8 @@ public class DefaultReactiveZSetOperationsIntegrationTests<K, V> {
|
||||
StepVerifier.create(zSetOperations.add(key, value2, 10)).expectNext(true).verifyComplete();
|
||||
|
||||
StepVerifier.create(zSetOperations.reverseRangeByScoreWithScores(key, new Range<>(9d, 11d))) //
|
||||
.consumeNextWith(actual -> {
|
||||
assertThat(actual).hasSize(1).contains(new DefaultTypedTuple<V>(value2, 10d));
|
||||
}).verifyComplete();
|
||||
.expectNext(new DefaultTypedTuple<V>(value2, 10d)) //
|
||||
.verifyComplete();
|
||||
}
|
||||
|
||||
@Test // DATAREDIS-602
|
||||
@@ -374,9 +363,8 @@ public class DefaultReactiveZSetOperationsIntegrationTests<K, V> {
|
||||
StepVerifier
|
||||
.create(zSetOperations.reverseRangeByScore(key, new Range<>(0d, 100d), //
|
||||
Limit.limit().offset(1).count(10))) //
|
||||
.consumeNextWith(actual -> {
|
||||
assertThat(actual).hasSize(1).contains(value2);
|
||||
}).verifyComplete();
|
||||
.expectNext(value2) //
|
||||
.verifyComplete();
|
||||
}
|
||||
|
||||
@Test // DATAREDIS-602
|
||||
@@ -394,9 +382,8 @@ public class DefaultReactiveZSetOperationsIntegrationTests<K, V> {
|
||||
StepVerifier
|
||||
.create(zSetOperations.reverseRangeByScoreWithScores(key, new Range<>(0d, 100d), //
|
||||
Limit.limit().offset(1).count(10))) //
|
||||
.consumeNextWith(actual -> {
|
||||
assertThat(actual).hasSize(1).contains(new DefaultTypedTuple<>(value2, 10d));
|
||||
}).verifyComplete();
|
||||
.expectNext(new DefaultTypedTuple<>(value2, 10d)) //
|
||||
.verifyComplete();
|
||||
}
|
||||
|
||||
@Test // DATAREDIS-602
|
||||
@@ -454,9 +441,7 @@ public class DefaultReactiveZSetOperationsIntegrationTests<K, V> {
|
||||
StepVerifier.create(zSetOperations.add(key, value2, 10)).expectNext(true).verifyComplete();
|
||||
|
||||
StepVerifier.create(zSetOperations.removeRange(key, new Range<>(0L, 0L))).expectNext(1L).verifyComplete();
|
||||
StepVerifier.create(zSetOperations.range(key, new Range<>(0L, 5L))).consumeNextWith(actual -> {
|
||||
assertThat(actual).hasSize(1).contains(value1);
|
||||
}).verifyComplete();
|
||||
StepVerifier.create(zSetOperations.range(key, new Range<>(0L, 5L))).expectNext(value1).verifyComplete();
|
||||
}
|
||||
|
||||
@Test // DATAREDIS-602
|
||||
@@ -473,9 +458,9 @@ public class DefaultReactiveZSetOperationsIntegrationTests<K, V> {
|
||||
|
||||
StepVerifier.create(zSetOperations.removeRangeByScore(key, new Range<>(9d, 11d))).expectNext(1L).expectComplete()
|
||||
.verify();
|
||||
StepVerifier.create(zSetOperations.range(key, new Range<>(0L, 5L))).consumeNextWith(actual -> {
|
||||
assertThat(actual).hasSize(1).contains(value1);
|
||||
}).verifyComplete();
|
||||
StepVerifier.create(zSetOperations.range(key, new Range<>(0L, 5L))) //
|
||||
.expectNext(value1) //
|
||||
.verifyComplete();
|
||||
}
|
||||
|
||||
@Test // DATAREDIS-602
|
||||
@@ -496,9 +481,7 @@ public class DefaultReactiveZSetOperationsIntegrationTests<K, V> {
|
||||
StepVerifier.create(zSetOperations.add(otherKey, shared, 11)).expectNext(true).verifyComplete();
|
||||
|
||||
StepVerifier.create(zSetOperations.unionAndStore(key, otherKey, destKey)).expectNext(3L).verifyComplete();
|
||||
StepVerifier.create(zSetOperations.range(destKey, new Range<>(0L, 100L))).consumeNextWith(actual -> {
|
||||
assertThat(actual).hasSize(3);
|
||||
}).verifyComplete();
|
||||
StepVerifier.create(zSetOperations.range(destKey, new Range<>(0L, 100L))).expectNextCount(3).verifyComplete();
|
||||
}
|
||||
|
||||
@Test // DATAREDIS-602
|
||||
@@ -520,9 +503,10 @@ public class DefaultReactiveZSetOperationsIntegrationTests<K, V> {
|
||||
|
||||
StepVerifier.create(zSetOperations.intersectAndStore(key, otherKey, destKey)).expectNext(1L).expectComplete()
|
||||
.verify();
|
||||
StepVerifier.create(zSetOperations.range(destKey, new Range<>(0L, 5L))).consumeNextWith(actual -> {
|
||||
assertThat(actual).hasSize(1);
|
||||
}).verifyComplete();
|
||||
|
||||
StepVerifier.create(zSetOperations.range(destKey, new Range<>(0L, 5L))) //
|
||||
.expectNextCount(1) //
|
||||
.verifyComplete();
|
||||
|
||||
}
|
||||
|
||||
@@ -538,9 +522,9 @@ public class DefaultReactiveZSetOperationsIntegrationTests<K, V> {
|
||||
StepVerifier.create(zSetOperations.add(key, a, 10)).expectNext(true).verifyComplete();
|
||||
StepVerifier.create(zSetOperations.add(key, b, 11)).expectNext(true).verifyComplete();
|
||||
|
||||
StepVerifier.create(zSetOperations.rangeByLex(key, new Range<>("a", "a"))).consumeNextWith(actual -> {
|
||||
assertThat(actual).hasSize(1).contains(a);
|
||||
}).verifyComplete();
|
||||
StepVerifier.create(zSetOperations.rangeByLex(key, new Range<>("a", "a"))) //
|
||||
.expectNext(a) //
|
||||
.verifyComplete();
|
||||
|
||||
}
|
||||
|
||||
@@ -556,15 +540,13 @@ public class DefaultReactiveZSetOperationsIntegrationTests<K, V> {
|
||||
StepVerifier.create(zSetOperations.add(key, a, 10)).expectNext(true).verifyComplete();
|
||||
StepVerifier.create(zSetOperations.add(key, b, 11)).expectNext(true).verifyComplete();
|
||||
|
||||
StepVerifier.create(zSetOperations.rangeByLex(key, new Range<>("a", "z"), Limit.limit().offset(0).count(10)))
|
||||
.consumeNextWith(actual -> {
|
||||
assertThat(actual).hasSize(2).contains(a, b);
|
||||
}).verifyComplete();
|
||||
StepVerifier.create(zSetOperations.rangeByLex(key, new Range<>("a", "z"), Limit.limit().offset(0).count(10))) //
|
||||
.expectNext(a, b) //
|
||||
.verifyComplete();
|
||||
|
||||
StepVerifier.create(zSetOperations.rangeByLex(key, new Range<>("a", "z"), Limit.limit().offset(1).count(10)))
|
||||
.consumeNextWith(actual -> {
|
||||
assertThat(actual).hasSize(1).contains(b);
|
||||
}).verifyComplete();
|
||||
StepVerifier.create(zSetOperations.rangeByLex(key, new Range<>("a", "z"), Limit.limit().offset(1).count(10))) //
|
||||
.expectNext(b) //
|
||||
.verifyComplete();
|
||||
}
|
||||
|
||||
@Test // DATAREDIS-602
|
||||
@@ -579,9 +561,9 @@ public class DefaultReactiveZSetOperationsIntegrationTests<K, V> {
|
||||
StepVerifier.create(zSetOperations.add(key, a, 10)).expectNext(true).verifyComplete();
|
||||
StepVerifier.create(zSetOperations.add(key, b, 11)).expectNext(true).verifyComplete();
|
||||
|
||||
StepVerifier.create(zSetOperations.reverseRangeByLex(key, new Range<>("a", "a"))).consumeNextWith(actual -> {
|
||||
assertThat(actual).hasSize(1).contains(a);
|
||||
}).verifyComplete();
|
||||
StepVerifier.create(zSetOperations.reverseRangeByLex(key, new Range<>("a", "a"))) //
|
||||
.expectNext(a) //
|
||||
.verifyComplete();
|
||||
}
|
||||
|
||||
@Test // DATAREDIS-602
|
||||
@@ -596,15 +578,13 @@ public class DefaultReactiveZSetOperationsIntegrationTests<K, V> {
|
||||
StepVerifier.create(zSetOperations.add(key, a, 10)).expectNext(true).verifyComplete();
|
||||
StepVerifier.create(zSetOperations.add(key, b, 11)).expectNext(true).verifyComplete();
|
||||
|
||||
StepVerifier.create(zSetOperations.reverseRangeByLex(key, new Range<>("a", "z"), Limit.limit().offset(0).count(10)))
|
||||
.consumeNextWith(actual -> {
|
||||
assertThat(actual).hasSize(2).contains(b, a);
|
||||
}).verifyComplete();
|
||||
StepVerifier.create(zSetOperations.reverseRangeByLex(key, new Range<>("a", "z"), Limit.limit().offset(0).count(10))) //
|
||||
.expectNext(b, a) //
|
||||
.verifyComplete();
|
||||
|
||||
StepVerifier.create(zSetOperations.reverseRangeByLex(key, new Range<>("a", "z"), Limit.limit().offset(1).count(10)))
|
||||
.consumeNextWith(actual -> {
|
||||
assertThat(actual).hasSize(1).contains(a);
|
||||
}).verifyComplete();
|
||||
StepVerifier.create(zSetOperations.reverseRangeByLex(key, new Range<>("a", "z"), Limit.limit().offset(1).count(10))) //
|
||||
.expectNext(a) //
|
||||
.verifyComplete();
|
||||
}
|
||||
|
||||
@Test // DATAREDIS-602
|
||||
@@ -617,6 +597,8 @@ public class DefaultReactiveZSetOperationsIntegrationTests<K, V> {
|
||||
|
||||
StepVerifier.create(zSetOperations.delete(key)).expectNext(true).verifyComplete();
|
||||
|
||||
StepVerifier.create(zSetOperations.size(key)).expectNext(0L).verifyComplete();
|
||||
StepVerifier.create(zSetOperations.size(key)) //
|
||||
.expectNext(0L) //
|
||||
.verifyComplete();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user