Commit Graph

498 Commits (b39f4d7d85e42b498ae71803cda82a8655c1722f)

Author SHA1 Message Date
Andy Wilkinson 96ba9ae47f Merge branch '2.3.x' into 2.4.x
Closes gh-25768
4 years ago
Andy Wilkinson 62023104de Test auto-configured MockRestServiceServer with metrics and a root URI
Closes gh-25741
4 years ago
Andy Wilkinson 79c0597aa2 Merge branch '2.3.x' into 2.4.x
Closes gh-25072
4 years ago
Andy Wilkinson 3585d20453 Include IDialect beans in WebFluxTest and WebMvcTest
Fixes gh-24149
4 years ago
Phillip Webb d06407ec0a Update copyright year of changed files 4 years ago
Phillip Webb d95d7a0245 Update code for Spring Framework 5.3.4
See gh-24998
4 years ago
Phillip Webb 72d36e0c07 Update copyright year of changed files 4 years ago
Stephane Nicoll 93d83342d2 Merge branch '2.3.x'
Closes gh-24401
4 years ago
Stephane Nicoll 06671aa50e Stop deferring JPA bootstrap mode by default
This commit changes the default value of bootstrap-mode to "default"
rather than "deferred" so that the JPA infrastructure starts in the
main thread rather than asynchronously.

Closes gh-24249
4 years ago
Phillip Webb 30c27274e2 Merge branch '2.3.x'
Closes gh-24339
4 years ago
Phillip Webb 5f351a6983 Merge branch '2.2.x' into 2.3.x
Closes gh-24338
4 years ago
Phillip Webb 837fc83527 Fix checkstyle header violations
See gh-24337
4 years ago
Stephane Nicoll b6fc0913cf Merge branch '2.3.x'
Closes gh-24104
4 years ago
Stephane Nicoll 515b18e142 Merge branch '2.3.x'
Closes gh-24108
4 years ago
Stephane Nicoll 9e901b6e07 Upgrade to Testcontainers 1.15.0
Closes gh-24103
4 years ago
Stephane Nicoll 23ad2b4156 Rationalize Testcontainers image versions
This commit rationalizes the Docker image names used in integration
tests.

Closes gh-24107
4 years ago
Andy Wilkinson a4505eaeb0 Merge branch '2.3.x'
Closes gh-24024
4 years ago
Andy Wilkinson 81f672eae3 Merge branch '2.2.x' into 2.3.x
Closes gh-24023
4 years ago
Andy Wilkinson 28ccf54b21 Ignore schema username when auto-configuring a test DB
Previously, when an embedded test database was being auto-configured
any schema username and password specified by the user would result
in a separate embedded test database being created to load the schema.
This then left the actual test database without the schema causing
test failures.

This commit updates the test database auto-configuration to set the
schema username to an empty string in a property source that's added
first to the environment's property sources. This causes any schema
username configured by the user to be ignored, preventing the creation
of a separate database for schema.sql processing.

Fixes gh-19321
4 years ago
Andy Wilkinson c93d91175d Merge branch '2.3.x'
Closes gh-24007
4 years ago
Andy Wilkinson 2513071b1f Merge branch '2.2.x' into 2.3.x
Closes gh-24006
4 years ago
Andy Wilkinson 622606d85a Make it clearer that only the main DataSource bean may be replaced
Closes gh-23808
4 years ago
Andy Wilkinson 8004a821f2 Fix nested test config discovery for sliced tests
Fixes gh-23984
4 years ago
Phillip Webb 929d8fcd3c Update copyright year of changed files 4 years ago
Andy Wilkinson 506f7acc8d Streamline use of TestContextAnnotationUtils
See gh-12470
4 years ago
Andy Wilkinson 6b437ece54 Inherit enclosing class's configuration in nested tests
Fixes gh-12470
4 years ago
Phillip Webb 11a153869f Polish 'Support nested @PropertyMapping annotations'
See gh-23146
4 years ago
Stefan Zwanenburg edf4c833c2 Support nested @PropertyMapping annotations
Update `AnnotationsPropertySource` so that nested annotations are
supported. Prior to this commit, annotations annotated with
`@PropertyMapping` that contained nested annotation attributes would
result in instances of `TypeMappedAnnotation` being used as properties.
This usually led to errors due to not being able to convert those to
Strings. This commit makes it so that nested annotations are recursively
mapped to properties. This should allow for more complex configuration
to be mapped from annotations.

