Use correct output for ZCARD command using LettuceConnection.execute(…).

We now provide a type hint for the ZCARD command.

Closes #2473

Original pull request: #2482
This commit is contained in:
Mark Paluch
2023-01-10 15:37:03 +01:00
committed by John Blum
parent 70ca4b2e2d
commit ffc6480799
2 changed files with 11 additions and 1 deletions

View File

@@ -58,7 +58,6 @@ import java.util.function.Supplier;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.beans.BeanUtils;
import org.springframework.core.convert.converter.Converter;
import org.springframework.dao.DataAccessException;
@@ -1212,6 +1211,7 @@ public class LettuceConnection extends AbstractRedisConnection {
COMMAND_OUTPUT_TYPE_MAPPING.put(STRLEN, IntegerOutput.class);
COMMAND_OUTPUT_TYPE_MAPPING.put(TTL, IntegerOutput.class);
COMMAND_OUTPUT_TYPE_MAPPING.put(ZADD, IntegerOutput.class);
COMMAND_OUTPUT_TYPE_MAPPING.put(ZCARD, IntegerOutput.class);
COMMAND_OUTPUT_TYPE_MAPPING.put(ZCOUNT, IntegerOutput.class);
COMMAND_OUTPUT_TYPE_MAPPING.put(ZINTERSTORE, IntegerOutput.class);
COMMAND_OUTPUT_TYPE_MAPPING.put(ZRANK, IntegerOutput.class);

View File

@@ -274,6 +274,16 @@ public class LettuceConnectionIntegrationTests extends AbstractConnectionIntegra
.contains("awesome".getBytes(), "cool".getBytes(), "supercalifragilisticexpialidocious".getBytes());
}
@Test // GH-2473
void testExecuteZcardShouldReturnNumericValue() {
connection.zAdd("spring", 1, "awesome");
connection.zAdd("spring", 1, "cool");
connection.zAdd("spring", 1, "supercalifragilisticexpialidocious");
assertThat(connection.execute("ZCARD", "spring")).isInstanceOf(Long.class).isEqualTo(3L);
}
@SuppressWarnings("unchecked")
@Test
public void testEvalShaArrayBytes() {