DATAREDIS-1214 - Fix null return value of GEODIST command.

Original pull request: #565.
This commit is contained in:
Christoph Strobl
2020-10-01 14:52:51 +02:00
committed by Mark Paluch
parent b26a93280a
commit 67fc916512
4 changed files with 36 additions and 3 deletions

View File

@@ -2704,6 +2704,19 @@ public abstract class AbstractConnectionIntegrationTests {
assertThat(((Distance) result.get(1)).getUnit()).isEqualTo("m");
}
@Test // DATAREDIS-1214
@IfProfileValue(name = "redisVersion", value = "3.2+")
@WithRedisDriver({ RedisDriver.JEDIS, RedisDriver.LETTUCE })
public void geoDistNotExisting() {
String key = "geo-" + UUID.randomUUID();
actual.add(connection.geoAdd(key, Arrays.asList(PALERMO, CATANIA)));
actual.add(connection.geoDist(key, "Spring", "Data"));
List<Object> result = getResults();
assertThat(result.get(1)).isNull();
}
@Test // DATAREDIS-438
@IfProfileValue(name = "redisVersion", value = "3.2+")
@WithRedisDriver({ RedisDriver.JEDIS, RedisDriver.LETTUCE })

View File

@@ -186,6 +186,22 @@ public class DefaultGeoOperationsTests<K, M> {
assertThat(dist.getUnit()).isEqualTo("ft");
}
@Test // DATAREDIS-1214
public void geoDistShouldReturnNullIfNoDistanceCalculable() {
K key = keyFactory.instance();
M member1 = valueFactory.instance();
M member2 = valueFactory.instance();
M member3 = valueFactory.instance();
M member4 = valueFactory.instance();
geoOperations.add(key, POINT_PALERMO, member1);
geoOperations.add(key, POINT_CATANIA, member2);
Distance dist = geoOperations.distance(key, member3, member4, DistanceUnit.FEET);
assertThat(dist).isNull();
}
@Test // DATAREDIS-438, DATAREDIS-614
public void testGeoHash() {