See gh-23146
4 years ago
Brian Clozel 9c54a5369d Merge branch '2.3.x'
Closes gh-23816
4 years ago
Brian Clozel b37eecc015 Merge branch '2.2.x' into 2.3.x
Closes gh-23812
4 years ago
Brian Clozel 5eb1e26e10 Add HttpEncodingAutoConfiguration to WebMvcTest
Prior to this commit, tests using the `@WebMvcTest` annotation would not
include the `HttpEncodingAutoConfiguration`. This means that, even if
configured, the encoding filter would not be configured in MVC tests,
resulting in an inconsistency with `@SpringBootTest` tests.

This commit ensures that the `HttpEncodingAutoConfiguration` is included
when `@WebMvcTest` is used.

Fixes gh-23749
4 years ago
Stephane Nicoll a5b27789c0 Document how to use DataNeo4jTest with reactive access
Closes gh-23630
4 years ago
Madhura Bhave 7c22e71753 Polish "Deprecate EmbeddedDatabaseConnection#HSQL"
See gh-23565
4 years ago
Stephane Nicoll 366fec33d0 Adapt to API change in Spring Framework 5.3.0 snapshots
See gh-23534
4 years ago
Stephane Nicoll 2852ea0808 Remove useless version override for MongoDBContainer
Closes gh-23520
4 years ago
Phillip Webb c284edde67 Update copyright year of changed files 4 years ago
Stephane Nicoll 91cc283c39 Upgrade to JUnit Jupiter 5.7.0
Closes gh-23351
4 years ago
Stephane Nicoll 5a86162ff3 Polish "Simplify code"
See gh-23111
4 years ago
EruDev ffc577b499 Simplify code
See gh-23111
4 years ago
Andy Wilkinson 9ee2487a6e Merge branch '2.3.x'
Closes gh-23128
4 years ago
dreis2211 51c9dee899 Use DynamicPropertySource in MongoDB tests
See gh-23127
4 years ago
Andy Wilkinson 2c166d1a58 Merge branch '2.3.x'
Closes gh-23125
4 years ago
Andy Wilkinson 33ef1b6e5b Merge branch '2.2.x' into 2.3.x
Closes gh-23124
4 years ago
Andy Wilkinson 5cd910c7ce Replace Embedded Mongo with Testcontainers' MongoDB support
Closes gh-23090
4 years ago
Andy Wilkinson cf0036992f Increase timeouts used in Cassandra integration tests
Closes gh-23083
4 years ago
Phillip Webb 4df618a2b1 Merge branch '2.3.x'
Closes gh-22967
4 years ago
Phillip Webb f75e988450 Merge branch '2.2.x' into 2.3.x
Closes gh-22966
4 years ago
Phillip Webb 3271542d98 Add @Interited to @TypeExcludeFilters
Update `@TypeExcludeFilters` so that it is also annotated with
`@Inherited`.

Closes gh-22939
4 years ago
Madhura Bhave bbbbe8e4d2 Make security auto-configs back off when SecurityFilterChain present
Closes gh-22739
4 years ago
Scott Frederick 2a998a4373 Fix DataNeo4jTestReactiveIntegrationTests
See gh-22940
4 years ago
Stephane Nicoll 045d2f678d Document Spring Data Neo4j 6 support
Closes gh-22652
4 years ago
Andy Wilkinson 0d8719adb7 Merge branch '2.3.x'
Closes gh-22911
4 years ago
Andy Wilkinson 65ccb514d0 Merge branch '2.2.x' into 2.3.x
Closes gh-22910
4 years ago
Johnny Lim 68e2dd626d Mention configuration customizers for WebTestClient and RestAssured
See gh-22765
4 years ago
Andy Wilkinson 969dd35e45 Upgrade to Mockito 3.4.6
Closes gh-22838
4 years ago
Phillip Webb f7f4ff0ac9 Update copyright year of changed files 4 years ago
Stephane Nicoll dac63fc3e5 Polish 4 years ago
Stephane Nicoll 313b2bef6f Polish "Add test slice for Spring Data Cassandra"
See gh-17490
4 years ago
ayudovin ae152b176b Add test slice for Spring Data Cassandra
See gh-17490
4 years ago
Stephane Nicoll 36fb86a110 Update to core r2dbc support
This commit adapts the auto-configuration for the new core r2dbc support
in Spring Framework and provides auto-configuration for
R2dbcEntityOperations.

