diff --git a/s3/src/test/java/ch/cyberduck/core/sts/AbstractAssumeRoleWithWebIdentityTest.java b/s3/src/test/java/ch/cyberduck/core/sts/AbstractAssumeRoleWithWebIdentityTest.java index 296827dad79..3a83a5b12c3 100644 --- a/s3/src/test/java/ch/cyberduck/core/sts/AbstractAssumeRoleWithWebIdentityTest.java +++ b/s3/src/test/java/ch/cyberduck/core/sts/AbstractAssumeRoleWithWebIdentityTest.java @@ -17,8 +17,8 @@ import ch.cyberduck.test.TestcontainerTest; -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; +import org.junit.AfterClass; +import org.junit.BeforeClass; import org.junit.experimental.categories.Category; import org.testcontainers.containers.ComposeContainer; import org.testcontainers.containers.wait.strategy.Wait; @@ -27,17 +27,23 @@ @Category(TestcontainerTest.class) public abstract class AbstractAssumeRoleWithWebIdentityTest { - protected static final Logger log = LogManager.getLogger(AbstractAssumeRoleWithWebIdentityTest.class); protected static final int OAUTH_TTL_MILLIS = 5000; - public static ComposeContainer prepareDockerComposeContainer() { - log.info("Preparing docker compose container..."); - return new ComposeContainer( - new File(AbstractAssumeRoleWithWebIdentityTest.class.getResource("/testcontainer/docker-compose.yml").getFile())) - .withPull(false) - .withLocalCompose(true) - .withExposedService("keycloak-1", 8080, Wait.forListeningPort()) - .withExposedService("minio-1", 9000, Wait.forListeningPort()); + private static final ComposeContainer container = new ComposeContainer( + new File(AbstractAssumeRoleWithWebIdentityTest.class.getResource("/testcontainer/docker-compose.yml").getFile())) + .withPull(false) + .withLocalCompose(true) + .withExposedService("keycloak-1", 8080, Wait.forListeningPort()) + .withExposedService("minio-1", 9000, Wait.forListeningPort()); + + @BeforeClass + public static void start() { + container.start(); + } + + @AfterClass + public static void shutdown() { + container.stop(); } } \ No newline at end of file diff --git a/s3/src/test/java/ch/cyberduck/core/sts/AssumeRoleWithWebIdentityAuthenticationTest.java b/s3/src/test/java/ch/cyberduck/core/sts/AssumeRoleWithWebIdentityAuthenticationTest.java index c10cdce827e..e369bd83a4d 100644 --- a/s3/src/test/java/ch/cyberduck/core/sts/AssumeRoleWithWebIdentityAuthenticationTest.java +++ b/s3/src/test/java/ch/cyberduck/core/sts/AssumeRoleWithWebIdentityAuthenticationTest.java @@ -38,10 +38,8 @@ import ch.cyberduck.test.TestcontainerTest; import org.jets3t.service.security.AWSSessionCredentials; -import org.junit.ClassRule; import org.junit.Test; import org.junit.experimental.categories.Category; -import org.testcontainers.containers.ComposeContainer; import org.testcontainers.shaded.org.apache.commons.lang3.StringUtils; import java.util.Collections; @@ -54,9 +52,6 @@ @Category(TestcontainerTest.class) public class AssumeRoleWithWebIdentityAuthenticationTest extends AbstractAssumeRoleWithWebIdentityTest { - @ClassRule - public static ComposeContainer compose = prepareDockerComposeContainer(); - @Test public void testSuccessfulLogin() throws BackgroundException { final Protocol profile = new ProfilePlistReader(new ProtocolFactory(new HashSet<>(Collections.singleton(new S3Protocol())))).read( diff --git a/s3/src/test/java/ch/cyberduck/core/sts/AssumeRoleWithWebIdentityAuthorizationTest.java b/s3/src/test/java/ch/cyberduck/core/sts/AssumeRoleWithWebIdentityAuthorizationTest.java index 09ac6cf96be..575715a964f 100644 --- a/s3/src/test/java/ch/cyberduck/core/sts/AssumeRoleWithWebIdentityAuthorizationTest.java +++ b/s3/src/test/java/ch/cyberduck/core/sts/AssumeRoleWithWebIdentityAuthorizationTest.java @@ -40,10 +40,8 @@ import ch.cyberduck.core.transfer.TransferStatus; import ch.cyberduck.test.TestcontainerTest; -import org.junit.ClassRule; import org.junit.Test; import org.junit.experimental.categories.Category; -import org.testcontainers.containers.ComposeContainer; import java.util.Collections; import java.util.EnumSet; @@ -54,9 +52,6 @@ @Category(TestcontainerTest.class) public class AssumeRoleWithWebIdentityAuthorizationTest extends AbstractAssumeRoleWithWebIdentityTest { - @ClassRule - public static ComposeContainer compose = prepareDockerComposeContainer(); - @Test public void testAuthorizationFindBucket() throws BackgroundException { final Protocol profile = new ProfilePlistReader(new ProtocolFactory(new HashSet<>(Collections.singleton(new S3Protocol())))).read(