mirror of
https://github.com/signalapp/Signal-Server
synced 2026-04-21 06:28:04 +01:00
Add byte-array-based methods to FaultTolerantRedisCluster.
This commit is contained in:
committed by
Jon Chambers
parent
229caea5fd
commit
69c8968cb0
@@ -15,29 +15,54 @@ import static org.mockito.Mockito.when;
|
||||
public class RedisClusterHelper {
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
public static FaultTolerantRedisCluster buildMockRedisCluster(final RedisAdvancedClusterCommands<String, String> commands) {
|
||||
final FaultTolerantRedisCluster cluster = mock(FaultTolerantRedisCluster.class);
|
||||
final StatefulRedisClusterConnection<String, String> connection = mock(StatefulRedisClusterConnection.class);
|
||||
public static FaultTolerantRedisCluster buildMockRedisCluster(final RedisAdvancedClusterCommands<String, String> stringCommands) {
|
||||
return buildMockRedisCluster(stringCommands, mock(RedisAdvancedClusterCommands.class));
|
||||
}
|
||||
|
||||
when(connection.sync()).thenReturn(commands);
|
||||
@SuppressWarnings("unchecked")
|
||||
public static FaultTolerantRedisCluster buildMockRedisCluster(final RedisAdvancedClusterCommands<String, String> stringCommands, final RedisAdvancedClusterCommands<byte[], byte[]> binaryCommands) {
|
||||
final FaultTolerantRedisCluster cluster = mock(FaultTolerantRedisCluster.class);
|
||||
final StatefulRedisClusterConnection<String, String> stringConnection = mock(StatefulRedisClusterConnection.class);
|
||||
final StatefulRedisClusterConnection<byte[], byte[]> binaryConnection = mock(StatefulRedisClusterConnection.class);
|
||||
|
||||
when(stringConnection.sync()).thenReturn(stringCommands);
|
||||
when(binaryConnection.sync()).thenReturn(binaryCommands);
|
||||
|
||||
when(cluster.withReadCluster(any(Function.class))).thenAnswer(invocation -> {
|
||||
return invocation.getArgument(0, Function.class).apply(connection);
|
||||
return invocation.getArgument(0, Function.class).apply(stringConnection);
|
||||
});
|
||||
|
||||
doAnswer(invocation -> {
|
||||
invocation.getArgument(0, Consumer.class).accept(connection);
|
||||
invocation.getArgument(0, Consumer.class).accept(stringConnection);
|
||||
return null;
|
||||
}).when(cluster).useReadCluster(any(Consumer.class));
|
||||
|
||||
when(cluster.withWriteCluster(any(Function.class))).thenAnswer(invocation -> {
|
||||
return invocation.getArgument(0, Function.class).apply(connection);
|
||||
return invocation.getArgument(0, Function.class).apply(stringConnection);
|
||||
});
|
||||
|
||||
doAnswer(invocation -> {
|
||||
invocation.getArgument(0, Consumer.class).accept(connection);
|
||||
invocation.getArgument(0, Consumer.class).accept(stringConnection);
|
||||
return null;
|
||||
}).when(cluster).useWriteCluster(any(Consumer.class));
|
||||
|
||||
when(cluster.withBinaryReadCluster(any(Function.class))).thenAnswer(invocation -> {
|
||||
return invocation.getArgument(0, Function.class).apply(binaryConnection);
|
||||
});
|
||||
|
||||
doAnswer(invocation -> {
|
||||
invocation.getArgument(0, Consumer.class).accept(binaryConnection);
|
||||
return null;
|
||||
}).when(cluster).useBinaryReadCluster(any(Consumer.class));
|
||||
|
||||
when(cluster.withBinaryWriteCluster(any(Function.class))).thenAnswer(invocation -> {
|
||||
return invocation.getArgument(0, Function.class).apply(binaryConnection);
|
||||
});
|
||||
|
||||
doAnswer(invocation -> {
|
||||
invocation.getArgument(0, Consumer.class).accept(binaryConnection);
|
||||
return null;
|
||||
}).when(cluster).useBinaryWriteCluster(any(Consumer.class));
|
||||
|
||||
return cluster;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user