diff --git a/java/client/build.gradle b/java/client/build.gradle index 0178f311ea..4650865606 100644 --- a/java/client/build.gradle +++ b/java/client/build.gradle @@ -14,7 +14,7 @@ repositories { } dependencies { - implementation group: 'com.google.protobuf', name: 'protobuf-java', version: '4.27.1' + implementation group: 'com.google.protobuf', name: 'protobuf-java', version: '4.28.0' implementation group: 'org.apache.commons', name: 'commons-lang3', version: '3.13.0' implementation group: 'io.netty', name: 'netty-handler', version: '4.1.100.Final' diff --git a/java/client/src/main/java/glide/api/GlideClient.java b/java/client/src/main/java/glide/api/GlideClient.java index e4cc31a8be..b7a76d30cc 100644 --- a/java/client/src/main/java/glide/api/GlideClient.java +++ b/java/client/src/main/java/glide/api/GlideClient.java @@ -55,8 +55,6 @@ import glide.api.models.Transaction; import glide.api.models.commands.FlushMode; import glide.api.models.commands.InfoOptions.Section; -import glide.api.models.commands.ScriptOptions; -import glide.api.models.commands.ScriptOptionsGlideString; import glide.api.models.commands.SortOptions; import glide.api.models.commands.SortOptionsBinary; import glide.api.models.commands.function.FunctionRestorePolicy; @@ -590,31 +588,30 @@ public CompletableFuture invokeScript(@NonNull Script script) { @Override public CompletableFuture invokeScript( - @NonNull Script script, @NonNull ScriptOptions options) { + @NonNull Script script, @NonNull List keys, List args) { if (script.getBinaryOutput()) { return commandManager.submitScript( script, - options.getKeys().stream().map(GlideString::gs).collect(Collectors.toList()), - options.getArgs().stream().map(GlideString::gs).collect(Collectors.toList()), + keys.stream().map(GlideString::gs).collect(Collectors.toList()), + args.stream().map(GlideString::gs).collect(Collectors.toList()), this::handleBinaryObjectOrNullResponse); } else { return commandManager.submitScript( script, - options.getKeys().stream().map(GlideString::gs).collect(Collectors.toList()), - options.getArgs().stream().map(GlideString::gs).collect(Collectors.toList()), + keys.stream().map(GlideString::gs).collect(Collectors.toList()), + args.stream().map(GlideString::gs).collect(Collectors.toList()), this::handleObjectOrNullResponse); } } @Override - public CompletableFuture invokeScript( - @NonNull Script script, @NonNull ScriptOptionsGlideString options) { + public CompletableFuture invokeScriptBinary( + @NonNull Script script, List keys, List args) { if (script.getBinaryOutput()) { return commandManager.submitScript( - script, options.getKeys(), options.getArgs(), this::handleBinaryObjectOrNullResponse); + script, keys, args, this::handleBinaryObjectOrNullResponse); } else { - return commandManager.submitScript( - script, options.getKeys(), options.getArgs(), this::handleObjectOrNullResponse); + return commandManager.submitScript(script, keys, args, this::handleObjectOrNullResponse); } } diff --git a/java/client/src/main/java/glide/api/GlideClusterClient.java b/java/client/src/main/java/glide/api/GlideClusterClient.java index 60028550b9..ac597e74a5 100644 --- a/java/client/src/main/java/glide/api/GlideClusterClient.java +++ b/java/client/src/main/java/glide/api/GlideClusterClient.java @@ -59,8 +59,6 @@ import glide.api.models.Script; import glide.api.models.commands.FlushMode; import glide.api.models.commands.InfoOptions.Section; -import glide.api.models.commands.ScriptOptions; -import glide.api.models.commands.ScriptOptionsGlideString; import glide.api.models.commands.SortClusterOptions; import glide.api.models.commands.function.FunctionRestorePolicy; import glide.api.models.commands.scan.ClusterScanCursor; @@ -970,31 +968,30 @@ public CompletableFuture invokeScript(@NonNull Script script) { @Override public CompletableFuture invokeScript( - @NonNull Script script, @NonNull ScriptOptions options) { + @NonNull Script script, @NonNull List keys, @NonNull List args) { if (script.getBinaryOutput()) { return commandManager.submitScript( script, - options.getKeys().stream().map(GlideString::gs).collect(Collectors.toList()), - options.getArgs().stream().map(GlideString::gs).collect(Collectors.toList()), + keys.stream().map(GlideString::gs).collect(Collectors.toList()), + args.stream().map(GlideString::gs).collect(Collectors.toList()), this::handleBinaryObjectOrNullResponse); } else { return commandManager.submitScript( script, - options.getKeys().stream().map(GlideString::gs).collect(Collectors.toList()), - options.getArgs().stream().map(GlideString::gs).collect(Collectors.toList()), + keys.stream().map(GlideString::gs).collect(Collectors.toList()), + args.stream().map(GlideString::gs).collect(Collectors.toList()), this::handleObjectOrNullResponse); } } @Override - public CompletableFuture invokeScript( - @NonNull Script script, @NonNull ScriptOptionsGlideString options) { + public CompletableFuture invokeScriptBinary( + @NonNull Script script, @NonNull List keys, @NonNull List args) { if (script.getBinaryOutput()) { return commandManager.submitScript( - script, options.getKeys(), options.getArgs(), this::handleBinaryObjectOrNullResponse); + script, keys, args, this::handleBinaryObjectOrNullResponse); } else { - return commandManager.submitScript( - script, options.getKeys(), options.getArgs(), this::handleObjectOrNullResponse); + return commandManager.submitScript(script, keys, args, this::handleObjectOrNullResponse); } } diff --git a/java/client/src/main/java/glide/api/commands/ScriptingAndFunctionsClusterCommands.java b/java/client/src/main/java/glide/api/commands/ScriptingAndFunctionsClusterCommands.java index 06cd3c6860..71756f8ca3 100644 --- a/java/client/src/main/java/glide/api/commands/ScriptingAndFunctionsClusterCommands.java +++ b/java/client/src/main/java/glide/api/commands/ScriptingAndFunctionsClusterCommands.java @@ -5,8 +5,6 @@ import glide.api.models.GlideString; import glide.api.models.Script; import glide.api.models.commands.FlushMode; -import glide.api.models.commands.ScriptOptions; -import glide.api.models.commands.ScriptOptionsGlideString; import glide.api.models.commands.function.FunctionRestorePolicy; import glide.api.models.configuration.ReadFrom; import glide.api.models.configuration.RequestRoutingConfiguration.Route; @@ -1073,19 +1071,19 @@ CompletableFuture>>> func * @see SCRIPT LOAD and EVALSHA for details. * @param script The Lua script to execute. - * @param options The script option that contains keys and arguments for the script. + * @param keys The keys that are used in the script. + * @param args The arguments for the script. * @return A value that depends on the script that was executed. * @example *
{@code
      * try(Script luaScript = new Script("return { KEYS[1], ARGV[1] }", false)) {
-     *     ScriptOptions scriptOptions = ScriptOptions.builder().key("foo").arg("bar").build();
-     *     Object[] result = (Object[]) client.invokeScript(luaScript, scriptOptions).get();
+     *     Object[] result = (Object[]) client.invokeScript(luaScript, List.of("foo"), List.of("bar")).get();
      *     assert result[0].equals("foo");
      *     assert result[1].equals("bar");
      * }
      * }
*/ - CompletableFuture invokeScript(Script script, ScriptOptions options); + CompletableFuture invokeScript(Script script, List keys, List args); /** * Invokes a Lua script with its keys and arguments.
@@ -1095,28 +1093,30 @@ CompletableFuture>>> func * using the SCRIPT LOAD command. After that, it will be invoked using the * EVALSHA command. * + * @param script The Lua script to execute. + * @param keys The keys that are used in the script. + * @param args The arguments for the script. + * @return A value that depends on the script that was executed. * @apiNote When in cluster mode *
    *
  • all keys must map to the same hash slot. *
  • if no keys are given, command will be routed to a random primary node. *
* - * @see SCRIPT LOAD and EVALSHA for details. - * @param script The Lua script to execute. - * @param options The script option that contains keys and arguments for the script. - * @return A value that depends on the script that was executed. * @example *
{@code
      * try(Script luaScript = new Script(gs("return { KEYS[1], ARGV[1] }", true))) {
-     *     ScriptOptionsGlideString scriptOptions = ScriptOptionsGlideString.builder().key(gs("foo")).arg(gs("bar")).build();
-     *     Object[] result = (Object[]) client.invokeScript(luaScript, scriptOptions).get();
+     *     Object[] result = (Object[]) client.invokeScript(luaScript, List.of(gs("foo")), List.of(gs("bar"))).get();
      *     assert result[0].equals(gs("foo"));
      *     assert result[1].equals(gs("bar"));
      * }
      * }
+ * + * @see SCRIPT LOAD and EVALSHA for details. */ - CompletableFuture invokeScript(Script script, ScriptOptionsGlideString options); + CompletableFuture invokeScriptBinary( + Script script, List keys, List args); /** * Invokes a Lua script.
diff --git a/java/client/src/main/java/glide/api/commands/ScriptingAndFunctionsCommands.java b/java/client/src/main/java/glide/api/commands/ScriptingAndFunctionsCommands.java index d70725da6f..0c68f7c86d 100644 --- a/java/client/src/main/java/glide/api/commands/ScriptingAndFunctionsCommands.java +++ b/java/client/src/main/java/glide/api/commands/ScriptingAndFunctionsCommands.java @@ -4,10 +4,9 @@ import glide.api.models.GlideString; import glide.api.models.Script; import glide.api.models.commands.FlushMode; -import glide.api.models.commands.ScriptOptions; -import glide.api.models.commands.ScriptOptionsGlideString; import glide.api.models.commands.function.FunctionRestorePolicy; import glide.api.models.configuration.ReadFrom; +import java.util.List; import java.util.Map; import java.util.concurrent.CompletableFuture; @@ -456,19 +455,19 @@ CompletableFuture[]> functionListBinary( * @see SCRIPT LOAD and EVALSHA for details. * @param script The Lua script to execute. - * @param options The script option that contains keys and arguments for the script. + * @param keys The keys that are used in the script. + * @param args The arguments for the script. * @return A value that depends on the script that was executed. * @example *
{@code
      * try(Script luaScript = new Script("return { KEYS[1], ARGV[1] }", false)) {
-     *     ScriptOptions scriptOptions = ScriptOptions.builder().key("foo").arg("bar").build();
-     *     Object[] result = (Object[]) client.invokeScript(luaScript, scriptOptions).get();
+     *     Object[] result = (Object[]) client.invokeScript(luaScript, List.of("foo"), List.of("bar")).get();
      *     assert result[0].equals("foo");
      *     assert result[1].equals("bar");
      * }
      * }
*/ - CompletableFuture invokeScript(Script script, ScriptOptions options); + CompletableFuture invokeScript(Script script, List keys, List args); /** * Invokes a Lua script with its keys and arguments.
@@ -478,28 +477,30 @@ CompletableFuture[]> functionListBinary( * using the SCRIPT LOAD command. After that, it will be invoked using the * EVALSHA command. * + * @param script The Lua script to execute. + * @param keys The keys that are used in the script. + * @param args The arguments for the script. + * @return A value that depends on the script that was executed. * @apiNote When in cluster mode *
    *
  • all keys must map to the same hash slot. *
  • if no keys are given, command will be routed to a random primary node. *
* - * @see SCRIPT LOAD and EVALSHA for details. - * @param script The Lua script to execute. - * @param options The script option that contains keys and arguments for the script. - * @return A value that depends on the script that was executed. * @example *
{@code
      * try(Script luaScript = new Script(gs("return { KEYS[1], ARGV[1] }", true))) {
-     *     ScriptOptionsGlideString scriptOptions = ScriptOptionsGlideString.builder().key(gs("foo")).arg(gs("bar")).build();
-     *     Object[] result = (Object[]) client.invokeScript(luaScript, scriptOptions).get();
+     *     Object[] result = (Object[]) client.invokeScript(luaScript, List.of(gs("foo")), List.of(gs("bar"))).get();
      *     assert result[0].equals(gs("foo"));
      *     assert result[1].equals(gs("bar"));
      * }
      * }
+ * + * @see SCRIPT LOAD and EVALSHA for details. */ - CompletableFuture invokeScript(Script script, ScriptOptionsGlideString options); + CompletableFuture invokeScriptBinary( + Script script, List keys, List args); /** * Checks existence of scripts in the script cache by their SHA1 digest. diff --git a/java/client/src/main/java/glide/api/models/commands/ScriptOptions.java b/java/client/src/main/java/glide/api/models/commands/ScriptOptions.java deleted file mode 100644 index dbdba5a461..0000000000 --- a/java/client/src/main/java/glide/api/models/commands/ScriptOptions.java +++ /dev/null @@ -1,24 +0,0 @@ -/** Copyright Valkey GLIDE Project Contributors - SPDX Identifier: Apache-2.0 */ -package glide.api.models.commands; - -import glide.api.commands.GenericBaseCommands; -import glide.api.models.Script; -import java.util.List; -import lombok.Builder; -import lombok.Getter; -import lombok.Singular; - -/** - * Optional arguments for {@link GenericBaseCommands#invokeScript(Script, ScriptOptions)} command. - * - * @see valkey.io - */ -@Builder -public final class ScriptOptions { - - /** The keys that are used in the script. */ - @Singular @Getter private final List keys; - - /** The arguments for the script. */ - @Singular @Getter private final List args; -} diff --git a/java/client/src/main/java/glide/api/models/commands/ScriptOptionsGlideString.java b/java/client/src/main/java/glide/api/models/commands/ScriptOptionsGlideString.java deleted file mode 100644 index 50535904f4..0000000000 --- a/java/client/src/main/java/glide/api/models/commands/ScriptOptionsGlideString.java +++ /dev/null @@ -1,26 +0,0 @@ -/** Copyright Valkey GLIDE Project Contributors - SPDX Identifier: Apache-2.0 */ -package glide.api.models.commands; - -import glide.api.commands.GenericBaseCommands; -import glide.api.models.GlideString; -import glide.api.models.Script; -import java.util.List; -import lombok.Builder; -import lombok.Getter; -import lombok.Singular; - -/** - * Optional arguments for {@link GenericBaseCommands#invokeScript(Script, ScriptOptionsGlideString)} - * command. - * - * @see valkey.io - */ -@Builder -public class ScriptOptionsGlideString { - - /** The keys that are used in the script. */ - @Singular @Getter private final List keys; - - /** The arguments for the script. */ - @Singular @Getter private final List args; -} diff --git a/java/client/src/test/java/glide/api/GlideClientTest.java b/java/client/src/test/java/glide/api/GlideClientTest.java index a4c5d19fe2..a40a7c0c75 100644 --- a/java/client/src/test/java/glide/api/GlideClientTest.java +++ b/java/client/src/test/java/glide/api/GlideClientTest.java @@ -312,8 +312,6 @@ import glide.api.models.commands.RangeOptions.ScoreBoundary; import glide.api.models.commands.RestoreOptions; import glide.api.models.commands.ScoreFilter; -import glide.api.models.commands.ScriptOptions; -import glide.api.models.commands.ScriptOptionsGlideString; import glide.api.models.commands.SetOptions; import glide.api.models.commands.SetOptions.Expiry; import glide.api.models.commands.SortBaseOptions; @@ -1519,16 +1517,13 @@ public void invokeScript_returns_success() { @SneakyThrows @Test - public void invokeScript_with_ScriptOptions_returns_success() { + public void invokeScript_with_keys_args_returns_success() { // setup Script script = mock(Script.class); String hash = UUID.randomUUID().toString(); when(script.getHash()).thenReturn(hash); String payload = "hello"; - ScriptOptions options = - ScriptOptions.builder().key("key1").key("key2").arg("arg1").arg("arg2").build(); - CompletableFuture testResponse = new CompletableFuture<>(); testResponse.complete(payload); @@ -1541,7 +1536,8 @@ public void invokeScript_with_ScriptOptions_returns_success() { .thenReturn(testResponse); // exercise - CompletableFuture response = service.invokeScript(script, options); + CompletableFuture response = + service.invokeScript(script, List.of("key1", "key2"), List.of("arg1", "arg2")); // verify assertEquals(testResponse, response); @@ -1550,21 +1546,13 @@ public void invokeScript_with_ScriptOptions_returns_success() { @SneakyThrows @Test - public void invokeScript_with_ScriptOptionsGlideString_returns_success() { + public void invokeScriptBinary_returns_success() { // setup Script script = mock(Script.class); String hash = UUID.randomUUID().toString(); when(script.getHash()).thenReturn(hash); GlideString payload = gs("hello"); - ScriptOptionsGlideString options = - ScriptOptionsGlideString.builder() - .key(gs("key1")) - .key(gs("key2")) - .arg(gs("arg1")) - .arg(gs("arg2")) - .build(); - CompletableFuture testResponse = new CompletableFuture<>(); testResponse.complete(payload); @@ -1577,7 +1565,9 @@ public void invokeScript_with_ScriptOptionsGlideString_returns_success() { .thenReturn(testResponse); // exercise - CompletableFuture response = service.invokeScript(script, options); + CompletableFuture response = + service.invokeScriptBinary( + script, List.of(gs("key1"), gs("key2")), List.of(gs("arg1"), gs("arg2"))); // verify assertEquals(testResponse, response); diff --git a/java/client/src/test/java/glide/api/GlideClusterClientTest.java b/java/client/src/test/java/glide/api/GlideClusterClientTest.java index b2d997144d..8d20739acd 100644 --- a/java/client/src/test/java/glide/api/GlideClusterClientTest.java +++ b/java/client/src/test/java/glide/api/GlideClusterClientTest.java @@ -64,8 +64,6 @@ import glide.api.models.Script; import glide.api.models.commands.FlushMode; import glide.api.models.commands.InfoOptions.Section; -import glide.api.models.commands.ScriptOptions; -import glide.api.models.commands.ScriptOptionsGlideString; import glide.api.models.commands.SortBaseOptions.Limit; import glide.api.models.commands.SortClusterOptions; import glide.api.models.commands.function.FunctionLoadOptions; @@ -3317,16 +3315,13 @@ public void invokeScript_returns_success() { @SneakyThrows @Test - public void invokeScript_with_ScriptOptions_returns_success() { + public void invokeScript_with_keys_args_returns_success() { // setup Script script = mock(Script.class); String hash = UUID.randomUUID().toString(); when(script.getHash()).thenReturn(hash); String payload = "hello"; - ScriptOptions options = - ScriptOptions.builder().key("key1").key("key2").arg("arg1").arg("arg2").build(); - CompletableFuture testResponse = new CompletableFuture<>(); testResponse.complete(payload); @@ -3339,7 +3334,8 @@ public void invokeScript_with_ScriptOptions_returns_success() { .thenReturn(testResponse); // exercise - CompletableFuture response = service.invokeScript(script, options); + CompletableFuture response = + service.invokeScript(script, List.of("key1", "key2"), List.of("arg1", "arg2")); // verify assertEquals(testResponse, response); @@ -3348,21 +3344,13 @@ public void invokeScript_with_ScriptOptions_returns_success() { @SneakyThrows @Test - public void invokeScript_with_ScriptOptionsGlideString_returns_success() { + public void invokeScriptBinary_with_keys_args_returns_success() { // setup Script script = mock(Script.class); String hash = UUID.randomUUID().toString(); when(script.getHash()).thenReturn(hash); GlideString payload = gs("hello"); - ScriptOptionsGlideString options = - ScriptOptionsGlideString.builder() - .key(gs("key1")) - .key(gs("key2")) - .arg(gs("arg1")) - .arg(gs("arg2")) - .build(); - CompletableFuture testResponse = new CompletableFuture<>(); testResponse.complete(payload); @@ -3375,7 +3363,8 @@ public void invokeScript_with_ScriptOptionsGlideString_returns_success() { .thenReturn(testResponse); // exercise - CompletableFuture response = service.invokeScript(script, options); + CompletableFuture response = + service.invokeScript(script, List.of("key1", "key2"), List.of("arg1", "arg2")); // verify assertEquals(testResponse, response); diff --git a/java/integTest/src/test/java/glide/cluster/CommandTests.java b/java/integTest/src/test/java/glide/cluster/CommandTests.java index 2857fd026e..65568638d9 100644 --- a/java/integTest/src/test/java/glide/cluster/CommandTests.java +++ b/java/integTest/src/test/java/glide/cluster/CommandTests.java @@ -60,8 +60,6 @@ import glide.api.models.commands.InfoOptions.Section; import glide.api.models.commands.ListDirection; import glide.api.models.commands.RangeOptions.RangeByIndex; -import glide.api.models.commands.ScriptOptions; -import glide.api.models.commands.ScriptOptionsGlideString; import glide.api.models.commands.SortBaseOptions; import glide.api.models.commands.SortClusterOptions; import glide.api.models.commands.WeightAggregateOptions.KeyArray; @@ -3034,28 +3032,20 @@ public void invokeScript_test() { try (Script script = new Script("return redis.call('SET', KEYS[1], ARGV[1])", false)) { Object setResponse1 = - clusterClient - .invokeScript(script, ScriptOptions.builder().key(key1).arg("value1").build()) - .get(); + clusterClient.invokeScript(script, List.of(key1), List.of("value1")).get(); assertEquals(OK, setResponse1); Object setResponse2 = - clusterClient - .invokeScript(script, ScriptOptions.builder().key(key2).arg("value2").build()) - .get(); + clusterClient.invokeScript(script, List.of(key2), List.of("value2")).get(); assertEquals(OK, setResponse2); } try (Script script = new Script("return redis.call('GET', KEYS[1])", false)) { - Object getResponse1 = - clusterClient.invokeScript(script, ScriptOptions.builder().key(key1).build()).get(); + Object getResponse1 = clusterClient.invokeScript(script, List.of(key1), List.of()).get(); assertEquals("value1", getResponse1); // Use GlideString in option but we still expect nonbinary output - Object getResponse2 = - clusterClient - .invokeScript(script, ScriptOptionsGlideString.builder().key(gs(key2)).build()) - .get(); + Object getResponse2 = clusterClient.invokeScript(script, List.of(key2), List.of()).get(); assertEquals("value2", getResponse2); } } @@ -3068,37 +3058,25 @@ public void script_large_keys_and_or_args() { try (Script script = new Script("return KEYS[1]", false)) { // 1 very big key - Object response = - clusterClient - .invokeScript(script, ScriptOptions.builder().key(str1 + str2).build()) - .get(); + Object response = clusterClient.invokeScript(script, List.of(str1 + str2), List.of()).get(); assertEquals(str1 + str2, response); } try (Script script = new Script("return KEYS[1]", false)) { // 2 big keys - Object response = - clusterClient - .invokeScript(script, ScriptOptions.builder().key(str1).key(str2).build()) - .get(); + Object response = clusterClient.invokeScript(script, List.of(str1, str2), List.of()).get(); assertEquals(str1, response); } try (Script script = new Script("return ARGV[1]", false)) { // 1 very big arg - Object response = - clusterClient - .invokeScript(script, ScriptOptions.builder().arg(str1 + str2).build()) - .get(); + Object response = clusterClient.invokeScript(script, List.of(), List.of(str1 + str2)).get(); assertEquals(str1 + str2, response); } try (Script script = new Script("return ARGV[1]", false)) { // 1 big arg + 1 big key - Object response = - clusterClient - .invokeScript(script, ScriptOptions.builder().arg(str1).key(str2).build()) - .get(); + Object response = clusterClient.invokeScript(script, List.of(str1), List.of(str2)).get(); assertEquals(str2, response); } } @@ -3116,32 +3094,22 @@ public void invokeScript_gs_test() { try (Script script = new Script(gs("return redis.call('SET', KEYS[1], ARGV[1])"), true)) { Object setResponse1 = - clusterClient - .invokeScript( - script, ScriptOptionsGlideString.builder().key(key1).arg(gs("value1")).build()) - .get(); + clusterClient.invokeScriptBinary(script, List.of(key1), List.of(gs("value1"))).get(); assertEquals(OK, setResponse1); Object setResponse2 = - clusterClient - .invokeScript( - script, ScriptOptionsGlideString.builder().key(key2).arg(gs("value2")).build()) - .get(); + clusterClient.invokeScriptBinary(script, List.of(key2), List.of(gs("value2"))).get(); assertEquals(OK, setResponse2); } try (Script script = new Script(gs("return redis.call('GET', KEYS[1])"), true)) { Object getResponse1 = - clusterClient - .invokeScript(script, ScriptOptionsGlideString.builder().key(key1).build()) - .get(); + clusterClient.invokeScriptBinary(script, List.of(key1), List.of()).get(); assertEquals(gs("value1"), getResponse1); // Use String in option but we still expect binary output (GlideString) Object getResponse2 = - clusterClient - .invokeScript(script, ScriptOptions.builder().key(key2.toString()).build()) - .get(); + clusterClient.invokeScript(script, List.of(key2.toString()), List.of()).get(); assertEquals(gs("value2"), getResponse2); } } @@ -3319,7 +3287,7 @@ public void scriptKill_unkillable() { .get()) { try { // run the script without await - promise = testClient.invokeScript(script, ScriptOptions.builder().key(key).build()); + promise = testClient.invokeScript(script, List.of(key), List.of()); Thread.sleep(1000); diff --git a/java/integTest/src/test/java/glide/standalone/CommandTests.java b/java/integTest/src/test/java/glide/standalone/CommandTests.java index d66c3d1c92..4e6cccf774 100644 --- a/java/integTest/src/test/java/glide/standalone/CommandTests.java +++ b/java/integTest/src/test/java/glide/standalone/CommandTests.java @@ -53,8 +53,6 @@ import glide.api.models.Script; import glide.api.models.commands.FlushMode; import glide.api.models.commands.InfoOptions.Section; -import glide.api.models.commands.ScriptOptions; -import glide.api.models.commands.ScriptOptionsGlideString; import glide.api.models.commands.SortOptions; import glide.api.models.commands.SortOptionsBinary; import glide.api.models.commands.scan.ScanOptions; @@ -1835,28 +1833,21 @@ public void invokeScript_test() { try (Script script = new Script("return redis.call('SET', KEYS[1], ARGV[1])", false)) { Object setResponse1 = - regularClient - .invokeScript(script, ScriptOptions.builder().key(key1).arg("value1").build()) - .get(); + regularClient.invokeScript(script, List.of(key1), List.of("value1")).get(); assertEquals(OK, setResponse1); Object setResponse2 = - regularClient - .invokeScript(script, ScriptOptions.builder().key(key2).arg("value2").build()) - .get(); + regularClient.invokeScript(script, List.of(key2), List.of("value2")).get(); assertEquals(OK, setResponse2); } try (Script script = new Script("return redis.call('GET', KEYS[1])", false)) { - Object getResponse1 = - regularClient.invokeScript(script, ScriptOptions.builder().key(key1).build()).get(); + Object getResponse1 = regularClient.invokeScript(script, List.of(key1), List.of()).get(); assertEquals("value1", getResponse1); // Use GlideString in option but we still expect nonbinary output Object getResponse2 = - regularClient - .invokeScript(script, ScriptOptionsGlideString.builder().key(gs(key2)).build()) - .get(); + regularClient.invokeScriptBinary(script, List.of(gs(key2)), List.of()).get(); assertEquals("value2", getResponse2); } } @@ -1869,37 +1860,25 @@ public void script_large_keys_and_or_args() { try (Script script = new Script("return KEYS[1]", false)) { // 1 very big key - Object response = - regularClient - .invokeScript(script, ScriptOptions.builder().key(str1 + str2).build()) - .get(); + Object response = regularClient.invokeScript(script, List.of(str1 + str2), List.of()).get(); assertEquals(str1 + str2, response); } try (Script script = new Script("return KEYS[1]", false)) { // 2 big keys - Object response = - regularClient - .invokeScript(script, ScriptOptions.builder().key(str1).key(str2).build()) - .get(); + Object response = regularClient.invokeScript(script, List.of(str1, str2), List.of()).get(); assertEquals(str1, response); } try (Script script = new Script("return ARGV[1]", false)) { // 1 very big arg - Object response = - regularClient - .invokeScript(script, ScriptOptions.builder().arg(str1 + str2).build()) - .get(); + Object response = regularClient.invokeScript(script, List.of(), List.of(str1 + str2)).get(); assertEquals(str1 + str2, response); } try (Script script = new Script("return ARGV[1]", false)) { // 1 big arg + 1 big key - Object response = - regularClient - .invokeScript(script, ScriptOptions.builder().arg(str1).key(str2).build()) - .get(); + Object response = regularClient.invokeScript(script, List.of(str1), List.of(str2)).get(); assertEquals(str2, response); } } @@ -1917,32 +1896,22 @@ public void invokeScript_gs_test() { try (Script script = new Script(gs("return redis.call('SET', KEYS[1], ARGV[1])"), true)) { Object setResponse1 = - regularClient - .invokeScript( - script, ScriptOptionsGlideString.builder().key(key1).arg(gs("value1")).build()) - .get(); + regularClient.invokeScriptBinary(script, List.of(key1), List.of(gs("value1"))).get(); assertEquals(OK, setResponse1); Object setResponse2 = - regularClient - .invokeScript( - script, ScriptOptionsGlideString.builder().key(key2).arg(gs("value2")).build()) - .get(); + regularClient.invokeScriptBinary(script, List.of(key2), List.of(gs("value2"))).get(); assertEquals(OK, setResponse2); } try (Script script = new Script(gs("return redis.call('GET', KEYS[1])"), true)) { Object getResponse1 = - regularClient - .invokeScript(script, ScriptOptionsGlideString.builder().key(key1).build()) - .get(); + regularClient.invokeScriptBinary(script, List.of(key1), List.of()).get(); assertEquals(gs("value1"), getResponse1); // Use String in option but we still expect binary output (GlideString) Object getResponse2 = - regularClient - .invokeScript(script, ScriptOptions.builder().key(key2.toString()).build()) - .get(); + regularClient.invokeScript(script, List.of(key2.toString()), List.of()).get(); assertEquals(gs("value2"), getResponse2); } } @@ -2090,7 +2059,7 @@ public void scriptKill_unkillable() { GlideClient.createClient(commonClientConfig().requestTimeout(30000).build()).get()) { try { // run the script without await - promise = testClient.invokeScript(script, ScriptOptions.builder().key(key).build()); + promise = testClient.invokeScript(script, List.of(key), List.of()); Thread.sleep(1000);