Skip to content

Commit 2063765

Browse files
committed
Reuse tarantool container
1 parent ede27d1 commit 2063765

File tree

5 files changed

+61
-127
lines changed

5 files changed

+61
-127
lines changed

src/test/java/io/tarantool/driver/integration/ClusterTarantoolTupleClientIT.java

Lines changed: 2 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -49,22 +49,16 @@
4949
import static org.junit.jupiter.api.Assertions.assertTrue;
5050

5151
@Testcontainers
52-
public class ClusterTarantoolTupleClientIT {
52+
public class ClusterTarantoolTupleClientIT extends SharedTarantoolContainer {
5353

5454
private static final String TEST_SPACE_NAME = "test_space";
5555
private static final Logger log = LoggerFactory.getLogger(ClusterTarantoolTupleClientIT.class);
5656

57-
@Container
58-
private static final TarantoolContainer tarantoolContainer = new TarantoolContainer()
59-
.withScriptFileName("org/testcontainers/containers/server.lua")
60-
.withLogConsumer(new Slf4jLogConsumer(log));
61-
62-
private static TarantoolClient<TarantoolTuple, TarantoolResult<TarantoolTuple>> client;
6357
private static final DefaultMessagePackMapperFactory mapperFactory = DefaultMessagePackMapperFactory.getInstance();
6458

6559
@BeforeAll
6660
public static void setUp() {
67-
assertTrue(tarantoolContainer.isRunning());
61+
startContainer();
6862
initClient();
6963
}
7064

@@ -73,25 +67,6 @@ public static void tearDown() throws Exception {
7367
assertThrows(TarantoolClientException.class, () -> client.metadata().getSpaceByName("_space"));
7468
}
7569

76-
private static void initClient() {
77-
TarantoolCredentials credentials = new SimpleTarantoolCredentials(
78-
tarantoolContainer.getUsername(), tarantoolContainer.getPassword());
79-
80-
TarantoolServerAddress serverAddress = new TarantoolServerAddress(
81-
tarantoolContainer.getHost(), tarantoolContainer.getPort());
82-
83-
TarantoolClientConfig config = new TarantoolClientConfig.Builder()
84-
.withCredentials(credentials)
85-
.withConnectTimeout(1000 * 5)
86-
.withReadTimeout(1000 * 5)
87-
.withRequestTimeout(1000 * 5)
88-
.build();
89-
90-
log.info("Attempting connect to Tarantool");
91-
client = new ClusterTarantoolTupleClient(config, serverAddress);
92-
log.info("Successfully connected to Tarantool, version = {}", client.getVersion());
93-
}
94-
9570
@Test
9671
public void insertAndSelectRequests() throws Exception {
9772
TarantoolSpaceOperations<TarantoolTuple, TarantoolResult<TarantoolTuple>> testSpace =

src/test/java/io/tarantool/driver/integration/ClusterTruncateIT.java

Lines changed: 3 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,15 @@
11
package io.tarantool.driver.integration;
22

33

4-
import io.tarantool.driver.api.TarantoolClient;
5-
import io.tarantool.driver.api.TarantoolClientConfig;
64
import io.tarantool.driver.api.TarantoolResult;
7-
import io.tarantool.driver.api.TarantoolServerAddress;
85
import io.tarantool.driver.api.conditions.Conditions;
96
import io.tarantool.driver.api.space.TarantoolSpaceOperations;
107
import io.tarantool.driver.api.tuple.TarantoolTuple;
11-
import io.tarantool.driver.auth.SimpleTarantoolCredentials;
12-
import io.tarantool.driver.auth.TarantoolCredentials;
13-
import io.tarantool.driver.core.ClusterTarantoolTupleClient;
148
import io.tarantool.driver.core.tuple.TarantoolTupleImpl;
159
import io.tarantool.driver.exceptions.TarantoolClientException;
1610
import io.tarantool.driver.mappers.factories.DefaultMessagePackMapperFactory;
1711
import org.junit.jupiter.api.BeforeAll;
1812
import org.junit.jupiter.api.Test;
19-
import org.slf4j.Logger;
20-
import org.slf4j.LoggerFactory;
21-
import org.testcontainers.containers.TarantoolContainer;
22-
import org.testcontainers.containers.output.Slf4jLogConsumer;
23-
import org.testcontainers.junit.jupiter.Container;
2413
import org.testcontainers.junit.jupiter.Testcontainers;
2514

2615
import java.util.Arrays;
@@ -33,22 +22,16 @@
3322
import static org.junit.jupiter.api.Assertions.assertTrue;
3423

3524
@Testcontainers
36-
public class ClusterTruncateIT {
25+
public class ClusterTruncateIT extends SharedTarantoolContainer {
3726

3827
private static final String TEST_SPACE_NAME = "test_space";
39-
private static final Logger log = LoggerFactory.getLogger(ClusterTruncateIT.class);
4028

41-
@Container
42-
private static final TarantoolContainer tarantoolContainer = new TarantoolContainer()
43-
.withScriptFileName("org/testcontainers/containers/server.lua")
44-
.withLogConsumer(new Slf4jLogConsumer(log));
45-
46-
private static TarantoolClient<TarantoolTuple, TarantoolResult<TarantoolTuple>> client;
4729
private static final DefaultMessagePackMapperFactory mapperFactory = DefaultMessagePackMapperFactory.getInstance();
4830

4931
@BeforeAll
5032
public static void setUp() {
51-
assertTrue(tarantoolContainer.isRunning());
33+
startContainer();
34+
assertTrue(container.isRunning());
5235
initClient();
5336
}
5437

@@ -57,25 +40,6 @@ public static void tearDown() throws Exception {
5740
assertThrows(TarantoolClientException.class, () -> client.metadata().getSpaceByName("_space"));
5841
}
5942

60-
private static void initClient() {
61-
TarantoolCredentials credentials = new SimpleTarantoolCredentials(
62-
tarantoolContainer.getUsername(), tarantoolContainer.getPassword());
63-
64-
TarantoolServerAddress serverAddress = new TarantoolServerAddress(
65-
tarantoolContainer.getHost(), tarantoolContainer.getPort());
66-
67-
TarantoolClientConfig config = new TarantoolClientConfig.Builder()
68-
.withCredentials(credentials)
69-
.withConnectTimeout(1000 * 5)
70-
.withReadTimeout(1000 * 5)
71-
.withRequestTimeout(1000 * 5)
72-
.build();
73-
74-
log.info("Attempting connect to Tarantool");
75-
client = new ClusterTarantoolTupleClient(config, serverAddress);
76-
log.info("Successfully connected to Tarantool, version = {}", client.getVersion());
77-
}
78-
7943
@Test
8044
public void test_truncate2TimesOneSpace_shouldNotThrowExceptionsAndSpaceShouldBeEmptyAfterEtchCall() {
8145
TarantoolSpaceOperations<TarantoolTuple, TarantoolResult<TarantoolTuple>> testSpace =

src/test/java/io/tarantool/driver/integration/ConnectionIT.java

Lines changed: 25 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,6 @@
1919
import org.junit.jupiter.api.Test;
2020
import org.slf4j.Logger;
2121
import org.slf4j.LoggerFactory;
22-
import org.testcontainers.containers.TarantoolContainer;
23-
import org.testcontainers.containers.output.Slf4jLogConsumer;
24-
import org.testcontainers.junit.jupiter.Container;
2522
import org.testcontainers.junit.jupiter.Testcontainers;
2623
import org.testcontainers.shaded.com.fasterxml.jackson.databind.util.ClassUtil;
2724

@@ -45,24 +42,19 @@
4542
* @author Artyom Dubinin
4643
*/
4744
@Testcontainers
48-
public class ConnectionIT {
45+
public class ConnectionIT extends SharedTarantoolContainer {
4946
private static final String TEST_SPACE_NAME = "test_space";
5047
private static final String GUEST_USER = "guest";
5148
private static final String EXISTING_USER_WITHOUT_PASSWORD = "empty_password_user";
5249
private static final Logger log = LoggerFactory.getLogger(ConnectionIT.class);
5350

54-
@Container
55-
private static final TarantoolContainer tarantoolContainer = new TarantoolContainer()
56-
.withScriptFileName("org/testcontainers/containers/server.lua")
57-
.withLogConsumer(new Slf4jLogConsumer(log));
58-
5951
@Test
6052
public void connectAndCheckMetadata() throws Exception {
6153
TarantoolCredentials credentials = new SimpleTarantoolCredentials(
62-
tarantoolContainer.getUsername(), tarantoolContainer.getPassword());
54+
container.getUsername(), container.getPassword());
6355

6456
TarantoolServerAddress serverAddress = new TarantoolServerAddress(
65-
tarantoolContainer.getHost(), tarantoolContainer.getPort());
57+
container.getHost(), container.getPort());
6658

6759
try (ClusterTarantoolTupleClient client = new ClusterTarantoolTupleClient(credentials, serverAddress)) {
6860
ExecutorService executor = Executors.newFixedThreadPool(10);
@@ -86,10 +78,10 @@ public void connectAndCheckMetadata() throws Exception {
8678

8779
private CompletableFuture<List<?>> connectAndEval(String command) throws Exception {
8880
TarantoolCredentials credentials = new SimpleTarantoolCredentials(
89-
tarantoolContainer.getUsername(), tarantoolContainer.getPassword());
81+
container.getUsername(), container.getPassword());
9082

9183
TarantoolServerAddress serverAddress = new TarantoolServerAddress(
92-
tarantoolContainer.getHost(), tarantoolContainer.getPort());
84+
container.getHost(), container.getPort());
9385

9486
ClusterTarantoolTupleClient client = new ClusterTarantoolTupleClient(credentials, serverAddress);
9587
CompletableFuture<List<?>> future = client.eval(command);
@@ -119,7 +111,7 @@ public void testGuestExplicit() throws Exception {
119111
TarantoolCredentials credentials = new SimpleTarantoolCredentials(
120112
GUEST_USER, "");
121113
TarantoolServerAddress serverAddress = new TarantoolServerAddress(
122-
tarantoolContainer.getHost(), tarantoolContainer.getPort());
114+
container.getHost(), container.getPort());
123115
try (ClusterTarantoolTupleClient client = new ClusterTarantoolTupleClient(credentials, serverAddress)) {
124116
List<?> resultList = client.eval("return box.session.user()").get();
125117
String sessionUser = (String) resultList.get(0);
@@ -133,7 +125,7 @@ public void testGuestExplicitWithPassword_shouldThrowException() throws Exceptio
133125
TarantoolCredentials credentials = new SimpleTarantoolCredentials(
134126
GUEST_USER, "abcd");
135127
TarantoolServerAddress serverAddress = new TarantoolServerAddress(
136-
tarantoolContainer.getHost(), tarantoolContainer.getPort());
128+
container.getHost(), container.getPort());
137129
try (ClusterTarantoolTupleClient client = new ClusterTarantoolTupleClient(credentials, serverAddress)) {
138130
ExecutionException e = assertThrows(ExecutionException.class, () -> {
139131
client.eval("return box.session.user()").get();
@@ -152,7 +144,7 @@ public void testGuestImplicit() throws Exception {
152144
TarantoolCredentials credentials = new SimpleTarantoolCredentials(
153145
"", "");
154146
TarantoolServerAddress serverAddress = new TarantoolServerAddress(
155-
tarantoolContainer.getHost(), tarantoolContainer.getPort());
147+
container.getHost(), container.getPort());
156148
try (ClusterTarantoolTupleClient client = new ClusterTarantoolTupleClient(credentials, serverAddress)) {
157149
List<?> resultList = client.eval("return box.session.user()").get();
158150
String sessionUser = (String) resultList.get(0);
@@ -166,7 +158,7 @@ public void testGuestImplicitWithPassword_shouldThrowException() throws Exceptio
166158
TarantoolCredentials credentials = new SimpleTarantoolCredentials(
167159
"", "abcd");
168160
TarantoolServerAddress serverAddress = new TarantoolServerAddress(
169-
tarantoolContainer.getHost(), tarantoolContainer.getPort());
161+
container.getHost(), container.getPort());
170162
try (ClusterTarantoolTupleClient client = new ClusterTarantoolTupleClient(credentials, serverAddress)) {
171163
ExecutionException e = assertThrows(ExecutionException.class, () -> {
172164
List<?> resultList = client.eval("return box.session.user()").get();
@@ -185,7 +177,7 @@ public void testExistingUserWithoutPassword() throws Exception {
185177
TarantoolCredentials credentials = new SimpleTarantoolCredentials(
186178
EXISTING_USER_WITHOUT_PASSWORD, "");
187179
TarantoolServerAddress serverAddress = new TarantoolServerAddress(
188-
tarantoolContainer.getHost(), tarantoolContainer.getPort());
180+
container.getHost(), container.getPort());
189181
try (ClusterTarantoolTupleClient client = new ClusterTarantoolTupleClient(credentials, serverAddress)) {
190182
List<?> resultList = client.eval("return box.session.user()").get();
191183
String sessionUser = (String) resultList.get(0);
@@ -198,7 +190,7 @@ public void testRandomNameUserWithoutPassword_shouldThrowException() throws Exce
198190
TarantoolCredentials credentials = new SimpleTarantoolCredentials(
199191
"RandomUserName", "");
200192
TarantoolServerAddress serverAddress = new TarantoolServerAddress(
201-
tarantoolContainer.getHost(), tarantoolContainer.getPort());
193+
container.getHost(), container.getPort());
202194
try (ClusterTarantoolTupleClient client = new ClusterTarantoolTupleClient(credentials, serverAddress)) {
203195
ExecutionException e = assertThrows(ExecutionException.class, () -> {
204196
client.eval("return box.session.user()").get();
@@ -213,9 +205,9 @@ public void testRandomNameUserWithoutPassword_shouldThrowException() throws Exce
213205
public void testIncorrectHostname_shouldThrowException() {
214206
assertThrows(TarantoolClientException.class, () -> {
215207
TarantoolCredentials credentials = new SimpleTarantoolCredentials(
216-
tarantoolContainer.getUsername(), tarantoolContainer.getPassword());
208+
container.getUsername(), container.getPassword());
217209
TarantoolServerAddress serverAddress = new TarantoolServerAddress(
218-
"wronghost", tarantoolContainer.getPort());
210+
"wronghost", container.getPort());
219211
ClusterTarantoolTupleClient client = new ClusterTarantoolTupleClient(credentials, serverAddress);
220212
// Connection is actually performed here
221213
client.getVersion();
@@ -226,9 +218,9 @@ public void testIncorrectHostname_shouldThrowException() {
226218
public void testIncorrectPort_shouldThrowException() {
227219
assertThrows(TarantoolClientException.class, () -> {
228220
TarantoolCredentials credentials = new SimpleTarantoolCredentials(
229-
tarantoolContainer.getUsername(), tarantoolContainer.getPassword());
221+
container.getUsername(), container.getPassword());
230222
TarantoolServerAddress serverAddress = new TarantoolServerAddress(
231-
tarantoolContainer.getHost(), 9999);
223+
container.getHost(), 9999);
232224
ClusterTarantoolTupleClient client = new ClusterTarantoolTupleClient(credentials, serverAddress);
233225
// Connection is actually performed here
234226
client.getVersion();
@@ -238,9 +230,9 @@ public void testIncorrectPort_shouldThrowException() {
238230
@Test
239231
public void testCloseAfterIncorrectPort_shouldThrowException() {
240232
TarantoolCredentials credentials = new SimpleTarantoolCredentials(
241-
tarantoolContainer.getUsername(), tarantoolContainer.getPassword());
233+
container.getUsername(), container.getPassword());
242234
TarantoolServerAddress serverAddress = new TarantoolServerAddress(
243-
tarantoolContainer.getHost(), 9999);
235+
container.getHost(), 9999);
244236
assertThrows(TarantoolClientException.class, () -> {
245237
try (ClusterTarantoolTupleClient client = new ClusterTarantoolTupleClient(credentials, serverAddress)) {
246238
// Connection is actually performed here
@@ -252,9 +244,9 @@ public void testCloseAfterIncorrectPort_shouldThrowException() {
252244
@Test
253245
public void testCloseAfterIncorrectPassword_shouldThrowException() {
254246
TarantoolCredentials credentials = new SimpleTarantoolCredentials(
255-
tarantoolContainer.getUsername(), "incorrect");
247+
container.getUsername(), "incorrect");
256248
TarantoolServerAddress serverAddress = new TarantoolServerAddress(
257-
tarantoolContainer.getHost(), tarantoolContainer.getPort());
249+
container.getHost(), container.getPort());
258250
assertThrows(TarantoolClientException.class, () -> {
259251
try (ClusterTarantoolTupleClient client = new ClusterTarantoolTupleClient(credentials, serverAddress)) {
260252
// Connection is actually performed here
@@ -266,9 +258,9 @@ public void testCloseAfterIncorrectPassword_shouldThrowException() {
266258
@Test
267259
public void testIncorrectPassword_secondRequestShouldNotHang() {
268260
TarantoolCredentials credentials = new SimpleTarantoolCredentials(
269-
tarantoolContainer.getUsername(), "incorrect");
261+
container.getUsername(), "incorrect");
270262
TarantoolServerAddress serverAddress = new TarantoolServerAddress(
271-
tarantoolContainer.getHost(), tarantoolContainer.getPort());
263+
container.getHost(), container.getPort());
272264
assertThrows(TarantoolClientException.class, () -> {
273265
try (ClusterTarantoolTupleClient client = new ClusterTarantoolTupleClient(credentials, serverAddress)) {
274266
// Connection is actually performed here
@@ -286,9 +278,9 @@ public void testIncorrectPassword_secondRequestShouldNotHang() {
286278
@Test
287279
public void testIncorrectPassword_multipleRequestsShouldNotHang() {
288280
TarantoolCredentials credentials = new SimpleTarantoolCredentials(
289-
tarantoolContainer.getUsername(), "incorrect");
281+
container.getUsername(), "incorrect");
290282
TarantoolServerAddress serverAddress = new TarantoolServerAddress(
291-
"neverwhere", tarantoolContainer.getPort());
283+
"neverwhere", container.getPort());
292284
TarantoolClientConfig config = TarantoolClientConfig.builder()
293285
.withConnectTimeout(100)
294286
.withRequestTimeout(100)
@@ -322,10 +314,10 @@ public void testIncorrectPassword_multipleRequestsShouldNotHang() {
322314
@Test
323315
public void testClientClosing_clientWithoutConnectionsShouldNotHang() throws Exception {
324316
TarantoolCredentials credentials = new SimpleTarantoolCredentials(
325-
tarantoolContainer.getUsername(), tarantoolContainer.getPassword());
317+
container.getUsername(), container.getPassword());
326318

327319
TarantoolServerAddress serverAddress = new TarantoolServerAddress(
328-
tarantoolContainer.getHost(), tarantoolContainer.getPort());
320+
container.getHost(), container.getPort());
329321

330322
ClusterTarantoolTupleClient client = new ClusterTarantoolTupleClient(credentials, serverAddress);
331323
client.close();

src/test/java/io/tarantool/driver/integration/OffsetCursorIT.java

Lines changed: 2 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,6 @@
2020
import org.junit.jupiter.api.Test;
2121
import org.slf4j.Logger;
2222
import org.slf4j.LoggerFactory;
23-
import org.testcontainers.containers.TarantoolContainer;
24-
import org.testcontainers.junit.jupiter.Container;
2523
import org.testcontainers.junit.jupiter.Testcontainers;
2624

2725
import java.util.ArrayList;
@@ -37,23 +35,18 @@
3735
import static org.junit.jupiter.api.Assertions.fail;
3836

3937
@Testcontainers
40-
public class OffsetCursorIT {
38+
public class OffsetCursorIT extends SharedTarantoolContainer {
4139

4240
private static final String TEST_SPACE_NAME = "cursor_test_space";
4341
private static final String TEST_MULTIPART_KEY_SPACE_NAME = "cursor_test_space_multi_part_key";
4442

4543
private static final Logger log = LoggerFactory.getLogger(OffsetCursorIT.class);
4644

47-
@Container
48-
private static final TarantoolContainer tarantoolContainer = new TarantoolContainer()
49-
.withScriptFileName("org/testcontainers/containers/server.lua");
50-
51-
private static TarantoolClient<TarantoolTuple, TarantoolResult<TarantoolTuple>> client;
5245
private static final DefaultMessagePackMapperFactory mapperFactory = DefaultMessagePackMapperFactory.getInstance();
5346

5447
@BeforeAll
5548
public static void setUp() {
56-
assertTrue(tarantoolContainer.isRunning());
49+
startContainer();
5750
initClient();
5851

5952
try {
@@ -73,25 +66,6 @@ public static void tearDown() throws Exception {
7366
assertThrows(TarantoolClientException.class, () -> client.metadata().getSpaceByName("_space"));
7467
}
7568

76-
private static void initClient() {
77-
TarantoolCredentials credentials = new SimpleTarantoolCredentials(
78-
tarantoolContainer.getUsername(), tarantoolContainer.getPassword());
79-
80-
TarantoolServerAddress serverAddress = new TarantoolServerAddress(
81-
tarantoolContainer.getHost(), tarantoolContainer.getPort());
82-
83-
TarantoolClientConfig config = new TarantoolClientConfig.Builder()
84-
.withCredentials(credentials)
85-
.withConnectTimeout(1000 * 5)
86-
.withReadTimeout(1000 * 5)
87-
.withRequestTimeout(1000 * 5)
88-
.build();
89-
90-
log.info("Attempting connect to Tarantool");
91-
client = new ClusterTarantoolTupleClient(config, serverAddress);
92-
log.info("Successfully connected to Tarantool, version = {}", client.getVersion());
93-
}
94-
9569
private interface ElementGenerator {
9670
List<Object> generate(int index);
9771
}

0 commit comments

Comments
 (0)