Skip to content

Commit aa5efae

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

21 files changed

+956
-920
lines changed

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: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,10 @@
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.assertEquals;
21+
import static org.junit.jupiter.api.Assertions.assertFalse;
22+
import static org.junit.jupiter.api.Assertions.assertTrue;
23+
import static org.junit.jupiter.api.Assertions.fail;
2124
import static org.mockito.ArgumentMatchers.any;
2225
import static org.mockito.ArgumentMatchers.argThat;
2326
import static org.mockito.ArgumentMatchers.eq;
@@ -32,8 +35,8 @@
3235
import java.time.Duration;
3336
import java.util.*;
3437
import java.util.concurrent.*;
35-
import org.junit.Before;
36-
import org.junit.Test;
38+
import org.junit.jupiter.api.BeforeEach;
39+
import org.junit.jupiter.api.Test;
3740
import org.mockito.invocation.InvocationOnMock;
3841
import org.mockito.stubbing.Answer;
3942

@@ -90,7 +93,7 @@ public class MessageDispatcherTest {
9093
private LinkedBlockingQueue<AckReplyConsumer> consumers;
9194
private LinkedBlockingQueue<AckReplyConsumerWithResponse> consumersWithResponse;
9295

93-
@Before
96+
@BeforeEach
9497
public void setUp() {
9598
systemExecutor = new FakeScheduledExecutorService();
9699
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: 15 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,12 @@
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.assertEquals;
21+
import static org.junit.jupiter.api.Assertions.assertFalse;
22+
import static org.junit.jupiter.api.Assertions.assertSame;
23+
import static org.junit.jupiter.api.Assertions.assertThrows;
24+
import static org.junit.jupiter.api.Assertions.assertTrue;
25+
import static org.junit.jupiter.api.Assertions.fail;
2526

2627
import com.google.api.core.ApiFuture;
2728
import com.google.api.gax.batching.BatchingSettings;
@@ -62,13 +63,10 @@
6263
import java.util.concurrent.Executors;
6364
import java.util.concurrent.TimeUnit;
6465
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;
66+
import org.junit.jupiter.api.AfterEach;
67+
import org.junit.jupiter.api.BeforeEach;
68+
import org.junit.jupiter.api.Test;
7069

71-
@RunWith(JUnit4.class)
7270
public class PublisherImplTest {
7371

7472
private static final ProjectTopicName TEST_TOPIC =
@@ -93,7 +91,7 @@ public class PublisherImplTest {
9391

9492
private Server testServer;
9593

96-
@Before
94+
@BeforeEach
9795
public void setUp() throws Exception {
9896
testPublisherServiceImpl = new FakePublisherServiceImpl();
9997

@@ -106,7 +104,7 @@ public void setUp() throws Exception {
106104
fakeExecutor = new FakeScheduledExecutorService();
107105
}
108106

109-
@After
107+
@AfterEach
110108
public void tearDown() throws Exception {
111109
testServer.shutdownNow().awaitTermination();
112110
testChannel.shutdown();
@@ -698,7 +696,7 @@ public void testPublishFailureRetries() throws Exception {
698696
shutdownTestPublisher(publisher);
699697
}
700698

701-
@Test(expected = ExecutionException.class)
699+
@Test
702700
public void testPublishFailureRetries_retriesDisabled() throws Exception {
703701
Publisher publisher =
704702
getTestPublisherBuilder()
@@ -715,7 +713,7 @@ public void testPublishFailureRetries_retriesDisabled() throws Exception {
715713
ApiFuture<String> publishFuture1 = sendTestMessage(publisher, "A");
716714

717715
try {
718-
publishFuture1.get();
716+
assertThrows(ExecutionException.class, () -> publishFuture1.get());
719717
} finally {
720718
assertSame(testPublisherServiceImpl.getCapturedRequests().size(), 1);
721719
shutdownTestPublisher(publisher);
@@ -771,7 +769,7 @@ public void testPublishFailureRetries_maxRetriesSetUnlimited() throws Exception
771769
assertTrue(publisher.awaitTermination(1, TimeUnit.MINUTES));
772770
}
773771

774-
@Test(expected = ExecutionException.class)
772+
@Test
775773
public void testPublishFailureRetries_nonRetryableFailsImmediately() throws Exception {
776774
Publisher publisher =
777775
getTestPublisherBuilder()
@@ -791,7 +789,7 @@ public void testPublishFailureRetries_nonRetryableFailsImmediately() throws Exce
791789
ApiFuture<String> publishFuture1 = sendTestMessage(publisher, "A");
792790

793791
try {
794-
publishFuture1.get();
792+
assertThrows(ExecutionException.class, () -> publishFuture1.get());
795793
} finally {
796794
assertTrue(testPublisherServiceImpl.getCapturedRequests().size() >= 1);
797795
publisher.shutdown();

0 commit comments

Comments
 (0)