Skip to content

Commit b8d2fd0

Browse files
Excavator: Switch to JUnit 5 to parallelize tests and speed up CI
1 parent 916c91a commit b8d2fd0

File tree

61 files changed

+139
-107
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

61 files changed

+139
-107
lines changed

docker-compose-rule-core/build.gradle

+8
Original file line numberDiff line numberDiff line change
@@ -28,4 +28,12 @@ dependencies {
2828
testImplementation 'com.github.tomakehurst:wiremock'
2929

3030
integrationTestCompile project.sourceSets.test.output
31+
integrationTestImplementation 'org.junit.jupiter:junit-jupiter'
32+
integrationTestRuntimeOnly 'org.junit.vintage:junit-vintage-engine', {
33+
because 'allows JUnit 3 and JUnit 4 tests to run'
34+
}
35+
testImplementation 'org.junit.jupiter:junit-jupiter'
36+
testRuntimeOnly 'org.junit.vintage:junit-vintage-engine', {
37+
because 'allows JUnit 3 and JUnit 4 tests to run'
38+
}
3139
}

docker-compose-rule-core/src/integrationTest/java/com/palantir/docker/compose/AggressiveShutdownStrategyIntegrationTest.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
import com.palantir.docker.compose.logging.DoNothingLogCollector;
2424
import org.hamcrest.MatcherAssert;
2525
import org.hamcrest.Matchers;
26-
import org.junit.Test;
26+
import org.junit.jupiter.api.Test;
2727