Closes gh-22708
4 years ago
Andy Wilkinson 5f1198c917 Merge branch '2.3.x'
Closes gh-22670
4 years ago
Andy Wilkinson 45346b63ba Merge branch '2.2.x' into 2.3.x
Closes gh-22669
4 years ago
Andy Wilkinson 22dc4e7608 Clarify documentation on @AutoConfigureRestDocs with WebTestClient
Closes gh-15977
4 years ago
Stephane Nicoll 9bc71fe44f Polish "Upgrade to Spring Data Neo4j 6"
See gh-22299
4 years ago
Gerrit Meier 15cd343737 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
dreis2211 b498d3903f Upgrade to Testcontainers 1.14.2
See gh-21581
5 years ago
Stephane Nicoll b9a1a70fcc Merge branch '2.2.x'
Closes gh-21562
5 years ago
Stephane Nicoll 77981ac2ae Polish "Use the container IP address for tests using TestContainer"
See gh-21480
5 years ago
olivier lamy 0c2bf70bb8 Use the container IP address for tests using TestContainer
See gh-21480
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
Andy Wilkinson 56af3534f0 Merge branch '2.2.x'
Closes gh-20740
5 years ago
Andy Wilkinson ce95fd6825 Polish "Use @DynamicPropertySource for Neo4J and Redis data tests"
See gh-20676
5 years ago
dreis2211 d84422a41c Use @DynamicPropertySource for Neo4J and Redis data tests
See gh-20676
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
dreis2211 aa0360e1ba Fix some deprecation warnings
See gh-20108
5 years ago
Madhura Bhave 0a377647ca Import OAuth2 auto-configurations in web slice tests
Fixes gh-19823
5 years ago
Stephane Nicoll bae1d8d780 Polish "Use new AssertJ duration assertions"
See gh-19985
5 years ago
dreis2211 fac6f08ca3 Use new AssertJ duration assertions
See gh-19985
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
Phillip Webb 862462b791 Update copyright year of changed files 5 years ago
Stephane Nicoll f13ff3b939 Merge branch '2.2.x'
Closes gh-19686
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
Andy Wilkinson ce99db1902 Port the build to Gradle
Closes gh-19609
Closes gh-19608
5 years ago
dreis2211 6ffe47cd06 Remove deprecated usage of WebTestClientBuilderCustomizer
See gh-19536
5 years ago
Andy Wilkinson e26d5d95a8 Do not enable @ConfigurationPropertiesScan be default
In 2.2.0, @ConfigurationPropertiesScan was enabled by default.
Unfortunately, this had the unexpected side-effect of breaking
conditional enablement of a @ConfigurationProperties class via
@EnableConfigurationProperties if the @ConfigurationProperties class
was in a package covered by scanning.

This commit remove @ConfigurationPropertiesScan from
@SpringBootApplication so that it is no longer enabled by default.
2.1.x users who rely upon such conditional enablement of
@ConfigurationProperties classes can now upgrade to 2.2.x without
having to make any changes. Users who do not have such a need and are
in a position to use configuration properties scanning can now opt-in
by adding @ConfigurationPropertiesScan to their main application class
alongside @SpringBootApplication.

