Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 0 additions & 12 deletions docs/examples/junit4/generic/build.gradle

This file was deleted.

This file was deleted.

9 changes: 0 additions & 9 deletions docs/examples/junit4/redis/build.gradle

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

13 changes: 0 additions & 13 deletions docs/examples/junit4/redis/src/test/resources/logback-test.xml

This file was deleted.

24 changes: 24 additions & 0 deletions docs/examples/junit5/generic/build.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
description = "Examples for docs"

buildDir = "$rootDir/build/docs-examples/junit5/generic"

dependencies {
testImplementation project(":testcontainers")
testImplementation project(":testcontainers-junit-jupiter")
testImplementation project(":testcontainers-selenium")
testImplementation project(":testcontainers-mysql")

testRuntimeOnly 'com.mysql:mysql-connector-j:8.2.0'
testRuntimeOnly 'org.junit.jupiter:junit-jupiter:5.13.4'
testRuntimeOnly 'org.junit.platform:junit-platform-launcher:1.10.3'
testImplementation "org.seleniumhq.selenium:selenium-api:4.35.0"
testImplementation 'org.assertj:assertj-core:3.27.4'
}

test {
useJUnitPlatform()
// Keep these generic snippets compile-checked without starting every referenced container in docs CI.
enabled = false
}

check.dependsOn(testClasses)
Original file line number Diff line number Diff line change
Expand Up @@ -2,22 +2,23 @@

import com.github.dockerjava.api.DockerClient;
import com.github.dockerjava.api.model.Info;
import org.junit.Rule;
import org.junit.Test;
import org.junit.jupiter.api.Test;
import org.testcontainers.DockerClientFactory;
import org.testcontainers.containers.Container;
import org.testcontainers.containers.GenericContainer;
import org.testcontainers.junit.jupiter.Container;
import org.testcontainers.junit.jupiter.Testcontainers;
import org.testcontainers.utility.DockerImageName;

import java.io.IOException;
import java.util.Objects;

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

@Testcontainers
public class CmdModifierTest {

// hostname {
@Rule
@Container
public GenericContainer theCache = new GenericContainer<>(DockerImageName.parse("redis:6-alpine"))
.withCreateContainerCmdModifier(cmd -> cmd.withHostName("the-cache"));

Expand All @@ -29,7 +30,7 @@ public class CmdModifierTest {

private long memorySwapInBytes = 64l * 1024l * 1024l;

@Rule
@Container
public GenericContainer memoryLimitedRedis = new GenericContainer<>(DockerImageName.parse("redis:6-alpine"))
.withCreateContainerCmdModifier(cmd -> {
cmd.getHostConfig()
Expand All @@ -42,13 +43,16 @@ public class CmdModifierTest {

@Test
public void testHostnameModified() throws IOException, InterruptedException {
final Container.ExecResult execResult = theCache.execInContainer("hostname");
final org.testcontainers.containers.Container.ExecResult execResult = theCache.execInContainer("hostname");
assertThat(execResult.getStdout().trim()).isEqualTo("the-cache");
}

@Test
public void testMemoryLimitModified() throws IOException, InterruptedException {
final Container.ExecResult execResult = memoryLimitedRedis.execInContainer("cat", getMemoryLimitFilePath());
final org.testcontainers.containers.Container.ExecResult execResult = memoryLimitedRedis.execInContainer(
"cat",
getMemoryLimitFilePath()
);
assertThat(execResult.getStdout().trim()).isEqualTo(String.valueOf(memoryInBytes));
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,15 +1,17 @@
package generic;

import org.junit.Rule;
import org.junit.Test;
import org.junit.jupiter.api.Test;
import org.testcontainers.containers.GenericContainer;
import org.testcontainers.junit.jupiter.Container;
import org.testcontainers.junit.jupiter.Testcontainers;
import org.testcontainers.utility.DockerImageName;

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

@Testcontainers
public class CommandsTest {

@Rule
@Container
// startupCommand {
public GenericContainer redisWithCustomPort = new GenericContainer(DockerImageName.parse("redis:6-alpine"))
.withCommand("redis-server --port 7777")
Expand Down
Original file line number Diff line number Diff line change
@@ -1,19 +1,21 @@
package generic;

import org.junit.ClassRule;
import org.junit.Test;
import org.junit.jupiter.api.Test;
import org.testcontainers.containers.GenericContainer;
import org.testcontainers.junit.jupiter.Container;
import org.testcontainers.junit.jupiter.Testcontainers;
import org.testcontainers.utility.DockerImageName;

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

@Testcontainers
public class ContainerCreationTest {

// spotless:off
// simple {
public static final DockerImageName REDIS_IMAGE = DockerImageName.parse("redis:6-alpine");

@ClassRule
@Container
public static GenericContainer<?> redis = new GenericContainer<>(REDIS_IMAGE)
.withExposedPorts(6379);

Expand All @@ -27,7 +29,7 @@ public class ContainerCreationTest {
// Set up a plain OS container and customize environment,
// command and exposed ports. This just listens on port 80
// and always returns '42'
@ClassRule
@Container
public static GenericContainer<?> alpine = new GenericContainer<>(ALPINE_IMAGE)
.withExposedPorts(80)
.withEnv("MAGIC_NUMBER", "42")
Expand Down
Original file line number Diff line number Diff line change
@@ -1,18 +1,20 @@
package generic;

import org.junit.Rule;
import org.junit.Test;
import org.junit.jupiter.api.Test;
import org.testcontainers.containers.GenericContainer;
import org.testcontainers.junit.jupiter.Container;
import org.testcontainers.junit.jupiter.Testcontainers;

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

@Testcontainers
public class DependsOnTest {

@Rule
@Container
// dependsOn {
public GenericContainer<?> redis = new GenericContainer<>("redis:6-alpine").withExposedPorts(6379);

@Rule
@Container
public GenericContainer<?> nginx = new GenericContainer<>("nginx:1.27.0-alpine3.19-slim")
.dependsOn(redis)
.withExposedPorts(80);
Expand Down
Loading