Skip to content

Commit 251f76f

Browse files
committed
feat: Migrate to JUnit 5 and add parallel test execution
1 parent 4e59581 commit 251f76f

21 files changed

Lines changed: 920 additions & 920 deletions

google-cloud-pubsub/pom.xml

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -111,8 +111,18 @@
111111

112112
<!-- Test dependencies -->
113113
<dependency>
114-
<groupId>junit</groupId>
115-
<artifactId>junit</artifactId>
114+
<groupId>org.junit.jupiter</groupId>
115+
<artifactId>junit-jupiter-api</artifactId>
116+
<scope>test</scope>
117+
</dependency>
118+
<dependency>
119+
<groupId>org.junit.jupiter</groupId>
120+
<artifactId>junit-jupiter-engine</artifactId>
121+
<scope>test</scope>
122+
</dependency>
123+
<dependency>
124+
<groupId>org.mockito</groupId>
125+
<artifactId>mockito-junit-jupiter</artifactId>
116126
<scope>test</scope>
117127
</dependency>
118128
<dependency>

google-cloud-pubsub/src/test/java/com/google/cloud/pubsub/it/ITPubSubTest.java

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,10 @@
1717
package com.google.cloud.pubsub.it;
1818

1919
import static com.google.common.truth.Truth.assertThat;
20-
import static org.junit.Assert.assertEquals;
21-
import static org.junit.Assert.assertNotEquals;
22-
import static org.junit.Assume.assumeTrue;
20+
import static org.junit.jupiter.api.Assertions.assertEquals;
21+
import static org.junit.jupiter.api.Assertions.assertNotEquals;
22+
import static org.junit.jupiter.api.Assertions.fail;
23+
import static org.junit.jupiter.api.Assumptions.assumeTrue;
2324

2425
import com.google.api.gax.rpc.PermissionDeniedException;
2526
import com.google.auto.value.AutoValue;
@@ -40,9 +41,12 @@
4041
import java.util.concurrent.Future;
4142
import java.util.concurrent.LinkedBlockingQueue;
4243
import java.util.concurrent.TimeUnit;
43-
import org.junit.*;
44-
import org.junit.rules.Timeout;
44+
import org.junit.jupiter.api.AfterAll;
45+
import org.junit.jupiter.api.BeforeAll;
46+
import org.junit.jupiter.api.Test;
47+
import org.junit.jupiter.api.Timeout;
4548

