Skip to content

Commit 5171d96

Browse files
authored
Merge branch 'main' into main
2 parents bf19086 + 326987f commit 5171d96

File tree

9 files changed

+48
-14
lines changed

9 files changed

+48
-14
lines changed

.github/pull_request_template.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
<!--
2-
Thanks for contributing to Testcontainers. Please review the following notes before
3-
submitting a pull request.
2+
Thanks for contributing to Testcontainers. Before submitting a pull request, please
3+
review our contributing guidelines at https://java.testcontainers.org/contributing/
4+
5+
Please also review the following notes before submitting a pull request.
46
57
New Modules:
68

core/src/main/java/org/testcontainers/utility/RyukContainer.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
class RyukContainer extends GenericContainer<RyukContainer> {
1010

1111
RyukContainer() {
12-
super("testcontainers/ryuk:0.13.0");
12+
super("testcontainers/ryuk:0.14.0");
1313
withExposedPorts(8080);
1414
withCreateContainerCmdModifier(cmd -> {
1515
cmd.withName("testcontainers-ryuk-" + DockerClientFactory.SESSION_ID);

docs/modules/k6.md

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,23 @@ Testcontainers module for [k6](https://registry.hub.docker.com/r/grafana/k6).
1111

1212
## Basic script execution
1313

14-
Execute a simple k6 test script, `test.js`, with commandline options and injected script variable.
14+
You can start a K6 container instance from any Java application by using:
15+
16+
<!--codeinclude-->
17+
[Setup the container](../../modules/k6/src/test/java/org/testcontainers/k6/K6ContainerTests.java) inside_block:standard_k6
18+
<!--/codeinclude-->
19+
20+
The test above uses a simple k6 script, `test.js`, with command line options and an injected script variable.
21+
22+
Once the container is started, you can wait for the test results to be collected:
23+
24+
<!--codeinclude-->
25+
[Wait for test results](../../modules/k6/src/test/java/org/testcontainers/k6/K6ContainerTests.java) inside_block:wait
26+
<!--/codeinclude-->
1527

1628
Create a simple k6 test script to be executed as part of your tests:
1729

1830
<!--codeinclude-->
19-
[Setup the container](../../modules/k6/src/test/java/org/testcontainers/k6/K6ContainerTests.java) inside_block:standard_k6
2031
[Content of `scripts/test.js`](../../modules/k6/src/test/resources/scripts/test.js) inside_block:access_script_vars
2132
<!--/codeinclude-->
2233

modules/activemq/src/main/java/org/testcontainers/activemq/ActiveMQContainer.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,11 @@
2121
*/
2222
public class ActiveMQContainer extends GenericContainer<ActiveMQContainer> {
2323

24-
private static final DockerImageName DEFAULT_IMAGE = DockerImageName.parse("apache/activemq-classic");
24+
private static final DockerImageName APACHE_ACTIVEMQ_CLASSIC_IMAGE = DockerImageName.parse(
25+
"apache/activemq-classic"
26+
);
27+
28+
private static final DockerImageName DEFAULT_IMAGE = DockerImageName.parse("apache/activemq");
2529

2630
private static final int WEB_CONSOLE_PORT = 8161;
2731

@@ -45,7 +49,7 @@ public ActiveMQContainer(String image) {
4549

4650
public ActiveMQContainer(DockerImageName dockerImageName) {
4751
super(dockerImageName);
48-
dockerImageName.assertCompatibleWith(DEFAULT_IMAGE);
52+
dockerImageName.assertCompatibleWith(DEFAULT_IMAGE, APACHE_ACTIVEMQ_CLASSIC_IMAGE);
4953

5054
withExposedPorts(WEB_CONSOLE_PORT, TCP_PORT, AMQP_PORT, STOMP_PORT, MQTT_PORT, WS_PORT);
5155
waitingFor(Wait.forLogMessage(".*Apache ActiveMQ.*started.*", 1).withStartupTimeout(Duration.ofMinutes(1)));

modules/activemq/src/test/java/org/testcontainers/activemq/ActiveMQContainerTest.java

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@
1010
import lombok.SneakyThrows;
1111
import org.apache.activemq.ActiveMQConnectionFactory;
1212
import org.junit.jupiter.api.Test;
13+
import org.junit.jupiter.params.ParameterizedTest;
14+
import org.junit.jupiter.params.provider.ValueSource;
1315

1416
import static org.assertj.core.api.Assertions.assertThat;
1517

@@ -18,7 +20,7 @@ class ActiveMQContainerTest {
1820
@Test
1921
void test() {
2022
try ( // container {
21-
ActiveMQContainer activemq = new ActiveMQContainer("apache/activemq-classic:5.18.3")
23+
ActiveMQContainer activemq = new ActiveMQContainer("apache/activemq:5.18.7")
2224
// }
2325
) {
2426
activemq.start();
@@ -29,11 +31,20 @@ void test() {
2931
}
3032
}
3133

34+
@ParameterizedTest
35+
@ValueSource(strings = { "apache/activemq-classic:5.18.7", "apache/activemq:5.18.7" })
36+
void compatibility(String image) {
37+
try (ActiveMQContainer activemq = new ActiveMQContainer(image)) {
38+
activemq.start();
39+
assertFunctionality(activemq, false);
40+
}
41+
}
42+
3243
@Test
3344
void customCredentials() {
3445
try (
3546
// settingCredentials {
36-
ActiveMQContainer activemq = new ActiveMQContainer("apache/activemq-classic:5.18.3")
47+
ActiveMQContainer activemq = new ActiveMQContainer("apache/activemq:5.18.7")
3748
.withUser("testcontainers")
3849
.withPassword("testcontainers")
3950
// }

modules/azure/build.gradle

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,3 +15,7 @@ dependencies {
1515
testImplementation 'com.azure:azure-messaging-servicebus'
1616
testImplementation 'com.microsoft.sqlserver:mssql-jdbc:13.3.0.jre8-preview'
1717
}
18+
19+
tasks.japicmp {
20+
methodExcludes = ["org.testcontainers.azure.ServiceBusEmulatorContainer#withMsSqlServerContainer(org.testcontainers.containers.MSSQLServerContainer)"]
21+
}

modules/azure/src/main/java/org/testcontainers/azure/ServiceBusEmulatorContainer.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
package org.testcontainers.azure;
22

33
import org.testcontainers.containers.GenericContainer;
4-
import org.testcontainers.containers.MSSQLServerContainer;
54
import org.testcontainers.containers.wait.strategy.Wait;
65
import org.testcontainers.images.builder.Transferable;
6+
import org.testcontainers.mssqlserver.MSSQLServerContainer;
77
import org.testcontainers.utility.DockerImageName;
88
import org.testcontainers.utility.LicenseAcceptance;
99

@@ -25,7 +25,7 @@ public class ServiceBusEmulatorContainer extends GenericContainer<ServiceBusEmul
2525
"mcr.microsoft.com/azure-messaging/servicebus-emulator"
2626
);
2727

28-
private MSSQLServerContainer<?> msSqlServerContainer;
28+
private MSSQLServerContainer msSqlServerContainer;
2929

3030
/**
3131
* @param dockerImageName The specified docker image name to run
@@ -51,7 +51,7 @@ public ServiceBusEmulatorContainer(final DockerImageName dockerImageName) {
5151
* @param msSqlServerContainer The MS SQL Server container used by Service Bus as a dependency
5252
* @return this
5353
*/
54-
public ServiceBusEmulatorContainer withMsSqlServerContainer(final MSSQLServerContainer<?> msSqlServerContainer) {
54+
public ServiceBusEmulatorContainer withMsSqlServerContainer(final MSSQLServerContainer msSqlServerContainer) {
5555
dependsOn(msSqlServerContainer);
5656
this.msSqlServerContainer = msSqlServerContainer;
5757
return this;

modules/azure/src/test/java/org/testcontainers/azure/ServiceBusEmulatorContainerTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@
1010
import com.github.dockerjava.api.model.Capability;
1111
import org.assertj.core.api.Assertions;
1212
import org.junit.jupiter.api.Test;
13-
import org.testcontainers.containers.MSSQLServerContainer;
1413
import org.testcontainers.containers.Network;
14+
import org.testcontainers.mssqlserver.MSSQLServerContainer;
1515
import org.testcontainers.utility.MountableFile;
1616

1717
import java.util.List;
@@ -31,7 +31,7 @@ void testWithClient() {
3131
Network network = Network.newNetwork();
3232
// }
3333
// sqlContainer {
34-
MSSQLServerContainer<?> mssqlServerContainer = new MSSQLServerContainer<>(
34+
MSSQLServerContainer mssqlServerContainer = new MSSQLServerContainer(
3535
"mcr.microsoft.com/mssql/server:2022-CU14-ubuntu-22.04"
3636
)
3737
.acceptLicense()

modules/k6/src/test/java/org/testcontainers/k6/K6ContainerTests.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ void k6StandardTest() throws Exception {
2323
) {
2424
container.start();
2525

26+
// wait {
2627
WaitingConsumer consumer = new WaitingConsumer();
2728
container.followOutput(consumer);
2829

@@ -34,6 +35,7 @@ void k6StandardTest() throws Exception {
3435
3,
3536
TimeUnit.SECONDS
3637
);
38+
// }
3739

3840
assertThat(container.getLogs()).contains("k6 tests are cool!");
3941
}

0 commit comments

Comments
 (0)