Skip to content

Commit c2ba1d4

Browse files
authored
chore: use Junit5 in java core (#2754)
Fix #2726. `BaseSerializationTest` will not migrate to Junit 5 because downstream libraries, e.g., java-logging, are extending this class and these libraries still use Junit 4. Migrating this class to Junit 5 will cause test failures in downstream libraries.
1 parent c4ce140 commit c2ba1d4

38 files changed

+521
-536
lines changed

gapic-generator-java-pom-parent/pom.xml

+1
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@
3737
<errorprone.version>2.27.1</errorprone.version>
3838
<j2objc-annotations.version>3.0.0</j2objc-annotations.version>
3939
<threetenbp.version>1.6.9</threetenbp.version>
40+
<junit.version>5.10.2</junit.version>
4041
</properties>
4142

4243
<developers>

java-core/google-cloud-core-grpc/pom.xml

+12-2
Original file line numberDiff line numberDiff line change
@@ -56,8 +56,18 @@
5656
</dependency>
5757

5858
<dependency>
59-
<groupId>junit</groupId>
60-
<artifactId>junit</artifactId>
59+
<groupId>org.junit.platform</groupId>
60+
<artifactId>junit-platform-launcher</artifactId>
61+
<scope>test</scope>
62+
</dependency>
63+
<dependency>
64+
<groupId>org.junit.jupiter</groupId>
65+
<artifactId>junit-jupiter-engine</artifactId>
66+
<scope>test</scope>
67+
</dependency>
68+
<dependency>
69+
<groupId>org.junit.vintage</groupId>
70+
<artifactId>junit-vintage-engine</artifactId>
6171
<scope>test</scope>
6272
</dependency>
6373
<dependency>

java-core/google-cloud-core-grpc/src/test/java/com/google/cloud/grpc/BaseGrpcServiceExceptionTest.java

+8-8
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,10 @@
2020
import static org.easymock.EasyMock.expect;
2121
import static org.easymock.EasyMock.replay;
2222
import static org.easymock.EasyMock.verify;
23-
import static org.junit.Assert.assertEquals;
24-
import static org.junit.Assert.assertFalse;
25-
import static org.junit.Assert.assertNull;
26-
import static org.junit.Assert.assertTrue;
23+
import static org.junit.jupiter.api.Assertions.assertEquals;
24+
import static org.junit.jupiter.api.Assertions.assertFalse;
25+
import static org.junit.jupiter.api.Assertions.assertNull;
26+
import static org.junit.jupiter.api.Assertions.assertTrue;
2727

2828
import com.google.api.gax.grpc.GrpcStatusCode;
2929
import com.google.api.gax.rpc.InternalException;
@@ -33,16 +33,16 @@
3333
import java.io.IOException;
3434
import java.net.SocketException;
3535
import java.net.SocketTimeoutException;
36-
import org.junit.Test;
36+
import org.junit.jupiter.api.Test;
3737

38-
public class BaseGrpcServiceExceptionTest {
38+
class BaseGrpcServiceExceptionTest {
3939

4040
private static final String MESSAGE = "some message";
4141
private static final boolean NOT_RETRYABLE = false;
4242
private static final boolean IDEMPOTENT = true;
4343

4444
@Test
45-
public void testBaseServiceException() {
45+
void testBaseServiceException() {
4646
BaseGrpcServiceException serviceException = null;
4747

4848
IOException exception = new SocketTimeoutException();
@@ -86,7 +86,7 @@ public void testBaseServiceException() {
8686
}
8787

8888
@Test
89-
public void testTranslateAndThrow() throws Exception {
89+
void testTranslateAndThrow() throws Exception {
9090
IOException exception = new SocketTimeoutException();
9191
BaseGrpcServiceException cause = new BaseGrpcServiceException(exception, IDEMPOTENT);
9292
RetryHelper.RetryHelperException exceptionMock =

java-core/google-cloud-core-grpc/src/test/java/com/google/cloud/grpc/GrpcTransportOptionsTest.java

+10-10
Original file line numberDiff line numberDiff line change
@@ -16,18 +16,18 @@
1616

1717
package com.google.cloud.grpc;
1818

19-
import static org.junit.Assert.assertEquals;
20-
import static org.junit.Assert.assertNotEquals;
21-
import static org.junit.Assert.assertSame;
22-
import static org.junit.Assert.assertTrue;
19+
import static org.junit.jupiter.api.Assertions.assertEquals;
20+
import static org.junit.jupiter.api.Assertions.assertNotEquals;
21+
import static org.junit.jupiter.api.Assertions.assertSame;
22+
import static org.junit.jupiter.api.Assertions.assertTrue;
2323

2424
import com.google.cloud.grpc.GrpcTransportOptions.DefaultExecutorFactory;
2525
import com.google.cloud.grpc.GrpcTransportOptions.ExecutorFactory;
2626
import java.util.concurrent.ScheduledExecutorService;
2727
import org.easymock.EasyMock;
28-
import org.junit.Test;
28+
import org.junit.jupiter.api.Test;
2929

30-
public class GrpcTransportOptionsTest {
30+
class GrpcTransportOptionsTest {
3131

3232
private static final ExecutorFactory MOCK_EXECUTOR_FACTORY =
3333
EasyMock.createMock(ExecutorFactory.class);
@@ -38,13 +38,13 @@ public class GrpcTransportOptionsTest {
3838
private static final GrpcTransportOptions OPTIONS_COPY = OPTIONS.toBuilder().build();
3939

4040
@Test
41-
public void testBuilder() {
41+
void testBuilder() {
4242
assertSame(MOCK_EXECUTOR_FACTORY, OPTIONS.getExecutorFactory());
4343
assertTrue(DEFAULT_OPTIONS.getExecutorFactory() instanceof DefaultExecutorFactory);
4444
}
4545

4646
@Test
47-
public void testBaseEquals() {
47+
void testBaseEquals() {
4848
assertEquals(OPTIONS, OPTIONS_COPY);
4949
assertNotEquals(DEFAULT_OPTIONS, OPTIONS);
5050
GrpcTransportOptions options =
@@ -53,7 +53,7 @@ public void testBaseEquals() {
5353
}
5454

5555
@Test
56-
public void testBaseHashCode() {
56+
void testBaseHashCode() {
5757
assertEquals(OPTIONS.hashCode(), OPTIONS_COPY.hashCode());
5858
assertNotEquals(DEFAULT_OPTIONS.hashCode(), OPTIONS.hashCode());
5959
GrpcTransportOptions options =
@@ -62,7 +62,7 @@ public void testBaseHashCode() {
6262
}
6363

6464
@Test
65-
public void testDefaultExecutorFactory() {
65+
void testDefaultExecutorFactory() {
6666
ExecutorFactory<ScheduledExecutorService> executorFactory = new DefaultExecutorFactory();
6767
ScheduledExecutorService executorService = executorFactory.get();
6868
assertSame(executorService, executorFactory.get());

java-core/google-cloud-core-grpc/src/test/java/com/google/cloud/grpc/SharedResourceHolderTest.java

+25-17
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,19 @@
1616

1717
package com.google.cloud.grpc;
1818

19-
import static org.easymock.EasyMock.*;
20-
import static org.junit.Assert.*;
19+
import static org.easymock.EasyMock.anyLong;
20+
import static org.easymock.EasyMock.anyObject;
21+
import static org.easymock.EasyMock.createNiceMock;
22+
import static org.easymock.EasyMock.expect;
23+
import static org.easymock.EasyMock.replay;
24+
import static org.junit.jupiter.api.Assertions.assertEquals;
25+
import static org.junit.jupiter.api.Assertions.assertFalse;
26+
import static org.junit.jupiter.api.Assertions.assertNotNull;
27+
import static org.junit.jupiter.api.Assertions.assertNotSame;
28+
import static org.junit.jupiter.api.Assertions.assertNull;
29+
import static org.junit.jupiter.api.Assertions.assertSame;
30+
import static org.junit.jupiter.api.Assertions.assertTrue;
31+
import static org.junit.jupiter.api.Assertions.fail;
2132

2233
import java.util.LinkedList;
2334
import java.util.concurrent.Delayed;
@@ -26,20 +37,17 @@
2637
import java.util.concurrent.TimeUnit;
2738
import org.easymock.EasyMock;
2839
import org.easymock.IAnswer;
29-
import org.junit.Before;
30-
import org.junit.Test;
31-
import org.junit.runner.RunWith;
32-
import org.junit.runners.JUnit4;
40+
import org.junit.jupiter.api.BeforeEach;
41+
import org.junit.jupiter.api.Test;
3342

3443
/**
3544
* This class was copied from grpc-core to prevent dependence on an unstable API that may be subject
36-
* to changes
37-
* (https://github.com/grpc/grpc-java/blob/d07ecbe037d2705a1c9f4b6345581f860e505b56/core/src/test/java/io/grpc/internal/SharedResourceHolderTest.java)
45+
* to changes (<a
46+
* href="https://github.com/grpc/grpc-java/blob/d07ecbe037d2705a1c9f4b6345581f860e505b56/core/src/test/java/io/grpc/internal/SharedResourceHolderTest.java">SharedResourceHolderTest</a>)
3847
*
3948
* <p>Unit tests for {@link SharedResourceHolder}.
4049
*/
41-
@RunWith(JUnit4.class)
42-
public class SharedResourceHolderTest {
50+
class SharedResourceHolderTest {
4351

4452
private final LinkedList<MockScheduledFuture<?>> scheduledDestroyTasks = new LinkedList<>();
4553

@@ -67,13 +75,13 @@ public void close(ResourceInstance instance) {
6775
private static final SharedResourceHolder.Resource<ResourceInstance> SHARED_BAR =
6876
new ResourceFactory();
6977

70-
@Before
71-
public void setUp() {
78+
@BeforeEach
79+
void setUp() {
7280
holder = new SharedResourceHolder(new MockExecutorFactory());
7381
}
7482

7583
@Test
76-
public void destroyResourceWhenRefCountReachesZero() {
84+
void destroyResourceWhenRefCountReachesZero() {
7785
ResourceInstance foo1 = holder.getInternal(SHARED_FOO);
7886
ResourceInstance sharedFoo = foo1;
7987
ResourceInstance foo2 = holder.getInternal(SHARED_FOO);
@@ -121,7 +129,7 @@ public void destroyResourceWhenRefCountReachesZero() {
121129
}
122130

123131
@Test
124-
public void cancelDestroyTask() {
132+
void cancelDestroyTask() {
125133
ResourceInstance foo1 = holder.getInternal(SHARED_FOO);
126134
ResourceInstance sharedFoo = foo1;
127135
holder.releaseInternal(SHARED_FOO, foo1);
@@ -148,7 +156,7 @@ public void cancelDestroyTask() {
148156
}
149157

150158
@Test
151-
public void releaseWrongInstance() {
159+
void releaseWrongInstance() {
152160
ResourceInstance uncached = new ResourceInstance();
153161
try {
154162
holder.releaseInternal(SHARED_FOO, uncached);
@@ -167,7 +175,7 @@ public void releaseWrongInstance() {
167175
}
168176

169177
@Test
170-
public void overreleaseInstance() {
178+
void overreleaseInstance() {
171179
ResourceInstance foo1 = holder.getInternal(SHARED_FOO);
172180
holder.releaseInternal(SHARED_FOO, foo1);
173181
try {
@@ -179,7 +187,7 @@ public void overreleaseInstance() {
179187
}
180188

181189
@Test
182-
public void handleInstanceCloseError() {
190+
void handleInstanceCloseError() {
183191
class ExceptionOnCloseResource implements SharedResourceHolder.Resource<ResourceInstance> {
184192
@Override
185193
public ResourceInstance create() {

java-core/google-cloud-core-http/pom.xml

+12-2
Original file line numberDiff line numberDiff line change
@@ -77,8 +77,18 @@
7777

7878
<!-- Test dependencies -->
7979
<dependency>
80-
<groupId>junit</groupId>
81-
<artifactId>junit</artifactId>
80+
<groupId>org.junit.platform</groupId>
81+
<artifactId>junit-platform-launcher</artifactId>
82+
<scope>test</scope>
83+
</dependency>
84+
<dependency>
85+
<groupId>org.junit.jupiter</groupId>
86+
<artifactId>junit-jupiter-engine</artifactId>
87+
<scope>test</scope>
88+
</dependency>
89+
<dependency>
90+
<groupId>org.junit.vintage</groupId>
91+
<artifactId>junit-vintage-engine</artifactId>
8292
<scope>test</scope>
8393
</dependency>
8494
<dependency>

java-core/google-cloud-core-http/src/test/java/com/google/cloud/http/BaseHttpServiceExceptionTest.java

+9-9
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,10 @@
2121
import static org.easymock.EasyMock.expect;
2222
import static org.easymock.EasyMock.replay;
2323
import static org.easymock.EasyMock.verify;
24-
import static org.junit.Assert.assertEquals;
25-
import static org.junit.Assert.assertFalse;
26-
import static org.junit.Assert.assertNull;
27-
import static org.junit.Assert.assertTrue;
24+
import static org.junit.jupiter.api.Assertions.assertEquals;
25+
import static org.junit.jupiter.api.Assertions.assertFalse;
26+
import static org.junit.jupiter.api.Assertions.assertNull;
27+
import static org.junit.jupiter.api.Assertions.assertTrue;
2828

2929
import com.google.api.client.googleapis.json.GoogleJsonError;
3030
import com.google.cloud.BaseServiceException;
@@ -35,9 +35,9 @@
3535
import java.net.SocketTimeoutException;
3636
import java.util.Collections;
3737
import java.util.Set;
38-
import org.junit.Test;
38+
import org.junit.jupiter.api.Test;
3939

40-
public class BaseHttpServiceExceptionTest {
40+
class BaseHttpServiceExceptionTest {
4141

4242
private static final int CODE = 1;
4343
private static final int CODE_NO_REASON = 2;
@@ -53,7 +53,7 @@ private static class CustomServiceException extends BaseHttpServiceException {
5353

5454
private static final long serialVersionUID = -195251309124875103L;
5555

56-
public CustomServiceException(int code, String message, String reason, boolean idempotent) {
56+
CustomServiceException(int code, String message, String reason, boolean idempotent) {
5757
super(code, message, reason, idempotent, RETRYABLE_ERRORS);
5858
}
5959

@@ -63,7 +63,7 @@ public CustomServiceException(int code, String message, String reason, boolean i
6363
}
6464

6565
@Test
66-
public void testBaseServiceException() {
66+
void testBaseServiceException() {
6767
BaseServiceException serviceException =
6868
new BaseHttpServiceException(CODE, MESSAGE, REASON, IDEMPOTENT, EMPTY_RETRYABLE_ERRORS);
6969
assertEquals(CODE, serviceException.getCode());
@@ -145,7 +145,7 @@ public void testBaseServiceException() {
145145
}
146146

147147
@Test
148-
public void testTranslateAndThrow() throws Exception {
148+
void testTranslateAndThrow() throws Exception {
149149
BaseServiceException cause =
150150
new BaseHttpServiceException(CODE, MESSAGE, REASON, IDEMPOTENT, EMPTY_RETRYABLE_ERRORS);
151151
RetryHelper.RetryHelperException exceptionMock =

0 commit comments

Comments
 (0)