Closes gh-18674
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
Stephane Nicoll 2ceffcee14 Start building against Spring Data Moore-SR1 snapshots
See gh-18744
5 years ago
Stephane Nicoll a315d4229d Start building against Spring Data Lovelace-SR12 snapshots
See gh-18743
5 years ago
dreis2211 8ecdf919f8 Fix Mockito deprecations
See gh-18689
5 years ago
Stephane Nicoll fd94608f73 Polish "Restore proxying of @Bean methods in @TestConfiguration"
See gh-18675
5 years ago
Andy Wilkinson c75b06c76c Remove @ImmutableConfigurationProperties
Closes gh-18563
5 years ago
Stephane Nicoll 32a1cdf4d3 Polish "Use dedicated method to turn off authentication"
See gh-18538
5 years ago
Michael Simons 04a01a49c2 Use dedicated method to turn off authentication
See gh-18538
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
Phillip Webb e41c5a4327 Require annotation signal for constructor binding
Update `@ConfigurationProperties` constructor binding support to only
apply when a `@ConstructorBinding` annotation is present on either the
type or the specific constructor to use.

Prior to this commit we didn't have a good way to tell when constructor
binding should be used vs regular autowiring.

For convenience, an `@ImmutableConfigurationProperties` meta-annotation
has also been added which is composed of `@ConfigurationProperties` and
`@ConstructorBinding`.

Closes gh-18469
5 years ago
Phillip Webb ecf751e7eb Polish 5 years ago
Andy Wilkinson 6534047fcf Rework test slice annotation javadoc to reflect JUnit 5 default
Closes gh-18178
5 years ago
dreis2211 07b857e57a Use disabledWithoutDocker option for @Testcontainers
See gh-18095
5 years ago
dreis2211 b4350a9d96 Remove unnecessary blank lines
See gh-18089
5 years ago
freekry e1611287c8 Simplify some code
See gh-18077
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 94b5ad0f7e Fixup tests following upstream HATEOAS changes
See gh-17755
5 years ago
Phillip Webb da4f436140 Change SearchStrategy EXHAUSTIVE to TYPE_HIERARCHY
Fixup references following upstream Spring Framework change.
5 years ago
Phillip Webb 6675f49334 Switch to multi-line security configuration
Now that we have lambda style security configuration we can further
improve readability by switching to one statement per line.

See gh-17525
5 years ago
Madhura Bhave 39a7b9da38 Switch to lambda style security configuration
Closes gh-17525
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
Phillip Webb 30b5ba87ae Merge branch '2.0.x' into 2.1.x 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
Stephane Nicoll a3e94f4412 Harmonize component scan in slice tests
This commit updates ConfigurationPropertiesScanRegistrar to apply the
same component scan filters than the ones applied on standard classpath
scanning.

As a result, configuration properties scanning is automatically disabled
in slice tests and can be included by an explicit import or a dedicated
TypeFilter implementation if necessary.

Closes gh-16659
5 years ago
Phillip Webb eff1147ccc Rename classpath runner package
Remove `runner` since we're no longer tied to JUnit 4.

See gh-17491
5 years ago
Phillip Webb 1117fdb2b3 Make ModifiedClassPathExtension package private
Meta-annotate `ClassPathExclusions` and `ClassPathOverrides` with
so that the `ModifiedClassPathExtension` no longer needs to be
used directly.

See gh-17491
5 years ago
Phillip Webb 4fe5e9e31e Remove direct junit-platform-launcher dependency
Replace any direct `junit-platform-launcher` dependencies and instead
rely on the test runner providing it. Launcher related class are not
handled via reflection.

This update allows us to workaround SUREFIRE-1679.

Closes gh-17517
5 years ago
dreis2211 0f0278e69b Migrate ModifiedClassPath tests to JUnit 5
Migrate the remaining JUnit 4 tests to JUnit 5, making use of the
new `ModifiedClassPathExtension`.

See gh-17491
5 years ago
dreis2211 ca1808ecae Migrate to MockRestServiceServer
Migrate `RestClientTestWithoutJacksonIntegrationTests` to use
Spring's `MockRestServiceServer`.

See gh-17491
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 c3816bfe7b Polish output capture names 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