Skip to content

Commit

Permalink
Java: Update transaction handling and IT (#1284)
Browse files Browse the repository at this point in the history
* Update transaction handling and IT (#160)
* Ease transaction IT updating and fixing.


Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com>
  • Loading branch information
Yury-Fridlyand committed May 10, 2024
1 parent bff832e commit 0e1708a
Show file tree
Hide file tree
Showing 9 changed files with 477 additions and 310 deletions.
2 changes: 1 addition & 1 deletion java/client/src/main/java/glide/api/RedisClient.java
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ public CompletableFuture<Object> customCommand(@NonNull String[] args) {

@Override
public CompletableFuture<Object[]> exec(@NonNull Transaction transaction) {
return commandManager.submitNewCommand(transaction, this::handleArrayOrNullResponse);
return commandManager.submitNewTransaction(transaction, this::handleArrayOrNullResponse);
}

@Override
Expand Down
4 changes: 2 additions & 2 deletions java/client/src/main/java/glide/api/RedisClusterClient.java
Original file line number Diff line number Diff line change
Expand Up @@ -90,14 +90,14 @@ protected ClusterValue<Object> handleCustomCommandResponse(Route route, Response

@Override
public CompletableFuture<Object[]> exec(@NonNull ClusterTransaction transaction) {
return commandManager.submitNewCommand(
return commandManager.submitNewTransaction(
transaction, Optional.empty(), this::handleArrayOrNullResponse);
}

@Override
public CompletableFuture<Object[]> exec(
@NonNull ClusterTransaction transaction, @NonNull SingleNodeRoute route) {
return commandManager.submitNewCommand(
return commandManager.submitNewTransaction(
transaction, Optional.of(route), this::handleArrayOrNullResponse);
}

Expand Down
6 changes: 3 additions & 3 deletions java/client/src/main/java/glide/managers/CommandManager.java
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ public <T> CompletableFuture<T> submitNewCommand(
* @param responseHandler The handler for the response object
* @return A result promise of type T
*/
public <T> CompletableFuture<T> submitNewCommand(
public <T> CompletableFuture<T> submitNewTransaction(
Transaction transaction, RedisExceptionCheckedFunction<Response, T> responseHandler) {

RedisRequest.Builder command = prepareRedisRequest(transaction);
Expand All @@ -109,14 +109,14 @@ public <T> CompletableFuture<T> submitScript(
}

/**
* Build a Transaction and send.
* Build a Cluster Transaction and send.
*
* @param transaction Redis Transaction request with multiple commands
* @param route Transaction routing parameters
* @param responseHandler The handler for the response object
* @return A result promise of type T
*/
public <T> CompletableFuture<T> submitNewCommand(
public <T> CompletableFuture<T> submitNewTransaction(
ClusterTransaction transaction,
Optional<Route> route,
RedisExceptionCheckedFunction<Response, T> responseHandler) {
Expand Down
2 changes: 1 addition & 1 deletion java/client/src/test/java/glide/api/RedisClientTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -237,7 +237,7 @@ public void exec() {
testResponse.complete(value);

// match on protobuf request
when(commandManager.<Object[]>submitNewCommand(eq(transaction), any()))
when(commandManager.<Object[]>submitNewTransaction(eq(transaction), any()))
.thenReturn(testResponse);

// exercise
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -173,7 +173,8 @@ public void exec_without_routing() {
testResponse.complete(value);

// match on protobuf request
when(commandManager.<Object[]>submitNewCommand(eq(transaction), eq(Optional.empty()), any()))
when(commandManager.<Object[]>submitNewTransaction(
eq(transaction), eq(Optional.empty()), any()))
.thenReturn(testResponse);

// exercise
Expand All @@ -197,7 +198,8 @@ public void exec_with_routing() {
testResponse.complete(value);

// match on protobuf request
when(commandManager.<Object[]>submitNewCommand(eq(transaction), eq(Optional.of(route)), any()))
when(commandManager.<Object[]>submitNewTransaction(
eq(transaction), eq(Optional.of(route)), any()))
.thenReturn(testResponse);

// exercise
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -288,7 +288,7 @@ public void submitNewCommand_with_Transaction_sends_protobuf_request() {
ArgumentCaptor.forClass(RedisRequest.Builder.class);

// exercise
service.submitNewCommand(trans, r -> null);
service.submitNewTransaction(trans, r -> null);

// verify
verify(channelHandler).write(captor.capture(), anyBoolean());
Expand Down Expand Up @@ -328,7 +328,7 @@ public void submitNewCommand_with_ClusterTransaction_with_route_sends_protobuf_r
ArgumentCaptor<RedisRequest.Builder> captor =
ArgumentCaptor.forClass(RedisRequest.Builder.class);

service.submitNewCommand(trans, Optional.of(routeType), r -> null);
service.submitNewTransaction(trans, Optional.of(routeType), r -> null);
verify(channelHandler).write(captor.capture(), anyBoolean());
var requestBuilder = captor.getValue();

Expand Down
Loading

0 comments on commit 0e1708a

Please sign in to comment.