49+
@Timeout(value = 300)
4650
public class ITPubSubTest {
4751

4852
private static final String NAME_SUFFIX = UUID.randomUUID().toString();
@@ -55,8 +59,6 @@ public class ITPubSubTest {
5559

5660
private static final int MAX_INBOUND_MESSAGE_SIZE = 20 * 1024 * 1024;
5761

58-
@Rule public Timeout globalTimeout = Timeout.seconds(300);
59-
6062
@AutoValue
6163
abstract static class MessageAndConsumer {
6264
abstract PubsubMessage message();
@@ -81,14 +83,14 @@ static MessageAndConsumerWithResponse create(
8183
}
8284
}
8385

84-
@BeforeClass
86+
@BeforeAll
8587
public static void setupClass() throws Exception {
8688
topicAdminClient = TopicAdminClient.create();
8789
subscriptionAdminClient = SubscriptionAdminClient.create();
8890
projectId = ServiceOptions.getDefaultProjectId();
8991
}
9092

91-
@AfterClass
93+
@AfterAll
9294
public static void tearDownClass() {
9395
topicAdminClient.close();
9496
subscriptionAdminClient.close();
@@ -171,7 +173,7 @@ public void testVPCPushSubscriber() {
171173
10,
172174
false));
173175
subscriptionAdminClient.deleteSubscription(subscriptionName);
174-
Assert.fail("No exception raised");
176+
fail("No exception raised");
175177
} catch (PermissionDeniedException e) {
176178
// expected
177179
}

google-cloud-pubsub/src/test/java/com/google/cloud/pubsub/v1/MessageDispatcherTest.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
package com.google.cloud.pubsub.v1;
1818

1919
import static com.google.common.truth.Truth.assertThat;
20-
import static org.junit.Assert.*;
20+
import static org.junit.jupiter.api.Assertions.*;
2121
import static org.mockito.ArgumentMatchers.any;
2222
import static org.mockito.ArgumentMatchers.argThat;
2323
import static org.mockito.ArgumentMatchers.eq;
@@ -32,8 +32,8 @@
3232
import java.time.Duration;
3333
import java.util.*;
3434
import java.util.concurrent.*;
35-
import org.junit.Before;
36-
import org.junit.Test;
35+
import org.junit.jupiter.api.BeforeEach;
36+
import org.junit.jupiter.api.Test;
3737
import org.mockito.invocation.InvocationOnMock;
3838
import org.mockito.stubbing.Answer;
3939

@@ -90,7 +90,7 @@ public class MessageDispatcherTest {
9090
private LinkedBlockingQueue<AckReplyConsumer> consumers;
9191
private LinkedBlockingQueue<AckReplyConsumerWithResponse> consumersWithResponse;
9292

93-
@Before
93+
@BeforeEach
9494
public void setUp() {
9595
systemExecutor = new FakeScheduledExecutorService();
9696
clock = new FakeClock();

google-cloud-pubsub/src/test/java/com/google/cloud/pubsub/v1/OpenCensusUtilTest.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,9 @@
2020
import static com.google.cloud.pubsub.v1.OpenCensusUtil.OPEN_CENSUS_MESSAGE_TRANSFORM;
2121
import static com.google.cloud.pubsub.v1.OpenCensusUtil.TAG_CONTEXT_KEY;
2222
import static com.google.cloud.pubsub.v1.OpenCensusUtil.TRACE_CONTEXT_KEY;
23-
import static org.junit.Assert.assertEquals;
24-
import static org.junit.Assert.assertNotEquals;
25-
import static org.junit.Assert.fail;
23+
import static org.junit.jupiter.api.Assertions.assertEquals;
24+
import static org.junit.jupiter.api.Assertions.assertNotEquals;
25+
import static org.junit.jupiter.api.Assertions.fail;
2626

2727
import com.google.common.base.Stopwatch;
2828
import com.google.protobuf.ByteString;
@@ -43,8 +43,8 @@
4343
import java.util.Collection;
4444
import java.util.List;
4545
import java.util.concurrent.TimeUnit;
46-
import org.junit.BeforeClass;
47-
import org.junit.Test;
46+
import org.junit.jupiter.api.BeforeAll;
47+
import org.junit.jupiter.api.Test;
4848

4949
/** Tests for {@link OpenCensusUtil}. */
5050
public class OpenCensusUtilTest {
@@ -54,7 +54,7 @@ public class OpenCensusUtilTest {
5454
private static final TagValue TEST_TAG_VAL = TagValue.create("TEST_TAG_VAL");
5555
private static final String TEST_PARENT_LINK_NAME = "TEST_PARENT_LINK";
5656

57-
@BeforeClass
57+
@BeforeAll
5858
public static void configureOpenCensus() {
5959
Tracing.getExportComponent().getRunningSpanStore().setMaxNumberOfSpans(5);
6060
}

google-cloud-pubsub/src/test/java/com/google/cloud/pubsub/v1/OpenTelemetryTest.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@
1616

1717
package com.google.cloud.pubsub.v1;
1818

19-
import static org.junit.Assert.assertEquals;
20-
import static org.junit.Assert.assertTrue;
19+
import static org.junit.jupiter.api.Assertions.assertEquals;
20+
import static org.junit.jupiter.api.Assertions.assertTrue;
2121

2222
import com.google.protobuf.ByteString;
2323
import com.google.pubsub.v1.PubsubMessage;
@@ -37,7 +37,7 @@
3737
import io.opentelemetry.sdk.trace.data.StatusData;
3838
import java.util.Arrays;
3939
import java.util.List;
40-
import org.junit.Test;
40+
import org.junit.jupiter.api.Test;
4141

4242
public class OpenTelemetryTest {
4343
private static final TopicName FULL_TOPIC_NAME =

google-cloud-pubsub/src/test/java/com/google/cloud/pubsub/v1/PublisherImplTest.java

Lines changed: 10 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,7 @@
1717
package com.google.cloud.pubsub.v1;
1818

1919
import static com.google.common.truth.Truth.assertThat;
20-
import static org.junit.Assert.assertEquals;
21-
import static org.junit.Assert.assertFalse;
22-
import static org.junit.Assert.assertSame;
23-
import static org.junit.Assert.assertTrue;
24-
import static org.junit.Assert.fail;
20+
import static org.junit.jupiter.api.Assertions.*;
2521

2622
import com.google.api.core.ApiFuture;
2723
import com.google.api.gax.batching.BatchingSettings;
@@ -62,13 +58,10 @@
6258
import java.util.concurrent.Executors;
6359
import java.util.concurrent.TimeUnit;
6460
import org.easymock.EasyMock;
65-
import org.junit.After;
66-
import org.junit.Before;
67-
import org.junit.Test;
68-
import org.junit.runner.RunWith;
69-
import org.junit.runners.JUnit4;
61+
import org.junit.jupiter.api.AfterEach;
62+
import org.junit.jupiter.api.BeforeEach;
63+
import org.junit.jupiter.api.Test;
7064

71-
@RunWith(JUnit4.class)
7265
public class PublisherImplTest {
7366

7467
private static final ProjectTopicName TEST_TOPIC =
@@ -93,7 +86,7 @@ public class PublisherImplTest {
9386

9487
private Server testServer;
9588

96-
@Before
89+
@BeforeEach
9790
public void setUp() throws Exception {
9891
testPublisherServiceImpl = new FakePublisherServiceImpl();
9992

@@ -106,7 +99,7 @@ public void setUp() throws Exception {
10699
fakeExecutor = new FakeScheduledExecutorService();
107100
}
108101

109-
@After
102+
@AfterEach
110103
public void tearDown() throws Exception {
111104
testServer.shutdownNow().awaitTermination();
112105
testChannel.shutdown();
@@ -698,7 +691,7 @@ public void testPublishFailureRetries() throws Exception {
698691
shutdownTestPublisher(publisher);
699692
}
700693

701-
@Test(expected = ExecutionException.class)
694+
@Test
702695
public void testPublishFailureRetries_retriesDisabled() throws Exception {
703696
Publisher publisher =
704697
getTestPublisherBuilder()
@@ -715,7 +708,7 @@ public void testPublishFailureRetries_retriesDisabled() throws Exception {
715708
ApiFuture<String> publishFuture1 = sendTestMessage(publisher, "A");
716709

717710
try {
718-
publishFuture1.get();
711+
assertThrows(ExecutionException.class, () -> publishFuture1.get());
719712
} finally {
720713
assertSame(testPublisherServiceImpl.getCapturedRequests().size(), 1);
721714
shutdownTestPublisher(publisher);
@@ -771,7 +764,7 @@ public void testPublishFailureRetries_maxRetriesSetUnlimited() throws Exception
771764
assertTrue(publisher.awaitTermination(1, TimeUnit.MINUTES));
772765
}
773766

774-
@Test(expected = ExecutionException.class)
767+
@Test
775768
public void testPublishFailureRetries_nonRetryableFailsImmediately() throws Exception {
776769
Publisher publisher =
777770
getTestPublisherBuilder()
@@ -791,7 +784,7 @@ public void testPublishFailureRetries_nonRetryableFailsImmediately() throws Exce
791784
ApiFuture<String> publishFuture1 = sendTestMessage(publisher, "A");
792785

793786
try {
794-
publishFuture1.get();
787+
assertThrows(ExecutionException.class, () -> publishFuture1.get());
795788
} finally {
796789
assertTrue(testPublisherServiceImpl.getCapturedRequests().size() >= 1);
797790
publisher.shutdown();

0 commit comments

Comments
 (0)