Skip to content

Commit 693dc13

Browse files
committed
Add matrix tests
Add tarantool 3 support Add matrix tests with tarantool 1.x, 2.11.2 and 3.0.1 Change TARANTOOL_VERSION usage (remove -centos7 from template) Add tarantool-container profile for matrix tests Update DEFAULT_IMAGE_VERSION to 2.11.2 Closes #109
1 parent f9db043 commit 693dc13

File tree

7 files changed

+62
-27
lines changed

7 files changed

+62
-27
lines changed

.github/workflows/tests.yml

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ jobs:
3232
env:
3333
TARANTOOL_SERVER_USER: root
3434
TARANTOOL_SERVER_GROUP: root
35+
TARANTOOL_VERSION: "2.11.2-centos7"
3536
run: ./mvnw -B test -P integration -Djacoco.destFile=target/jacoco-ce.exec --file pom.xml
3637

3738
- name: Upload jacoco exec results
@@ -67,6 +68,30 @@ jobs:
6768
name: tests-ee-jacoco
6869
path: "**/jacoco-ee.exec"
6970

71+
tests-matrix:
72+
runs-on: ubuntu-latest
73+
timeout-minutes: 25
74+
strategy:
75+
matrix:
76+
tarantool-version: [ "1.x-centos7", "2.11.2-centos7", "3.0.1" ]
77+
fail-fast: false
78+
steps:
79+
- uses: actions/checkout@v4
80+
81+
- name: Set up JDK 1.8
82+
uses: actions/setup-java@v3
83+
with:
84+
distribution: 'zulu'
85+
java-version: '8'
86+
cache: 'maven'
87+
88+
- name: Build and run integration matrix tests
89+
env:
90+
TARANTOOL_VERSION: ${{ matrix.tarantool-version }}
91+
TARANTOOL_SERVER_USER: root
92+
TARANTOOL_SERVER_GROUP: root
93+
run: ./mvnw -B test -P tarantool-container --file pom.xml
94+
7095
merge-jacoco-report:
7196
name: Jacoco Merge Results
7297
needs:

CHANGELOG.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
([#55](https://github.com/tarantool/testcontainers-java-tarantool/issues/55))
1414
- Change private modifier to protected modifier for fields and methods in TarantoolCartridgeContainer
1515
- Add `TARANTOOL_VERSION` environment variable support to TarantoolCartridgeContainer
16-
`tarantool/tarantool:<TARANTOOL_VERSION>-centos7` if image name is omitted
16+
`tarantool/tarantool:<TARANTOOL_VERSION>` if image name is omitted
1717
([#102](https://github.com/tarantool/testcontainers-java-tarantool/pull/102))
1818

1919
## [1.1.0] - 2023-12-12

pom.xml

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -364,6 +364,28 @@
364364
</plugins>
365365
</build>
366366
</profile>
367+
<profile>
368+
<id>tarantool-container</id>
369+
<build>
370+
<plugins>
371+
<plugin>
372+
<groupId>org.apache.maven.plugins</groupId>
373+
<artifactId>maven-surefire-plugin</artifactId>
374+
<version>3.0.0-M5</version>
375+
<configuration>
376+
<includes>
377+
<include>**/*TarantoolContainer*IT.java</include>
378+
</includes>
379+
<systemPropertyVariables>
380+
<logback.configurationFile>${logging.config}</logback.configurationFile>
381+
<logLevel>${logging.logLevel}</logLevel>
382+
</systemPropertyVariables>
383+
<trimStackTrace>false</trimStackTrace>
384+
</configuration>
385+
</plugin>
386+
</plugins>
387+
</build>
388+
</profile>
367389
</profiles>
368390

369391
<distributionManagement>

src/main/java/org/testcontainers/containers/TarantoolContainer.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,8 @@ public class TarantoolContainer extends GenericContainer<TarantoolContainer>
1818
implements TarantoolContainerOperations<TarantoolContainer> {
1919

2020
public static final String TARANTOOL_IMAGE = "tarantool/tarantool";
21-
public static final String DEFAULT_IMAGE_VERSION = "2.10.5";
22-
public static final String DEFAULT_TARANTOOL_BASE_IMAGE = String.format("%s:%s-centos7", TARANTOOL_IMAGE, DEFAULT_IMAGE_VERSION);
21+
public static final String DEFAULT_IMAGE_VERSION = "2.11.2-centos7";
22+
public static final String DEFAULT_TARANTOOL_BASE_IMAGE = String.format("%s:%s", TARANTOOL_IMAGE, DEFAULT_IMAGE_VERSION);
2323

2424

2525
private static final String DEFAULT_HOST = "localhost";
@@ -386,7 +386,7 @@ public <T> T executeCommandDecoded(String command) throws Exception {
386386
private void setImageNameFromEnv() {
387387
String version = System.getenv("TARANTOOL_VERSION");
388388
if (version != null && !version.trim().isEmpty()) {
389-
setDockerImageName(String.format("%s:%s-centos7", TARANTOOL_IMAGE, version));
389+
setDockerImageName(String.format("%s:%s", TARANTOOL_IMAGE, version));
390390
}
391391
}
392392
}

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

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,8 @@ public final class TarantoolContainerClientHelper {
3535
" ):eval('%s')}) " +
3636
" ); " +
3737
" os.exit(); " +
38-
"\" | tarantool";
38+
"\" > container-tmp.lua &&" +
39+
" tarantool container-tmp.lua";
3940
private static final String SSL_COMMAND_TEMPLATE =
4041
"echo \" " +
4142
" print(require('yaml').encode( " +
@@ -45,7 +46,8 @@ public final class TarantoolContainerClientHelper {
4546
" ):eval('%s')}) " +
4647
" ); " +
4748
" os.exit(); " +
48-
"\" | tarantool";
49+
"\" > container-tmp.lua &&" +
50+
" tarantool container-tmp.lua";
4951
private static final String COMMAND_TEMPLATE = "echo \" " +
5052
" print(require('yaml').encode( " +
5153
" {require('net.box').connect( " +
@@ -54,7 +56,8 @@ public final class TarantoolContainerClientHelper {
5456
" ):eval('%s')}) " +
5557
" ); " +
5658
" os.exit(); " +
57-
"\" | tarantool";
59+
"\" > container-tmp.lua &&" +
60+
" tarantool container-tmp.lua";
5861

5962
TarantoolContainerClientHelper(TarantoolContainerOperations<? extends Container<?>> container) {
6063
this.container = container;

src/test/java/org/testcontainers/containers/TarantoolStaticContainerIT.java renamed to src/test/java/org/testcontainers/containers/StaticTarantoolContainerIT.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,11 @@
1313
* @author Ivan Dneprov
1414
*/
1515
@Testcontainers
16-
public class TarantoolStaticContainerIT {
16+
public class StaticTarantoolContainerIT {
17+
protected static final String tarantoolVersion = System.getenv().get("TARANTOOL_VERSION");
1718

1819
@Container
19-
private static final TarantoolContainer container = new TarantoolContainer();
20+
protected static final TarantoolContainer container = new TarantoolContainer();
2021

2122
@Test
2223
public void testExecuteCommand() throws Exception {

src/test/java/org/testcontainers/containers/TarantoolContainerIT.java

Lines changed: 2 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
class TarantoolContainerIT {
1616

1717
private static final String ENV_TARANTOOL_VERSION = "TARANTOOL_VERSION";
18+
protected static final String tarantoolVersion = System.getenv(ENV_TARANTOOL_VERSION);
1819

1920
private void addEnv(String key, String value) throws NoSuchFieldException, IllegalAccessException {
2021
Class<?> classOfMap = System.getenv().getClass();
@@ -73,31 +74,14 @@ public void testContainerWithParameters() throws Exception {
7374

7475
@Test
7576
public void testContainerWithTrueVersion() throws Exception {
76-
final String version = "2.11.0";
77-
addEnv(ENV_TARANTOOL_VERSION, version);
78-
79-
List<String> result;
80-
try (TarantoolContainer container = new TarantoolContainer()) {
81-
container.start();
82-
result = container.executeCommandDecoded("return _TARANTOOL");
83-
}
84-
85-
removeEnv(ENV_TARANTOOL_VERSION, version);
86-
assertEquals(1, result.size());
87-
assertTrue(result.get(0).startsWith(version));
88-
}
89-
90-
@Test
91-
public void testContainerWithDefaultVersionVersion() throws Exception {
92-
9377
List<String> result;
9478
try (TarantoolContainer container = new TarantoolContainer()) {
9579
container.start();
9680
result = container.executeCommandDecoded("return _TARANTOOL");
9781
}
9882

9983
assertEquals(1, result.size());
100-
assertTrue(result.get(0).startsWith(TarantoolContainer.DEFAULT_IMAGE_VERSION));
84+
assertTrue(result.get(0).startsWith(String.valueOf(tarantoolVersion.charAt(0))));
10185
}
10286

10387
@Test

0 commit comments

Comments
 (0)