2828
public class AggressiveShutdownStrategyIntegrationTest {
2929

docker-compose-rule-core/src/integrationTest/java/com/palantir/docker/compose/AggressiveShutdownWithNetworkCleanupStrategyIntegrationTest.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
import java.util.HashSet;
2727
import java.util.Set;
2828
import org.junit.Ignore;
29-
import org.junit.Test;
29+
import org.junit.jupiter.api.Test;
3030

3131
public class AggressiveShutdownWithNetworkCleanupStrategyIntegrationTest {
3232

docker-compose-rule-core/src/integrationTest/java/com/palantir/docker/compose/DockerComposeManagerNativeHealthcheckIntegrationTest.java

+3-3
Original file line numberDiff line numberDiff line change
@@ -37,15 +37,15 @@
3737
import java.util.concurrent.TimeUnit;
3838
import java.util.concurrent.TimeoutException;
3939
import org.hamcrest.Matchers;
40-
import org.junit.After;
41-
import org.junit.Test;
40+
import org.junit.jupiter.api.AfterEach;
41+
import org.junit.jupiter.api.Test;
4242

4343
public class DockerComposeManagerNativeHealthcheckIntegrationTest {
4444

4545
private final ExecutorService pool = Executors.newFixedThreadPool(1);
4646
private DockerComposeManager docker = null;
4747

48-
@After
48+
@AfterEach
4949
public void shutdownPool() {
5050
pool.shutdown();
5151
if (docker != null) {

docker-compose-rule-core/src/integrationTest/java/com/palantir/docker/compose/DockerComposeManagerUpContainerIntegrationTest.java

+3-3
Original file line numberDiff line numberDiff line change
@@ -27,16 +27,16 @@
2727
import com.palantir.docker.compose.connection.waiting.ClusterWait;
2828
import java.io.IOException;
2929
import org.joda.time.Duration;
30-
import org.junit.Before;
31-
import org.junit.Test;
30+
import org.junit.jupiter.api.BeforeEach;
31+
import org.junit.jupiter.api.Test;
3232

3333
public class DockerComposeManagerUpContainerIntegrationTest {
3434

3535
private static final String SERVICE_NAME = "infinite-netcat-loop";
3636

3737
private DockerComposeManager dockerComposeManager;
3838

39-
@Before
39+
@BeforeEach
4040
public void before() throws Exception {
4141
dockerComposeManager = new DockerComposeManager.Builder()
4242
.shutdownStrategy(AGGRESSIVE)

docker-compose-rule-core/src/integrationTest/java/com/palantir/docker/compose/EventsIntegrationTest.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@
3737
import com.palantir.docker.compose.events.WaitForServicesEvent;
3838
import java.util.List;
3939
import java.util.Optional;
40-
import org.junit.Test;
40+
import org.junit.jupiter.api.Test;
4141
import org.mockito.ArgumentCaptor;
4242

4343
@SuppressWarnings("IllegalThrows")

docker-compose-rule-core/src/integrationTest/java/com/palantir/docker/compose/HostNetworkedPortsIntegrationTest.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
import com.palantir.docker.compose.connection.waiting.SuccessOrFailure;
2626
import org.apache.commons.lang3.SystemUtils;
2727
import org.junit.Ignore;
28-
import org.junit.Test;
28+
import org.junit.jupiter.api.Test;
2929

3030
public class HostNetworkedPortsIntegrationTest {
3131
private static HealthCheck<DockerPort> toBeOpen() {

docker-compose-rule-core/src/integrationTest/java/com/palantir/docker/compose/RemoveConflictingContainersIntegrationTest.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
import com.palantir.docker.compose.execution.DockerExecutionException;
2222
import java.io.IOException;
2323
import org.junit.Rule;
24-
import org.junit.Test;
24+
import org.junit.jupiter.api.Test;
2525
import org.junit.rules.ExpectedException;
2626

2727
public class RemoveConflictingContainersIntegrationTest {

docker-compose-rule-core/src/integrationTest/java/com/palantir/docker/compose/connection/ContainerIntegrationTests.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@
3535
import java.time.Duration;
3636
import org.awaitility.core.ConditionFactory;
3737
import org.junit.Assert;
38-
import org.junit.Test;
38+
import org.junit.jupiter.api.Test;
3939

4040
public class ContainerIntegrationTests {
4141

docker-compose-rule-core/src/integrationTest/java/com/palantir/docker/compose/execution/EnvironmentVariableIntegrationTest.java

+5-5
Original file line numberDiff line numberDiff line change
@@ -22,15 +22,15 @@
2222

2323
import com.palantir.docker.compose.DockerComposeManager;
2424
import com.palantir.docker.compose.connection.DockerMachine;
25+
import java.io.File;
2526
import java.nio.file.Path;
26-
import org.junit.Rule;
27-
import org.junit.Test;
28-
import org.junit.rules.TemporaryFolder;
27+
import org.junit.jupiter.api.Test;
28+
import org.junit.jupiter.api.io.TempDir;
2929

3030
public class EnvironmentVariableIntegrationTest {
3131

32-
@Rule
33-
public TemporaryFolder temporaryFolder = new TemporaryFolder();
32+
@TempDir
33+
public File temporaryFolder;
3434

3535
@Test
3636
public void docker_compose_gets_environment_variables_from_docker_machine_and_passes_it_into_a_test_container()

docker-compose-rule-core/src/integrationTest/java/com/palantir/docker/compose/logging/LoggingIntegrationTest.java

+6-7
Original file line numberDiff line numberDiff line change
@@ -24,19 +24,18 @@
2424
import com.palantir.docker.compose.DockerComposeManager;
2525
import java.io.File;
2626
import java.io.IOException;
27-
import org.junit.Before;
28-
import org.junit.Rule;
29-
import org.junit.Test;
30-
import org.junit.rules.TemporaryFolder;
27+
import org.junit.jupiter.api.BeforeEach;
28+
import org.junit.jupiter.api.Test;
29+
import org.junit.jupiter.api.io.TempDir;
3130

3231
public class LoggingIntegrationTest {
3332

34-
@Rule
35-
public TemporaryFolder logFolder = new TemporaryFolder();
33+
@TempDir
34+
public File logFolder;
3635

3736
private DockerComposeManager dockerComposeRule;
3837

39-
@Before
38+
@BeforeEach
4039
public void before() {
4140
dockerComposeRule = new DockerComposeManager.Builder()
4241
.file("src/test/resources/docker-compose.yaml")

docker-compose-rule-core/src/integrationTest/java/com/palantir/docker/compose/reporting/ReportingIntegrationTest.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@
3535
import java.nio.file.Paths;
3636
import java.util.concurrent.TimeUnit;
3737
import org.junit.Rule;
38-
import org.junit.Test;
38+
import org.junit.jupiter.api.Test;
3939
import org.junit.rules.TemporaryFolder;
4040

4141
public class ReportingIntegrationTest {

docker-compose-rule-core/src/test/java/com/palantir/docker/compose/AggressiveShutdownStrategyTest.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
import com.palantir.docker.compose.execution.DockerCompose;
2828
import com.palantir.docker.compose.execution.DockerExecutionException;
2929
import org.junit.Rule;
30-
import org.junit.Test;
30+
import org.junit.jupiter.api.Test;
3131
import org.junit.rules.ExpectedException;
3232

3333
public class AggressiveShutdownStrategyTest {

docker-compose-rule-core/src/test/java/com/palantir/docker/compose/AggressiveShutdownWithNetworkCleanupStrategyTest.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
import com.palantir.docker.compose.execution.DockerCompose;
2828
import com.palantir.docker.compose.execution.DockerExecutionException;
2929
import org.junit.Rule;
30-
import org.junit.Test;
30+
import org.junit.jupiter.api.Test;
3131
import org.junit.rules.ExpectedException;
3232

3333
public class AggressiveShutdownWithNetworkCleanupStrategyTest {

docker-compose-rule-core/src/test/java/com/palantir/docker/compose/DockerComposeManagerShould.java

+9-6
Original file line numberDiff line numberDiff line change
@@ -58,18 +58,21 @@
5858
import java.util.concurrent.atomic.AtomicInteger;
5959
import org.apache.commons.io.IOUtils;
6060
import org.joda.time.Duration;
61-
import org.junit.Before;
6261
import org.junit.Rule;
63-
import org.junit.Test;
62+
import org.junit.jupiter.api.BeforeEach;
63+
import org.junit.jupiter.api.Test;
64+
import org.junit.jupiter.api.extension.ExtendWith;
6465
import org.junit.rules.ExpectedException;
6566
import org.junit.rules.TemporaryFolder;
66-
import org.junit.runner.RunWith;
6767
import org.mockito.InOrder;
6868
import org.mockito.Mock;
6969
import org.mockito.Mockito;
70-
import org.mockito.runners.MockitoJUnitRunner;
70+
import org.mockito.junit.jupiter.MockitoExtension;
71+
import org.mockito.junit.jupiter.MockitoSettings;
72+
import org.mockito.quality.Strictness;
7173

72-
@RunWith(MockitoJUnitRunner.class)
74+
@ExtendWith(MockitoExtension.class)
75+
@MockitoSettings(strictness = Strictness.LENIENT)
7376
public final class DockerComposeManagerShould {
7477

7578
private static final String IP = "127.0.0.1";
@@ -91,7 +94,7 @@ public final class DockerComposeManagerShould {
9194
private LogCollector logCollector = mock(LogCollector.class);
9295
private DockerComposeManager dockerComposeManager;
9396

94-
@Before
97+
@BeforeEach
9598
public void before() {
9699
when(machine.getIp()).thenReturn(IP);
97100
dockerComposeManager = defaultBuilder().build();

docker-compose-rule-core/src/test/java/com/palantir/docker/compose/EventEmitterShould.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@
4242
import java.time.OffsetDateTime;
4343
import java.time.ZoneOffset;
4444
import java.util.concurrent.atomic.AtomicReference;
45-
import org.junit.Test;
45+
import org.junit.jupiter.api.Test;
4646
import org.mockito.InOrder;
4747
import org.mockito.Mockito;
4848

docker-compose-rule-core/src/test/java/com/palantir/docker/compose/configuration/AdditionalEnvironmentValidatorShould.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
import com.google.common.collect.ImmutableMap;
2222
import java.util.Map;
2323
import org.junit.Rule;
24-
import org.junit.Test;
24+
import org.junit.jupiter.api.Test;
2525
import org.junit.rules.ExpectedException;
2626

2727
public class AdditionalEnvironmentValidatorShould {

docker-compose-rule-core/src/test/java/com/palantir/docker/compose/configuration/DaemonEnvironmentValidatorShould.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
import com.google.common.collect.ImmutableMap;
2323
import java.util.Map;
2424
import org.junit.Rule;
25-
import org.junit.Test;
25+
import org.junit.jupiter.api.Test;
2626
import org.junit.rules.ExpectedException;
2727

2828
public class DaemonEnvironmentValidatorShould {

docker-compose-rule-core/src/test/java/com/palantir/docker/compose/configuration/DaemonHostIpResolverShould.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
import static org.hamcrest.MatcherAssert.assertThat;
2020
import static org.hamcrest.core.Is.is;
2121

22-
import org.junit.Test;
22+
import org.junit.jupiter.api.Test;
2323

2424
public class DaemonHostIpResolverShould {
2525

docker-compose-rule-core/src/test/java/com/palantir/docker/compose/configuration/DockerComposeFilesShould.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222

2323
import java.io.File;
2424
import org.junit.Rule;
25-
import org.junit.Test;
25+
import org.junit.jupiter.api.Test;
2626
import org.junit.rules.ExpectedException;
2727
import org.junit.rules.TemporaryFolder;
2828

docker-compose-rule-core/src/test/java/com/palantir/docker/compose/configuration/DockerComposeRuleConfigTest.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
import java.nio.charset.StandardCharsets;
2727
import java.nio.file.Files;
2828
import org.junit.Rule;
29-
import org.junit.Test;
29+
import org.junit.jupiter.api.Test;
3030
import org.junit.rules.ExpectedException;
3131
import org.junit.rules.TemporaryFolder;
3232

docker-compose-rule-core/src/test/java/com/palantir/docker/compose/configuration/DockerTypeShould.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
import com.google.common.collect.ImmutableMap;
2525
import java.util.Map;
2626
import java.util.Optional;
27-
import org.junit.Test;
27+
import org.junit.jupiter.api.Test;
2828

2929
public class DockerTypeShould {
3030

docker-compose-rule-core/src/test/java/com/palantir/docker/compose/configuration/ProjectNameShould.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525

2626
import java.util.List;
2727
import org.junit.Rule;
28-
import org.junit.Test;
28+
import org.junit.jupiter.api.Test;
2929
import org.junit.rules.ExpectedException;
3030

3131
public class ProjectNameShould {

docker-compose-rule-core/src/test/java/com/palantir/docker/compose/configuration/RemoteEnvironmentValidatorShould.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
import com.google.common.collect.ImmutableMap;
2323
import java.util.Map;
2424
import org.junit.Rule;
25-
import org.junit.Test;
25+
import org.junit.jupiter.api.Test;
2626
import org.junit.rules.ExpectedException;
2727

2828
public class RemoteEnvironmentValidatorShould {

docker-compose-rule-core/src/test/java/com/palantir/docker/compose/configuration/RemoteHostIpResolverShould.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020

2121
import org.hamcrest.Matchers;
2222
import org.junit.Rule;
23-
import org.junit.Test;
23+
import org.junit.jupiter.api.Test;
2424
import org.junit.rules.ExpectedException;
2525

2626
public class RemoteHostIpResolverShould {

docker-compose-rule-core/src/test/java/com/palantir/docker/compose/connection/ContainerCacheShould.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222

2323
import com.palantir.docker.compose.execution.Docker;
2424
import com.palantir.docker.compose.execution.DockerCompose;
25-
import org.junit.Test;
25+
import org.junit.jupiter.api.Test;
2626

2727
public class ContainerCacheShould {
2828

docker-compose-rule-core/src/test/java/com/palantir/docker/compose/connection/ContainerNameShould.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
import static org.hamcrest.core.Is.is;
2323

2424
import java.util.List;
25-
import org.junit.Test;
25+
import org.junit.jupiter.api.Test;
2626

2727
public class ContainerNameShould {
2828

docker-compose-rule-core/src/test/java/com/palantir/docker/compose/connection/ContainerShould.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131
import com.palantir.docker.compose.execution.DockerCompose;
3232
import java.io.IOException;
3333
import org.junit.Rule;
34-
import org.junit.Test;
34+
import org.junit.jupiter.api.Test;
3535
import org.junit.rules.ExpectedException;
3636

3737
public class ContainerShould {

docker-compose-rule-core/src/test/java/com/palantir/docker/compose/connection/DockerPortFormattingShould.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
import static org.hamcrest.MatcherAssert.assertThat;
1919
import static org.hamcrest.core.Is.is;
2020

21-
import org.junit.Test;
21+
import org.junit.jupiter.api.Test;
2222

2323
public class DockerPortFormattingShould {
2424
private final DockerPort dockerPort = new DockerPort("hostname", 1234, 4321);

docker-compose-rule-core/src/test/java/com/palantir/docker/compose/connection/LocalBuilderShould.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131
import java.util.HashMap;
3232
import java.util.Map;
3333
import org.junit.Rule;
34-
import org.junit.Test;
34+
import org.junit.jupiter.api.Test;
3535
import org.junit.rules.ExpectedException;
3636

3737
public class LocalBuilderShould {

docker-compose-rule-core/src/test/java/com/palantir/docker/compose/connection/PortsShould.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
import static org.hamcrest.core.Is.is;
2222

2323
import org.junit.Rule;
24-
import org.junit.Test;
24+
import org.junit.jupiter.api.Test;
2525
import org.junit.rules.ExpectedException;
2626

2727
public class PortsShould {

docker-compose-rule-core/src/test/java/com/palantir/docker/compose/connection/RemoteBuilderShould.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
import com.google.common.collect.ImmutableMap;
2424
import java.util.Map;
2525
import org.junit.Rule;
26-
import org.junit.Test;
26+
import org.junit.jupiter.api.Test;
2727
import org.junit.rules.ExpectedException;
2828

2929
public class RemoteBuilderShould {

docker-compose-rule-core/src/test/java/com/palantir/docker/compose/connection/waiting/ClusterWaitShould.java

+5-2
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,11 @@
2525
import com.palantir.docker.compose.connection.Cluster;
2626
import com.palantir.docker.compose.connection.ContainerCache;
2727
import com.palantir.docker.compose.connection.ImmutableCluster;
28+
import java.util.concurrent.TimeUnit;
2829
import org.joda.time.Duration;
2930
import org.junit.Rule;
30-
import org.junit.Test;
31+
import org.junit.jupiter.api.Test;
32+
import org.junit.jupiter.api.Timeout;
3133
import org.junit.rules.ExpectedException;
3234

3335
public class ClusterWaitShould {
@@ -59,7 +61,8 @@ public void check_until_a_cluster_is_ready() throws InterruptedException {
5961
verify(clusterHealthCheck, times(2)).isClusterHealthy(cluster);
6062
}
6163

62-
@Test(timeout = 2000L)
64+
@Test
65+
@Timeout(value = 2000L, unit = TimeUnit.MILLISECONDS)
6366
public void timeout_if_the_cluster_is_not_healthy() throws InterruptedException {
6467
when(clusterHealthCheck.isClusterHealthy(cluster)).thenReturn(failure("failure!"));
6568

0 commit comments

Comments
 (0)