Skip to content

Commit 4691a4d

Browse files
committed
CHORE - Deprecate @MockBean and @SpyBean in favor of Spring Framework classes
- Deprecate Deprecate @MockBean and @SpyBean in favor of Spring Framekworks 6.2.0 @MockitoBean and @MockitoSpy. See spring-projects/spring-framework@e1bbdf0 - Migrate usages of @MockBean and @SpyBean to @MockitoBean an d @MockitoSpy spring-projects#39860 Signed-off-by: Jakob Wanger <[email protected]>
1 parent 8b4f411 commit 4691a4d

File tree

41 files changed

+93
-37
lines changed

Some content is hidden

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

41 files changed

+93
-37
lines changed

buildSrc/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ new File(projectDir.parentFile, "gradle.properties").withInputStream {
2222
}
2323
}
2424
versions["jackson"] = "2.15.3"
25-
versions["springFramework"] = "6.0.12"
25+
versions["springFramework"] = "6.2.0-SNAPSHOT"
2626
ext.set("versions", versions)
2727
if (versions.springFramework.contains("-")) {
2828
repositories {

gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ junitJupiterVersion=5.10.2
1212
kotlinVersion=1.9.22
1313
mavenVersion=3.9.4
1414
nativeBuildToolsVersion=0.10.1
15-
springFrameworkVersion=6.1.4
15+
springFrameworkVersion=6.2.0-SNAPSHOT
1616
tomcatVersion=10.1.19
1717

1818
kotlin.stdlib.default.dependency=false

spring-boot-project/spring-boot-actuator-autoconfigure/build.gradle

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -178,6 +178,7 @@ dependencies {
178178
testImplementation("org.springframework.restdocs:spring-restdocs-webtestclient")
179179
testImplementation("org.springframework.security:spring-security-test")
180180
testImplementation("org.yaml:snakeyaml")
181+
testImplementation("org.springframework:spring-test")
181182

182183
testRuntimeOnly("jakarta.management.j2ee:jakarta.management.j2ee-api")
183184
testRuntimeOnly("jakarta.transaction:jakarta.transaction-api")

spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/endpoint/web/documentation/AuditEventsEndpointDocumentationTests.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,10 +26,10 @@
2626
import org.springframework.boot.actuate.audit.AuditEvent;
2727
import org.springframework.boot.actuate.audit.AuditEventRepository;
2828
import org.springframework.boot.actuate.audit.AuditEventsEndpoint;
29-
import org.springframework.boot.test.mock.mockito.MockBean;
3029
import org.springframework.context.annotation.Bean;
3130
import org.springframework.context.annotation.Configuration;
3231
import org.springframework.context.annotation.Import;
32+
import org.springframework.test.bean.override.mockito.MockitoBean;
3333

3434
import static org.mockito.ArgumentMatchers.any;
3535
import static org.mockito.BDDMockito.given;
@@ -49,7 +49,7 @@
4949
*/
5050
class AuditEventsEndpointDocumentationTests extends MockMvcEndpointDocumentationTests {
5151

52-
@MockBean
52+
@MockitoBean
5353
private AuditEventRepository repository;
5454

5555
@Test

spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/endpoint/web/documentation/HttpExchangesEndpointDocumentationTests.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@
4141
import org.springframework.context.annotation.Import;
4242
import org.springframework.http.HttpHeaders;
4343
import org.springframework.restdocs.payload.JsonFieldType;
44+
import org.springframework.test.bean.override.mockito.MockitoBean;
4445

4546
import static org.mockito.BDDMockito.given;
4647
import static org.mockito.Mockito.mock;
@@ -57,7 +58,7 @@
5758
*/
5859
class HttpExchangesEndpointDocumentationTests extends MockMvcEndpointDocumentationTests {
5960

60-
@MockBean
61+
@MockitoBean
6162
private HttpExchangeRepository repository;
6263

6364
@Test

spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/endpoint/web/documentation/LoggersEndpointDocumentationTests.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@
3737
import org.springframework.restdocs.mockmvc.MockMvcRestDocumentation;
3838
import org.springframework.restdocs.payload.FieldDescriptor;
3939
import org.springframework.restdocs.payload.JsonFieldType;
40+
import org.springframework.test.bean.override.mockito.MockitoBean;
4041

4142
import static org.mockito.BDDMockito.given;
4243
import static org.mockito.BDDMockito.then;
@@ -63,7 +64,7 @@ class LoggersEndpointDocumentationTests extends MockMvcEndpointDocumentationTest
6364
.type(JsonFieldType.STRING)
6465
.optional(), fieldWithPath("members").description("Loggers that are part of this group"));
6566

66-
@MockBean
67+
@MockitoBean
6768
private LoggingSystem loggingSystem;
6869

6970
@Autowired

spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/endpoint/web/documentation/QuartzEndpointDocumentationTests.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -179,7 +179,7 @@ class QuartzEndpointDocumentationTests extends MockMvcEndpointDocumentationTests
179179
.type(JsonFieldType.OBJECT)
180180
.description("Job data map keyed by name, if any.") };
181181

182-
@MockBean
182+
@MockitoBean
183183
private Scheduler scheduler;
184184

185185
@Test

spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/endpoint/web/documentation/SessionsEndpointDocumentationTests.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@
3434
import org.springframework.session.FindByIndexNameSessionRepository;
3535
import org.springframework.session.MapSession;
3636
import org.springframework.session.Session;
37+
import org.springframework.test.bean.override.mockito.MockitoBean;
3738
import org.springframework.test.context.TestPropertySource;
3839

3940
import static org.mockito.BDDMockito.given;
@@ -73,7 +74,7 @@ class SessionsEndpointDocumentationTests extends MockMvcEndpointDocumentationTes
7374
.description("Maximum permitted period of inactivity, in seconds, before the session will expire."),
7475
fieldWithPath("expired").description("Whether the session has expired."));
7576

76-
@MockBean
77+
@MockitoBean
7778
private FindByIndexNameSessionRepository<Session> sessionRepository;
7879

7980
@Test

spring-boot-project/spring-boot-docs/src/docs/asciidoc/features/kotlin.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,7 @@ JUnit 5 enables a test class to be instantiated once and reused for all of the c
137137
This makes it possible to use `@BeforeAll` and `@AfterAll` annotations on non-static methods, which is a good fit for Kotlin.
138138

139139
To mock Kotlin classes, https://mockk.io/[MockK] is recommended.
140-
If you need the `MockK` equivalent of the Mockito specific <<features#features.testing.spring-boot-applications.mocking-beans,`@MockBean` and `@SpyBean` annotations>>, you can use https://github.com/Ninja-Squad/springmockk[SpringMockK] which provides similar `@MockkBean` and `@SpykBean` annotations.
140+
If you need the `MockK` equivalent of the Mockito specific <<features#features.testing.spring-boot-applications.mocking-beans,`@MockitoBean` and `@MockitoSpyBean` annotations>>, you can use https://github.com/Ninja-Squad/springmockk[SpringMockK] which provides similar `@MockkBean` and `@SpykBean` annotations.
141141

142142

143143

spring-boot-project/spring-boot-docs/src/main/java/org/springframework/boot/docs/features/testing/springbootapplications/springmvctests/MyControllerTests.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,8 @@
2020

2121
import org.springframework.beans.factory.annotation.Autowired;
2222
import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest;
23-
import org.springframework.boot.test.mock.mockito.MockBean;
2423
import org.springframework.http.MediaType;
24+
import org.springframework.test.bean.override.mockito.MockitoBean;
2525
import org.springframework.test.web.servlet.MockMvc;
2626

2727
import static org.mockito.BDDMockito.given;
@@ -35,7 +35,7 @@ class MyControllerTests {
3535
@Autowired
3636
private MockMvc mvc;
3737

38-
@MockBean
38+
@MockitoBean
3939
private UserVehicleService userVehicleService;
4040

4141
@Test

spring-boot-project/spring-boot-docs/src/main/java/org/springframework/boot/docs/features/testing/springbootapplications/springmvctests/MyHtmlUnitTests.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222

2323
import org.springframework.beans.factory.annotation.Autowired;
2424
import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest;
25-
import org.springframework.boot.test.mock.mockito.MockBean;
25+
import org.springframework.test.bean.override.mockito.MockitoBean;
2626

2727
import static org.assertj.core.api.Assertions.assertThat;
2828
import static org.mockito.BDDMockito.given;
@@ -33,7 +33,7 @@ class MyHtmlUnitTests {
3333
@Autowired
3434
private WebClient webClient;
3535

36-
@MockBean
36+
@MockitoBean
3737
private UserVehicleService userVehicleService;
3838

3939
@Test

spring-boot-project/spring-boot-docs/src/main/java/org/springframework/boot/docs/features/testing/springbootapplications/springwebfluxtests/MyControllerTests.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,8 @@
2020

2121
import org.springframework.beans.factory.annotation.Autowired;
2222
import org.springframework.boot.test.autoconfigure.web.reactive.WebFluxTest;
23-
import org.springframework.boot.test.mock.mockito.MockBean;
2423
import org.springframework.http.MediaType;
24+
import org.springframework.test.bean.override.mockito.MockitoBean;
2525
import org.springframework.test.web.reactive.server.WebTestClient;
2626

2727
import static org.mockito.BDDMockito.given;
@@ -32,7 +32,7 @@ class MyControllerTests {
3232
@Autowired
3333
private WebTestClient webClient;
3434

35-
@MockBean
35+
@MockitoBean
3636
private UserVehicleService userVehicleService;
3737

3838
@Test

spring-boot-project/spring-boot-docs/src/main/kotlin/org/springframework/boot/docs/features/testing/springbootapplications/springmvctests/MyControllerTests.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,16 +20,16 @@ import org.junit.jupiter.api.Test
2020
import org.mockito.BDDMockito.given
2121
import org.springframework.beans.factory.annotation.Autowired
2222
import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest
23-
import org.springframework.boot.test.mock.mockito.MockBean
2423
import org.springframework.http.MediaType
24+
import org.springframework.test.bean.override.mockito.MockitoBean
2525
import org.springframework.test.web.servlet.MockMvc
2626
import org.springframework.test.web.servlet.request.MockMvcRequestBuilders
2727
import org.springframework.test.web.servlet.result.MockMvcResultMatchers
2828

2929
@WebMvcTest(UserVehicleController::class)
3030
class MyControllerTests(@Autowired val mvc: MockMvc) {
3131

32-
@MockBean
32+
@MockitoBean
3333
lateinit var userVehicleService: UserVehicleService
3434

3535
@Test

spring-boot-project/spring-boot-docs/src/main/kotlin/org/springframework/boot/docs/features/testing/springbootapplications/springmvctests/MyHtmlUnitTests.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,12 +23,12 @@ import org.junit.jupiter.api.Test
2323
import org.mockito.BDDMockito.given
2424
import org.springframework.beans.factory.annotation.Autowired
2525
import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest
26-
import org.springframework.boot.test.mock.mockito.MockBean
26+
import org.springframework.test.bean.override.mockito.MockitoBean
2727

2828
@WebMvcTest(UserVehicleController::class)
2929
class MyHtmlUnitTests(@Autowired val webClient: WebClient) {
3030

31-
@MockBean
31+
@MockitoBean
3232
lateinit var userVehicleService: UserVehicleService
3333

3434
@Test

spring-boot-project/spring-boot-docs/src/main/kotlin/org/springframework/boot/docs/features/testing/springbootapplications/springwebfluxtests/MyControllerTests.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,15 +20,15 @@ import org.junit.jupiter.api.Test
2020
import org.mockito.BDDMockito.given
2121
import org.springframework.beans.factory.annotation.Autowired
2222
import org.springframework.boot.test.autoconfigure.web.reactive.WebFluxTest
23-
import org.springframework.boot.test.mock.mockito.MockBean
2423
import org.springframework.http.MediaType
24+
import org.springframework.test.bean.override.mockito.MockitoBean
2525
import org.springframework.test.web.reactive.server.WebTestClient
2626
import org.springframework.test.web.reactive.server.expectBody
2727

2828
@WebFluxTest(UserVehicleController::class)
2929
class MyControllerTests(@Autowired val webClient: WebTestClient) {
3030

31-
@MockBean
31+
@MockitoBean
3232
lateinit var userVehicleService: UserVehicleService
3333

3434
@Test

spring-boot-project/spring-boot-test/build.gradle

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ dependencies {
5555
testImplementation("org.spockframework:spock-core")
5656
testImplementation("org.springframework:spring-webmvc")
5757
testImplementation("org.springframework:spring-core-test")
58+
testImplementation("org.springframework:spring-test")
5859
testImplementation("org.testng:testng")
5960

6061
testRuntimeOnly("org.junit.vintage:junit-vintage-engine")

spring-boot-project/spring-boot-test/src/main/java/org/springframework/boot/test/mock/mockito/Definition.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,9 @@
2323
*
2424
* @author Phillip Webb
2525
* @see DefinitionsParser
26+
* @deprecated since 3.4.0. See {@link SpyBean} and {@link MockBean} for more details.
2627
*/
28+
@Deprecated(since = "3.4.0")
2729
abstract class Definition {
2830

2931
private static final int MULTIPLIER = 31;

spring-boot-project/spring-boot-test/src/main/java/org/springframework/boot/test/mock/mockito/DefinitionsParser.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,10 @@
4141
*
4242
* @author Phillip Webb
4343
* @author Stephane Nicoll
44+
* @deprecated since 3.4.0. See {@link SpyBean} and {@link MockBean} for more details.
4445
*/
46+
47+
@Deprecated(since = "3.4.0")
4548
class DefinitionsParser {
4649

4750
private final Set<Definition> definitions;

spring-boot-project/spring-boot-test/src/main/java/org/springframework/boot/test/mock/mockito/MockBean.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -91,11 +91,14 @@
9191
* @author Phillip Webb
9292
* @since 1.4.0
9393
* @see MockitoPostProcessor
94+
* @deprecated since 3.4.0 in favor of
95+
* {@link org.springframework.test.bean.override.mockito.MockitoBean}
9496
*/
9597
@Target({ ElementType.TYPE, ElementType.FIELD })
9698
@Retention(RetentionPolicy.RUNTIME)
9799
@Documented
98100
@Repeatable(MockBeans.class)
101+
@Deprecated(since = "3.4.0")
99102
public @interface MockBean {
100103

101104
/**

spring-boot-project/spring-boot-test/src/main/java/org/springframework/boot/test/mock/mockito/MockBeans.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,10 +33,13 @@
3333
*
3434
* @author Phillip Webb
3535
* @since 1.4.0
36+
* @deprecated since 3.4.0 in favor of
37+
* {@link org.springframework.test.bean.override.mockito.MockitoBean}
3638
*/
3739
@Retention(RetentionPolicy.RUNTIME)
3840
@Target(ElementType.TYPE)
3941
@Documented
42+
@Deprecated(since = "3.4.0")
4043
public @interface MockBeans {
4144

4245
/**

spring-boot-project/spring-boot-test/src/main/java/org/springframework/boot/test/mock/mockito/MockDefinition.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,9 @@
3737
* A complete definition that can be used to create a Mockito mock.
3838
*
3939
* @author Phillip Webb
40+
* @deprecated since 3.4.0. See {@link MockBean} for more details.
4041
*/
42+
@Deprecated(since = "3.4.0")
4143
class MockDefinition extends Definition {
4244

4345
private static final int MULTIPLIER = 31;

spring-boot-project/spring-boot-test/src/main/java/org/springframework/boot/test/mock/mockito/MockReset.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,11 @@
3535
* @author Phillip Webb
3636
* @since 1.4.0
3737
* @see ResetMocksTestExecutionListener
38+
* @deprecated since 3.4.0 in favor of
39+
* {@link org.springframework.test.bean.override.mockito.MockReset}
3840
*/
41+
42+
@Deprecated(since = "3.4.0")
3943
public enum MockReset {
4044

4145
/**

spring-boot-project/spring-boot-test/src/main/java/org/springframework/boot/test/mock/mockito/MockitoBeans.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,9 @@
2424
* Beans created using Mockito.
2525
*
2626
* @author Andy Wilkinson
27+
* @deprecated since 3.4.0. See {@link MockBean} for more details.
2728
*/
29+
@Deprecated(since = "3.4.0")
2830
class MockitoBeans implements Iterable<Object> {
2931

3032
private final List<Object> beans = new ArrayList<>();

spring-boot-project/spring-boot-test/src/main/java/org/springframework/boot/test/mock/mockito/MockitoContextCustomizer.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,10 @@
2828
* A {@link ContextCustomizer} to add Mockito support.
2929
*
3030
* @author Phillip Webb
31+
* @deprecated since 3.4.0 in favor of
32+
* {@link org.springframework.test.bean.override.BeanOverrideContextCustomizerFactory}
3133
*/
34+
@Deprecated(since = "3.4.0")
3235
class MockitoContextCustomizer implements ContextCustomizer {
3336

3437
private final Set<Definition> definitions;

spring-boot-project/spring-boot-test/src/main/java/org/springframework/boot/test/mock/mockito/MockitoContextCustomizerFactory.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,10 @@
2727
* A {@link ContextCustomizerFactory} to add Mockito support.
2828
*
2929
* @author Phillip Webb
30+
* @deprecated since 3.4.0 in favor of
31+
* {@link org.springframework.test.bean.override.BeanOverrideContextCustomizerFactory}
3032
*/
33+
@Deprecated(since = "3.4.0")
3134
class MockitoContextCustomizerFactory implements ContextCustomizerFactory {
3235

3336
@Override

spring-boot-project/spring-boot-test/src/main/java/org/springframework/boot/test/mock/mockito/MockitoPostProcessor.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,10 @@
7676
* @author Stephane Nicoll
7777
* @author Andreas Neiser
7878
* @since 1.4.0
79+
* @deprecated since 3.4.0 in favor of
80+
* {@link org.springframework.test.bean.override.BeanOverrideBeanPostProcessor}
7981
*/
82+
@Deprecated(since = "3.4.0")
8083
public class MockitoPostProcessor implements InstantiationAwareBeanPostProcessor, BeanClassLoaderAware,
8184
BeanFactoryAware, BeanFactoryPostProcessor, Ordered {
8285

spring-boot-project/spring-boot-test/src/main/java/org/springframework/boot/test/mock/mockito/MockitoTestExecutionListener.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,11 @@
4646
* @author Moritz Halbritter
4747
* @since 1.4.2
4848
* @see ResetMocksTestExecutionListener
49+
* @deprecated since 3.4.0 in favor of
50+
* {@link org.springframework.test.bean.override.mockito.MockitoTestExecutionListener}
4951
*/
52+
53+
@Deprecated(since = "3.4.0")
5054
public class MockitoTestExecutionListener extends AbstractTestExecutionListener {
5155

5256
private static final String MOCKS_ATTRIBUTE_NAME = MockitoTestExecutionListener.class.getName() + ".mocks";

spring-boot-project/spring-boot-test/src/main/java/org/springframework/boot/test/mock/mockito/QualifierDefinition.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,10 @@
3434
* @author Phillip Webb
3535
* @author Stephane Nicoll
3636
* @see Definition
37+
* @deprecated since 3.4.0. See {@link SpyBean} and {@link MockBean} for more details.
3738
*/
39+
40+
@Deprecated(since = "3.4.0")
3841
class QualifierDefinition {
3942

4043
private final Field field;

spring-boot-project/spring-boot-test/src/main/java/org/springframework/boot/test/mock/mockito/ResetMocksTestExecutionListener.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,10 @@
4343
* @author Phillip Webb
4444
* @since 1.4.0
4545
* @see MockitoTestExecutionListener
46+
* @deprecated since 3.4.0 in favor of
47+
* {@link org.springframework.test.bean.override.mockito.MockitoResetTestExecutionListener}
4648
*/
49+
@Deprecated(since = "3.4.0")
4750
public class ResetMocksTestExecutionListener extends AbstractTestExecutionListener {
4851

4952
private static final boolean MOCKITO_IS_PRESENT = ClassUtils.isPresent("org.mockito.MockSettings",

spring-boot-project/spring-boot-test/src/main/java/org/springframework/boot/test/mock/mockito/SpyBean.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,10 @@
8989
* @author Phillip Webb
9090
* @since 1.4.0
9191
* @see MockitoPostProcessor
92+
* @deprecated since 3.4.0 in favor of
93+
* {@link org.springframework.test.bean.override.mockito.MockitoSpyBean}
9294
*/
95+
@Deprecated(since = "3.4.0")
9396
@Target({ ElementType.TYPE, ElementType.FIELD })
9497
@Retention(RetentionPolicy.RUNTIME)
9598
@Documented

0 commit comments

Comments
 (0)