Skip to content

Commit 0fbd58a

Browse files
authored
fix: edit testcontainers helper (#54)
1 parent ecbd7ec commit 0fbd58a

File tree

1 file changed

+13
-8
lines changed

1 file changed

+13
-8
lines changed

testcontainers/src/main/java/org/testcontainers/containers/utils/TarantoolContainerClientHelper.java

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -62,9 +62,14 @@ public final class TarantoolContainerClientHelper {
6262

6363
private static final String TMP_DIR = "/tmp";
6464
private static final Yaml yaml = new Yaml();
65-
public static final String TARANTOOL_VERSION = System.getenv("TARANTOOL_VERSION");
65+
public static final String TARANTOOL_VERSION =
66+
System.getenv().getOrDefault("TARANTOOL_VERSION", "2.11.2-ubuntu20.04");
67+
private static final String TT_COMMAND =
68+
TARANTOOL_VERSION.startsWith("2.") ? "tarantoolctl" : "tt";
6669
public static final String IMAGE_PREFIX =
6770
System.getenv().getOrDefault("TARANTOOL_REGISTRY", "") + "tarantool/tarantool";
71+
public static final DockerImageName DOCKER_IMAGE =
72+
DockerImageName.parse(String.format("%s:%s", IMAGE_PREFIX, TARANTOOL_VERSION));
6873
private static final Network NETWORK = Network.newNetwork();
6974

7075
/**
@@ -78,7 +83,7 @@ public final class TarantoolContainerClientHelper {
7883
private static final String EXECUTE_COMMAND_ERROR_TEMPLATE =
7984
"Executed command \"%s\" with exit code %d, stderr: \"%s\", stdout: \"%s\"";
8085

81-
private static final String ECHO_COMMAND = "echo \"%s\" | tt connect %s:%s@%s:%d";
86+
private static final String ECHO_COMMAND = "echo \"%s\" | %s connect %s:%s@%s:%d";
8287
private static final String COMMAND_TEMPLATE =
8388
"echo \" "
8489
+ " print(require('yaml').encode( "
@@ -164,7 +169,8 @@ public static Container.ExecResult executeCommand(TarantoolContainer<?> containe
164169
command = command.replace("\"", "\\\"");
165170

166171
String bashCommand =
167-
String.format(ECHO_COMMAND, command, API_USER, CREDS.get(API_USER), "localhost", 3301);
172+
String.format(
173+
ECHO_COMMAND, command, TT_COMMAND, API_USER, CREDS.get(API_USER), "localhost", 3301);
168174

169175
return container.execInContainer("/bin/sh", "-c", bashCommand);
170176
}
@@ -179,7 +185,8 @@ public static Container.ExecResult executeCommand(
179185
command = command.replace("\"", "\\\"");
180186

181187
String bashCommand =
182-
String.format(ECHO_COMMAND, command, API_USER, CREDS.get(API_USER), "localhost", port);
188+
String.format(
189+
ECHO_COMMAND, command, TT_COMMAND, API_USER, CREDS.get(API_USER), "localhost", port);
183190

184191
return container.execInContainer("/bin/sh", "-c", bashCommand);
185192
}
@@ -208,8 +215,6 @@ public static <T> T executeCommandDecoded(TarantoolContainer<?> container, Strin
208215
}
209216

210217
public static TarantoolContainer<?> createTarantoolContainer(Integer... exposedPorts) {
211-
DockerImageName dockerImage =
212-
DockerImageName.parse(String.format("%s:%s", IMAGE_PREFIX, TARANTOOL_VERSION));
213218
Path initScriptPath = null;
214219
TarantoolContainer<?> container;
215220
try {
@@ -227,9 +232,9 @@ public static TarantoolContainer<?> createTarantoolContainer(Integer... exposedP
227232
String containerName = String.format("node-%s", UUID.randomUUID());
228233
container =
229234
switch (Character.getNumericValue(TARANTOOL_VERSION.charAt(0))) {
230-
case 2 -> Tarantool2Container.builder(dockerImage, initScriptPath).build();
235+
case 2 -> Tarantool2Container.builder(DOCKER_IMAGE, initScriptPath).build();
231236
case 3 ->
232-
new Tarantool3Container(dockerImage, containerName)
237+
new Tarantool3Container(DOCKER_IMAGE, containerName)
233238
.withConfigPath(createConfig(containerName, exposedPorts))
234239
.withNetwork(NETWORK)
235240
.waitingFor(

0 commit comments

Comments
 (0)