Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Sign in / Register
Toggle navigation
S
spring-boot
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
DEMO
spring-boot
Commits
fd94608f
Commit
fd94608f
authored
Oct 22, 2019
by
Stephane Nicoll
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Polish "Restore proxying of @Bean methods in @TestConfiguration"
See gh-18675
parent
7faa6069
Changes
13
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
30 additions
and
27 deletions
+30
-27
spring-boot-features.adoc
...ing-boot-docs/src/main/asciidoc/spring-boot-features.adoc
+1
-1
AdvancedConfigurationExample.java
...re/restdocs/restassured/AdvancedConfigurationExample.java
+1
-1
AdvancedConfigurationExample.java
...gure/restdocs/webclient/AdvancedConfigurationExample.java
+1
-1
SampleWebClientTests.java
...gframework/boot/docs/web/client/SampleWebClientTests.java
+1
-1
ExampleTestConfig.java
...gframework/boot/test/autoconfigure/ExampleTestConfig.java
+1
-1
AutoConfigureTestDatabaseWithNoDatabaseIntegrationTests.java
...oConfigureTestDatabaseWithNoDatabaseIntegrationTests.java
+1
-1
MockMvcRestDocsAutoConfigurationAdvancedConfigurationIntegrationTests.java
...toConfigurationAdvancedConfigurationIntegrationTests.java
+1
-1
RestAssuredRestDocsAutoConfigurationAdvancedConfigurationIntegrationTests.java
...toConfigurationAdvancedConfigurationIntegrationTests.java
+1
-1
WebTestClientRestDocsAutoConfigurationAdvancedConfigurationIntegrationTests.java
...toConfigurationAdvancedConfigurationIntegrationTests.java
+1
-1
WebMvcTestServletFilterRegistrationDisabledIntegrationTests.java
...estServletFilterRegistrationDisabledIntegrationTests.java
+1
-1
TestConfiguration.java
.../springframework/boot/test/context/TestConfiguration.java
+2
-2
TestConfigurationTests.java
...ngframework/boot/test/context/TestConfigurationTests.java
+17
-14
SpringBootTestContextBootstrapperIntegrationTests.java
...ap/SpringBootTestContextBootstrapperIntegrationTests.java
+1
-1
No files found.
spring-boot-project/spring-boot-docs/src/main/asciidoc/spring-boot-features.adoc
View file @
fd94608f
...
...
@@ -6840,7 +6840,7 @@ The following example shows a `RestDocumentationResultHandler` being defined:
[source,java,indent=0]
----
@TestConfiguration
@TestConfiguration
(proxyBeanMethods = false)
static class ResultHandlerConfiguration {
@Bean
...
...
spring-boot-project/spring-boot-docs/src/main/java/org/springframework/boot/docs/test/autoconfigure/restdocs/restassured/AdvancedConfigurationExample.java
View file @
fd94608f
...
...
@@ -24,7 +24,7 @@ import org.springframework.restdocs.templates.TemplateFormats;
public
class
AdvancedConfigurationExample
{
// tag::configuration[]
@TestConfiguration
@TestConfiguration
(
proxyBeanMethods
=
false
)
public
static
class
CustomizationConfiguration
implements
RestDocsRestAssuredConfigurationCustomizer
{
@Override
...
...
spring-boot-project/spring-boot-docs/src/main/java/org/springframework/boot/docs/test/autoconfigure/restdocs/webclient/AdvancedConfigurationExample.java
View file @
fd94608f
...
...
@@ -23,7 +23,7 @@ import org.springframework.restdocs.webtestclient.WebTestClientRestDocumentation
public
class
AdvancedConfigurationExample
{
// tag::configuration[]
@TestConfiguration
@TestConfiguration
(
proxyBeanMethods
=
false
)
public
static
class
CustomizationConfiguration
implements
RestDocsWebTestClientConfigurationCustomizer
{
@Override
...
...
spring-boot-project/spring-boot-docs/src/test/java/org/springframework/boot/docs/web/client/SampleWebClientTests.java
View file @
fd94608f
...
...
@@ -49,7 +49,7 @@ class SampleWebClientTests {
assertThat
(
headers
.
getLocation
()).
hasHost
(
"other.example.com"
);
}
@TestConfiguration
@TestConfiguration
(
proxyBeanMethods
=
false
)
static
class
Config
{
@Bean
...
...
spring-boot-project/spring-boot-test-autoconfigure/src/test/java/org/springframework/boot/test/autoconfigure/ExampleTestConfig.java
View file @
fd94608f
...
...
@@ -25,7 +25,7 @@ import org.springframework.boot.test.context.TestConfiguration;
*
* @author Phillip Webb
*/
@TestConfiguration
@TestConfiguration
(
proxyBeanMethods
=
false
)
@EntityScan
(
"some.other.package"
)
public
class
ExampleTestConfig
{
...
...
spring-boot-project/spring-boot-test-autoconfigure/src/test/java/org/springframework/boot/test/autoconfigure/jdbc/AutoConfigureTestDatabaseWithNoDatabaseIntegrationTests.java
View file @
fd94608f
...
...
@@ -48,7 +48,7 @@ class AutoConfigureTestDatabaseWithNoDatabaseIntegrationTests {
assertThat
(
this
.
context
.
getBeanNamesForType
(
DataSource
.
class
)).
isNotEmpty
();
}
@TestConfiguration
@TestConfiguration
(
proxyBeanMethods
=
false
)
static
class
Config
{
}
...
...
spring-boot-project/spring-boot-test-autoconfigure/src/test/java/org/springframework/boot/test/autoconfigure/restdocs/MockMvcRestDocsAutoConfigurationAdvancedConfigurationIntegrationTests.java
View file @
fd94608f
...
...
@@ -78,7 +78,7 @@ class MockMvcRestDocsAutoConfigurationAdvancedConfigurationIntegrationTests {
assertThat
(
new
File
(
defaultSnippetsDir
,
"response-fields.md"
)).
isFile
();
}
@TestConfiguration
@TestConfiguration
(
proxyBeanMethods
=
false
)
static
class
CustomizationConfiguration
{
@Bean
...
...
spring-boot-project/spring-boot-test-autoconfigure/src/test/java/org/springframework/boot/test/autoconfigure/restdocs/RestAssuredRestDocsAutoConfigurationAdvancedConfigurationIntegrationTests.java
View file @
fd94608f
...
...
@@ -82,7 +82,7 @@ class RestAssuredRestDocsAutoConfigurationAdvancedConfigurationIntegrationTests
assertThat
(
new
File
(
defaultSnippetsDir
,
"response-fields.md"
)).
isFile
();
}
@TestConfiguration
@TestConfiguration
(
proxyBeanMethods
=
false
)
static
class
CustomizationConfiguration
{
@Bean
...
...
spring-boot-project/spring-boot-test-autoconfigure/src/test/java/org/springframework/boot/test/autoconfigure/restdocs/WebTestClientRestDocsAutoConfigurationAdvancedConfigurationIntegrationTests.java
View file @
fd94608f
...
...
@@ -72,7 +72,7 @@ class WebTestClientRestDocsAutoConfigurationAdvancedConfigurationIntegrationTest
assertThat
(
new
File
(
defaultSnippetsDir
,
"response-fields.md"
)).
isFile
();
}
@TestConfiguration
@TestConfiguration
(
proxyBeanMethods
=
false
)
static
class
CustomizationConfiguration
{
@Bean
...
...
spring-boot-project/spring-boot-test-autoconfigure/src/test/java/org/springframework/boot/test/autoconfigure/web/servlet/mockmvc/WebMvcTestServletFilterRegistrationDisabledIntegrationTests.java
View file @
fd94608f
...
...
@@ -44,7 +44,7 @@ class WebMvcTestServletFilterRegistrationDisabledIntegrationTests {
this
.
mvc
.
perform
(
get
(
"/one"
)).
andExpect
(
header
().
string
(
"x-test"
,
(
String
)
null
));
}
@TestConfiguration
@TestConfiguration
(
proxyBeanMethods
=
false
)
static
class
DisabledRegistrationConfiguration
{
@Bean
...
...
spring-boot-project/spring-boot-test/src/main/java/org/springframework/boot/test/context/TestConfiguration.java
View file @
fd94608f
...
...
@@ -40,7 +40,7 @@ import org.springframework.core.annotation.AliasFor;
@Target
(
ElementType
.
TYPE
)
@Retention
(
RetentionPolicy
.
RUNTIME
)
@Documented
@Configuration
(
proxyBeanMethods
=
false
)
@Configuration
@TestComponent
public
@interface
TestConfiguration
{
...
...
@@ -71,8 +71,8 @@ public @interface TestConfiguration {
* individually like when declared on non-{@code @Configuration} classes, a.k.a.
* "@Bean Lite Mode" (see {@link Bean @Bean's javadoc}). It is therefore behaviorally
* equivalent to removing the {@code @Configuration} stereotype.
* @since 2.2.1
* @return whether to proxy {@code @Bean} methods
* @since 2.2.1
*/
@AliasFor
(
annotation
=
Configuration
.
class
)
boolean
proxyBeanMethods
()
default
true
;
...
...
spring-boot-project/spring-boot-test/src/test/java/org/springframework/boot/test/context/TestConfigurationTests.java
View file @
fd94608f
...
...
@@ -16,39 +16,42 @@
package
org
.
springframework
.
boot
.
test
.
context
;
import
org.assertj.core.api.Assertions
;
import
org.junit.jupiter.api.Test
;
import
org.springframework.boot.test.context.runner.ApplicationContextRunner
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.core.annotation.AnnotatedElementUtils
;
import
org.springframework.core.annotation.AnnotationAttributes
;
import
static
org
.
assertj
.
core
.
api
.
Assertions
.
assertThat
;
/**
* Tests for {@link TestConfiguration}.
* Tests for {@link TestConfiguration
@TestConfiguration
}.
*
* @author
Dmytro Nosan
* @author
Stephane Nicoll
*/
class
TestConfigurationTests
{
private
final
ApplicationContextRunner
contextRunner
=
new
ApplicationContextRunner
();
@Test
void
shouldProxyBeanMethods
()
{
this
.
contextRunner
.
withUserConfiguration
(
ProxyBeanMethodsConfiguration
.
class
)
.
run
((
context
)
->
Assertions
.
assertThat
(
context
).
hasFailed
());
void
proxyBeanMethodsIsEnabledByDefault
()
{
AnnotationAttributes
attributes
=
AnnotatedElementUtils
.
getMergedAnnotationAttributes
(
DefaultTestConfiguration
.
class
,
Configuration
.
class
);
assertThat
(
attributes
.
get
(
"proxyBeanMethods"
)).
isEqualTo
(
true
);
}
@Test
void
shouldNotProxyBeanMethods
()
{
this
.
contextRunner
.
withUserConfiguration
(
ProxyBeanMethodsDisableConfiguration
.
class
)
.
run
((
context
)
->
Assertions
.
assertThat
(
context
).
hasNotFailed
());
void
proxyBeanMethodsCanBeDisabled
()
{
AnnotationAttributes
attributes
=
AnnotatedElementUtils
.
getMergedAnnotationAttributes
(
NoBeanMethodProxyingTestConfiguration
.
class
,
Configuration
.
class
);
assertThat
(
attributes
.
get
(
"proxyBeanMethods"
)).
isEqualTo
(
false
);
}
@TestConfiguration
final
static
class
ProxyBeanMethods
Configuration
{
static
class
DefaultTest
Configuration
{
}
@TestConfiguration
(
proxyBeanMethods
=
false
)
final
static
class
ProxyBeanMethodsDisable
Configuration
{
static
class
NoBeanMethodProxyingTest
Configuration
{
}
...
...
spring-boot-project/spring-boot-test/src/test/java/org/springframework/boot/test/context/bootstrap/SpringBootTestContextBootstrapperIntegrationTests.java
View file @
fd94608f
...
...
@@ -67,7 +67,7 @@ class SpringBootTestContextBootstrapperIntegrationTests {
assertThat
(
this
.
defaultTestExecutionListenersPostProcessorCalled
).
isTrue
();
}
@TestConfiguration
@TestConfiguration
(
proxyBeanMethods
=
false
)
static
class
TestConfig
{
@Bean
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment