Commit Graph

295 Commits (08dcc5e7e559c0d1b09ae98bc4dece2fa5124b20)

Author SHA1 Message Date
Stephane Nicoll 9bc71fe44f Polish "Upgrade to Spring Data Neo4j 6"
See gh-22299
4 years ago
Andy Wilkinson 8a9cc64221 Merge branch '2.3.x'
Closes gh-22577
4 years ago
Andy Wilkinson 5279b90ced Merge branch '2.2.x' into 2.3.x
Closes gh-22576
4 years ago
Andy Wilkinson 1c3528f5a4 Include Jackson Modules in WebMvcTest and WebFluxTest
Fixes gh-22530
4 years ago
Stephane Nicoll 3530ac9b0c Polish "Disable metrics export in integration tests"
See gh-21658
4 years ago
bono007 b1830da0da Disable metrics export in integration tests
This commit introduces a new property to globally disable metrics
export. In integration tests, this property is automatically set to
disable everything but in-memory metrics.

This commit also introduces a `@AutoConfigureMetrics` annotation that
can be used for integration tests that require metrics export to operate
as they would in an application.

See gh-21658
4 years ago
Andy Wilkinson 0d6ea79007 Start building against Spring Framework 5.3.0 snapshots
See gh-21929
4 years ago
Stephane Nicoll f0f8424191 Merge branch '2.3.x'
Closes gh-22008
4 years ago
dreis2211 855d596c2a Use lazy lambda instead of explicit argument
See gh-21986
4 years ago
Andy Wilkinson 9e08490522 Merge branch 'gh-21271'
Closes gh-21271
4 years ago
Andy Wilkinson 9636350b0b Enable rawtypes compilation warnings
See gh-21271
4 years ago
Andy Wilkinson 47874d8c6a Treat warnings as errors when compiling
See gh-21271
4 years ago
Andy Wilkinson ce68f1a097 Merge branch '2.2.x' into 2.3.x
Closes gh-21837
5 years ago
Andy Wilkinson 48acaa4bd9 Make AutoConfigureMockMvc use SecurityProperties' filter ordering
Previously, AutoConfigureMockMvc used Spring Security's default filter
ordering, ignoring the value configured by SecurityProperties that is
used at runtime. This resulted in different ordering at runtime and in
tests.

This commit updates the configuration for AutoConfigureMockMvc to
import the Spring Security filter auto-configuration, thereby ensuring
that the ordering configured via SecurityProperties is applied.

Fixes gh-21801
5 years ago
Phillip Webb 194c9fac64 Polish 'Add @WebServiceClientTest slice test support'
See gh-17274
5 years ago
Dmytro Nosan a4104ab096 Add @WebServiceClientTest slice test support
Add `@WebServiceClientTest` and related test auto-configuration to allow
slice testing of Spring Web Service client applications.

See gh-17274
5 years ago
Andy Wilkinson 83e4bb39b6 Add transaction auto-configuration to @DataMongoTest
Closes gh-20182
5 years ago
Stephane Nicoll 12123d41e5 Make sure @DataR2dbcTest invokes database migration if necessary
Closes gh-20739
5 years ago
Stephane Nicoll 6817856e7d Add test slice for Spring Data R2DBC
This commit adds a test slice for Spring Data R2DBC. When
`DataR2dbcTest` is added on a test, only Spring Data R2DBC repositories
and the infrastructure that they need is auto-configured.

Contrary to the JDBC counterpart, the `ConnectionFactory` is not swapped
by an embedded database.

See gh-19988

Co-authored-by: Mark Paluch <mpaluch@pivotal.io>
5 years ago
Johnny Lim 8be8a8421d Polish
See gh-20226
5 years ago
Madhura Bhave 0a377647ca Import OAuth2 auto-configurations in web slice tests
Fixes gh-19823
5 years ago
Scott Frederick 288889685d Change default BootstrapMode for JPA repositories
Change the default `BootstrapMode` for auto-configured `JpaRepositories`
to `BootstrapMode.DEFERRED` to allow the initialization of
`EntityManagerFactory` to be parallelized for increased startup efficiency.

Prior to this change, the default BootstrapMode for all auto-configured
Spring Data repositories was `BootstrapMode.DEFAULT`.

Closes gh-16230
5 years ago
Scott Frederick 8f102aee68 Remove deprecated 2.2 code
See gh-19699
5 years ago
Stephane Nicoll 101fd14286 Merge branch '2.1.x' into 2.2.x
Closes gh-19685
5 years ago
Stephane Nicoll 8b8a4ee65e Polish "Make equality checks defensive to null reference"
See gh-19540
5 years ago
liuhuan 6d8b849361 Make equality checks defensive to null reference
See gh-19540
5 years ago
dreis2211 6ffe47cd06 Remove deprecated usage of WebTestClientBuilderCustomizer
See gh-19536
5 years ago
Andy Wilkinson 9ed4207f0c Make TypeExcludeFilters public so they can be composed with user's own
Previously, all of the type exclude filters in
spring-boot-test-autoconfigure were package-private. This prevent a
user who was creating their own test slice from composing their own
TypeExcludeFilter with one of Boot's.

This commit updates all of the TypeExcludeFilters in the
test-autoconfigure module to make them public. The intention is only
to allow them to be composed with other type exclude filters when
referenced in a @TypeExcludeFilters annotation. Therefore, each
filter class is declared final and their constructors remain
package-private.

Closes gh-18746
5 years ago
Andy Wilkinson 96f85a40de Support customization of WebTestClient.Builder when using @SpringBootTest
Closes gh-15132
5 years ago
Phillip Webb b65ba60980 Polish 'Simplify some code'
See gh-18438
5 years ago
Andy Wilkinson 6534047fcf Rework test slice annotation javadoc to reflect JUnit 5 default
Closes gh-18178
5 years ago
dreis2211 b4350a9d96 Remove unnecessary blank lines
See gh-18089
5 years ago
Andy Wilkinson 2d2e3b3d8b Support parallel test execution with @AutoConfigureMockMvc
Previously, the deferred line writing that is used, to print MockMvc
results to the console assumed that each DeferredLinesWriter would
only be used by a single thread at a time. This assumption does not
hold true when using JUnit 5's parallel test exection if the tests
running in parallel share an application context. This resulted in
a concurrent modification exception if one thread was adding lines
to the output while another was iterating over them.

This commit updates DeferredLinesWriter so that it uses thread local
storage for the deferred lines. This ensures that each List of lines
is only ever accessed by a single thread.

Closes gh-16179
5 years ago
Phillip Webb da4f436140 Change SearchStrategy EXHAUSTIVE to TYPE_HIERARCHY
Fixup references following upstream Spring Framework change.
5 years ago
Phillip Webb 8bc780762a Merge branch '2.1.x' 5 years ago
Phillip Webb fb1dd8fe93 Merge branch '2.0.x' into 2.1.x 5 years ago
Phillip Webb 913e831f4e Merge '1.5.x' into 2.0.x 5 years ago
Dmytro Nosan 9d052bbe5e Include WebFilter beans in WebFluxTest slice
See gh-17601
5 years ago
Dmytro Nosan 6859a89cf3 Include HandlerInterceptor beans in WebMvcTest slice
See gh-17600
5 years ago
Stephane Nicoll e5ca9df478 Merge branch '2.1.x' 5 years ago
Stephane Nicoll 8eb6886388 Fix code formating 5 years ago
Stephane Nicoll 08afbe286c Merge branch '2.1.x'
Closes gh-17580
5 years ago
Stephane Nicoll b8d92cb0ae Fix @DataJdbcTest to be transactional as advertized
Closes gh-17513
5 years ago
Stephane Nicoll 5903e9a57a Polish 5 years ago
Andy Wilkinson 808b373def Merge branch '2.1.x'
Closes gh-17552
5 years ago
Andy Wilkinson 9dabc0e14d Cleared deferred lines after each test
Previously, DeferredLinesWriter would collect MockMvc output from
every test that has executed. If a test eventually failed, the
output from every test up to including the one that had failed would
be output, rather than just the output for the test that has just
failed.

This commit clears the deferred lines after each test, thereby
ensuring that when a failure occurs only the lines from the failing
test are output.

Fixes gh-17551
5 years ago
Phillip Webb 01933f9b06 Merge previously split strings
Merge some string lines that were previously split because of the
90 chars wide formatting.
5 years ago
Phillip Webb a66c4d3096 Unify method visibility of private classes
Apply checkstyle rule to ensure that private and package private
classes do not have unnecessary public methods. Test classes have
also been unified as much as possible to use default scoped
inner-classes.

Closes gh-7316
5 years ago
Phillip Webb 605599138e Merge branch '2.1.x' 5 years ago
Phillip Webb 92bff3c328 Merge branch '2.0.x' into 2.1.x 5 years ago
Phillip Webb cfeb0239b7 Merge branch '1.5.x' into 2.0.x 5 years ago
Phillip Webb c62b6b4ccd Merge branch '2.1.x' 5 years ago
Phillip Webb de35efd1ef Merge branch '2.0.x' into 2.1.x 5 years ago
Phillip Webb bb34846630 Merge branch '1.5.x' into 2.0.x 5 years ago
Andy Wilkinson a189e4cf96 Merge branch '2.1.x'
Closes gh-17220
6 years ago
Andy Wilkinson 645514f848 Polish "Honour base path from @WebAppConfiguration in @WebMvcTest"
See gh-16485
6 years ago
Lorenzo Dee 7340d546b8 Honour base path from @WebAppConfiguration in @WebMvcTest
See gh-16485
6 years ago
Andy Wilkinson 78f51a490c Merge branch '2.1.x'
Closes gh-17213
6 years ago
Andy Wilkinson c2a4a3f630 Polish "Auto-configure caching in jOOQ sliced tests"
See gh-17066
6 years ago
Dmytro Nosan 4701d8f82a Auto-configure caching in jOOQ sliced tests
See gh-17066
6 years ago
Andy Wilkinson aef92b9295 Merge branch '2.1.x'
Closes gh-17079
6 years ago
Andy Wilkinson 24925c3dae Merge branch '2.0.x' into 2.1.x
Closes gh-17078
6 years ago
Andy Wilkinson c6c139d980 Merge branch '1.5.x' into 2.0.x 6 years ago
fidel 2ec0996a6f Fix typo in javadoc
See gh-17044
6 years ago
Johnny Lim 652906ec7c Use MergedAnnotation.getRoot() in PropertyMappingCheckBeanPostProcessor
Closes gh-16745
6 years ago
Phillip Webb 3a9ca5fa30 Update copyright header of changed files 6 years ago
Phillip Webb ed998ef0d3 Update copyright header of changed files 6 years ago
Madhura Bhave f1786c357b Revert "Disable ConfigurationProperties scanning for slice tests"
This reverts commit 3b4ff7d746.
The commit caused the build to fail because it disabled
`@ConfigurationPropertiesScan` completely in slice tests. It
did not take into account components that were explicitly included
in slice tests using the `components` attribute. Since `@ConfigurationPropertiesScan`
replaces `@Component` and `@EnableConfigurationProperties`, these components
are no longer registered even though explicitly included.
6 years ago
Madhura Bhave 3b4ff7d746 Disable ConfigurationProperties scanning for slice tests
Closes gh-16659
6 years ago
Andy Wilkinson 552345fcd1 Disable more @Bean method proxying
Previously, due to a quirk in Spring Framework, it was necessary to use bean method
proxying in @Configuration classes that define one or more FactoryBeans. This quirk has
now been addressed so this commit disables bean method proxying where it is now no longer
needed.

Closes gh-16533
6 years ago
Phillip Webb 17aaf26590 Use consistent javadoc style for annotation links
Closes gh-13920
6 years ago
Phillip Webb 1e44aba772 Fix compiler warnings and polish
Fix various compiler warnings and apply a little polish.
6 years ago
Phillip Webb b879972d0d Migrate to MergedAnnotations API
Migrate away from `AnnotationUtils` and `AnnotatedElementUtils`
when possible to the new `MergedAnnotations` API.

Closes gh-16551
6 years ago
Madhura Bhave dabe75a281 Merge branch '2.1.x' 6 years ago
Madhura Bhave f0544fb86f Polish 6 years ago
Madhura Bhave 1d20c73d22 Make nested classes in JsonTestersAutoConfiguration package private
Closes gh-15444
6 years ago
Phillip Webb ad7eebee9e Merge branch '2.1.x' 6 years ago
Phillip Webb f12ab1ff90 Update copyright header of changed files 6 years ago
Phillip Webb 2376f973f4 Merge branch '2.1.x' 6 years ago
Phillip Webb 47c6bf741d Merge branch '2.0.x' into 2.1.x 6 years ago
Phillip Webb 07c000c5b7 Merge branch '1.5.x' into 2.0.x 6 years ago
Stephane Nicoll 270554d3cd Merge branch '2.1.x' 6 years ago
Ali Dehghani 53e7484d87 Add error rendering support with @WebFluxTest
See gh-16266
6 years ago
Madhura Bhave 0d136f0573 Merge branch '2.1.x' 6 years ago
Madhura Bhave 0a54fb73fa Remove redundant include from WebFluxTypeExcludeFilter
For webflux, security configuration is configured via a bean of type
`SecurityWebFilterChain` and not `ServerHttpSecurity`. We would have changed
the include to be `SecurityWebFilterChain` but the filter only applies to
beans registered via component scanning and not those registered in
`@Configuration` classes, making the includes redundant.

See gh-16088
6 years ago
Andy Wilkinson 36c1c051b8 Merge branch '2.1.x' 6 years ago
Andy Wilkinson e23f72c8b0 Merge branch '2.0.x' into 2.1.x 6 years ago
Andy Wilkinson 9fbd38ab3c Merge branch '1.5.x' into 2.0.x 6 years ago
Andy Wilkinson 68bfb020aa Reduce need for bean method proxying and disable where not needed
Closes gh-9068
6 years ago
Stephane Nicoll a44a55e948 Merge branch '2.1.x' 6 years ago
Stephane Nicoll 161c0b9fad Polish contribution
Closes gh-16170
6 years ago
ayudovin 51013421f2 Add support for Mustache, FreeMarker and Thymeleaf in WebFluxTest
See gh-16170
6 years ago
Phillip Webb 64a2e8d67f Update copyright year for changed files 6 years ago
Andy Wilkinson 89bb973745 Merge branch '2.1.x' 6 years ago
Andy Wilkinson 7153525ee2 Annotation @JsonTest with @ExtendWith(SpringExtension.class)
Closes gh-16183
6 years ago
Andy Wilkinson b8dff5fe17 Merge branch '2.1.x' 6 years ago
Stephane Nicoll f90bfff132 Merge branch '2.1.x' 6 years ago
Stephane Nicoll 2099093978 Merge branch '2.0.x' into 2.1.x 6 years ago
Stephane Nicoll b8cbd0c17f Merge branch '1.5.x' into 2.0.x 6 years ago
Madhura Bhave 64b7466d51 Remove secure flag from AutoConfigureMockMvc
Closes gh-13822
6 years ago
Andy Wilkinson de0c065625 Inject single-use configuration dependencies into bean methods
Closes gh-15751
6 years ago
Madhura Bhave 59d2b0a3fb Upgrade tests to Junit5
See gh-14737
6 years ago
dreis2211 f57f16c190 Avoid premature declaration of variables
Closes gh-15215
6 years ago
Phillip Webb 893d5666be Update copyright year for changed files 6 years ago
Andy Wilkinson 6729e56f6b Merge branch '2.0.x' 6 years ago
Andy Wilkinson e74b084c67 Auto-configure codec customizations and JSON when using @WebFluxTest
Closes gh-15070
6 years ago
Phillip Webb cccf5e6d2b Merge branch '2.0.x' 6 years ago
Phillip Webb 3baf782822 Merge branch '1.5.x' into 2.0.x 6 years ago
Phillip Webb f3fa20b2d1 Polish 6 years ago
Stephane Nicoll 474da80b4d Revert "Restructure of security packages"
See gh-14412
6 years ago
Phillip Webb 29707bf75a Complete restructure of security packages
Complete the restructuring of the security auto-configuration
packages by removing the direct import of web configuration from
the main security auto-configuration.

Closes gh-14412
6 years ago
Madhura Bhave f835f82582 Preliminary restructure of security packages
Restructure the security auto-configuration packages to better reflect
the part of the system that the configuration applies to.

See gh-14412
6 years ago
Andy Wilkinson 726579a910 Merge branch '2.0.x' 6 years ago
Andy Wilkinson 89f5cfc5a4 Merge branch '1.5.x' into 2.0.x 6 years ago
Andy Wilkinson 4b00dc8a5c Add support for Spring Data JDBC (auto-config, starter, and test slice)
Closes gh-14489
6 years ago
Andy Wilkinson cc6cf880cf Stop using ObjectProvider<List> and ObjectProvider<Collection>
Closes gh-14467
6 years ago
Johnny Lim fd97f07209 Use meaningful name for MockServerConfigurer bean
Closes gh-14512
6 years ago
Phillip Webb 57ec09a55f Polish 6 years ago
Madhura Bhave ab6bdc7ae2 Apply springSecurity configurer to WebTestClient
Also, @WebFluxTest now adds any ServerHttpSecurity beans
to the context.

Closes gh-13632
6 years ago
LEVI PAUL 74891a75bb Include TaskExecutionAutoConfiguration in @WebMvcTest
Closes gh-14400
6 years ago
Phillip Webb 8c34e053f5 Update copyright header of changed files 6 years ago
Andy Wilkinson 8ee4775820 Polish 6 years ago
Madhura Bhave 8f946260d2 Update copyright year for changed files 6 years ago
Madhura Bhave 0384a88b57 Include web security config classes in @WebMvcTest
Security config classes are not included when the
secure flag is set to false.

Closes gh-6514
6 years ago
Madhura Bhave d91c71b508 Deprecate secure flag on @WebMvcTest
Closes gh-14227
6 years ago
Madhura Bhave f3fa952cbc Support WebExceptionHandler in @WebFluxTest
Closes gh-13627
6 years ago
Andy Wilkinson 075a745e32 Polish "Allow properties to be configured using slice test annotations"
Closes gh-14052
6 years ago
artsiom 0cf1749e85 Allow properties to be configured using slice test annotations
See gh-14052
6 years ago
Eddú Meléndez 4d310f0d5a Add support for multiple REST Docs configuration customizers
This commit introduces support for multiple configuration customizers
for REST Docs with MockMvc, WebTestClient, and REST Assured.

Closes gh-13498
6 years ago
Stephane Nicoll 143e4f026f Merge branch '2.0.x' 6 years ago
dreis2211 66b1742f96 Optimize some StringBuilder.append() calls
Closes gh-13961
6 years ago
Phillip Webb 4d86ac4713 Polish copyright date on changed files 6 years ago
Phillip Webb 80da9cf5eb Merge branch '2.0.x' 6 years ago
Phillip Webb aeb885192e Polish ternary expressions 6 years ago
Phillip Webb a6c9c92f2e Merge branch '2.0.x' 6 years ago
Phillip Webb 63b609827e Fix checkstyle method order issues
Fix checkstyle issues with method ordering following the
spring-javaformat upgrade.

See gh-13932
6 years ago
Phillip Webb 7fc455654a Fix checkstyle ternary issues
Fix checkstyle issues with ternary expressions following the
spring-javaformat upgrade.

See gh-13932
6 years ago
Phillip Webb b5b60c2053 Merge branch '2.0.x' 6 years ago
Phillip Webb 9a9111af21 Support path discovery for main dispatcher servlet
Add an `DispatcherServletPath` interface which provides a much more
consistent way to discover the path of the main dispatcher servet.

Prior to this commit, auto-configurations would often make use of the
`ServerProperties` class to discover the dispatcher servlet path. This
mechanism isn't very explicit and also makes it hard for us to relocate
that property in Spring Boot 2.1.

This commit also reverts most of fddc9e9c7e since it is now clear that
the supporting multiple dispatcher servlet paths will be much more
involved that we originally anticipated.

Closes gh-13834
6 years ago
Madhura Bhave 4fee54cf24 Expose a TestDispatcherServlet bean in the MockMvcAutoConfiguration
This commit also contains changes to `ServletContextInitializerBeans`.
`ServletContextInitializerBeans` can now be configured to only look
for specific ServletContextInitializer subclasses, defaulting to
ServletContextIntializer.class. `SpringBootMockMvcBuilderCustomizer`
only cares about filters so it was unnecessary to look for all
`ServletContextInitializer`s. Additionally, adapting `Servlet` beans
caused a cycle once the `DispatcherServlet` bean was added and the
customizer only needs to adapt `Filter` beans.

Closes gh-13241
6 years ago
Andy Wilkinson 6a48a440b2 Annotate our test annotations with @ExtendWith(SpringExtension.class)
Closes gh-13739
6 years ago
Andy Wilkinson 8cc0d5577e Avoid unwanted bean overrides in spring-boot-test-autoconfigure
See gh-13609
6 years ago
Stephane Nicoll 7462401291 Merge branch '2.0.x' 7 years ago
Eddú Meléndez 065eebfb4b Fix javadoc
Closes gh-13274
7 years ago
Vedran Pavic f81f50c119 Improve LDAP auto-configuration
Auto-configuration of LDAP's `LdapTemplate` is currently a part of
`LdapDataAutoConfiguration` which is conditional of presence of
`LdapRepository` (i.e. Spring Data LDAP). This arrangement isn't ideal
since the `LdapTemplate` is a part of Spring LDAP project, and therefore
should not be tied to Spring Data LDAP.

This commit improves and simplifies LDAP auto-configuration by moving
`LdapTemplate` configuration to `LdapAutoConfiguration`. Consequently,
`LdapDataAutoConfiguration` is not needed anymore and is removed.

See gh-13136
7 years ago
Stephane Nicoll 360f4e17c2 Add support for PageableHandlerMethodArgumentResolver in WebMvcTest
Closes gh-13066
7 years ago
Phillip Webb 5b3cb8a698 Update copyright header year for changed files 7 years ago
Phillip Webb 6e09e497f2 Formatting 7 years ago
Phillip Webb e125085993 Merge branch '1.5.x' into 2.0.x 7 years ago
Johnny Lim d8700522d3 Rename nested *AutoConfiguration classes to *Configuration
Closes gh-12989
7 years ago