Commit Graph

650 Commits (a642769d7392a8ceb98c6a3bb7ae2105294a73d0)

Author SHA1 Message Date
Madhura Bhave ce3c933f77 Adapt to Spring Security changes
Closes gh-32604
2 years ago
Phillip Webb e0b67889a8 Use Stream.toList instead of Stream.collect when possible
Update code to make use of `Stream.toList()` whenever possible.

Closes gh-28177
2 years ago
Andy Wilkinson 51df7813a5 Remove code deprecated in 2.x and add since and forRemoval attributes
Closes gh-32548
Closes gh-32549
2 years ago
dreis2211 f0b4a65546 Avoid usage of StringBuffer where possible
See gh-32519
2 years ago
Brian Clozel eac50a8f0c Auto-configure Observation support for RestTemplate
Prior to this commit, Spring Boot would auto-configure a customizer that
instruments `RestTemplate` through a `RestTemplateBuilder`. This would
install a request interceptor that instrumented client exchanges for
producing metrics.

As of spring-projects/spring-framework#28341, the instrumentation is
done at the `RestTemplate` level directly using the `Observation` API.
The `Tag` (now `KeyValue`) extraction, observation name and
instrumentation behavior now lives in the Spring Framework project.

This commit updates the auto-configuration to switch from Boot-specific
Metrics instrumentation to a generic Observation instrumentation.
As a migration path, some configuration properties are deprecated in
favor of the new `management.observations.*` namespace.

Closes gh-32484
2 years ago
Stephane Nicoll 0f325f98b5 Disable ContextCustomizer implementations at runtime if necessary
This commit disables ContextCustomizer implementations that tune a
test configuration context at runtime. Previously, these ran again and
required additional hints to work properly.

Rather than contributing those hints, the customizer is skipped as its
impact is irrelevant in an AOT-optimized context: the context is fully
prepared and the updates on the MergedContextConfiguration are not taken
into account.

Closes gh-32422
2 years ago
Andy Wilkinson 0476b5da5d Upgrade to Selenium HtmlUnit 3.64.0 and Selenium 4.4.0
Closes gh-32372
Closes gh-32373
2 years ago
Andy Wilkinson d103bbc034 Avoid returning null from TestContext.getTestClass()
Our mock didn't configure an expectation so null was returned. That's
prohibited by the javadoc and some recent Framework changes mean that
it's no longer tolerated.
2 years ago
Phillip Webb 46be4a3f30 Merge branch '2.7.x' 2 years ago
Madhura Bhave 0991bd3983 Harmonize data configuration
Any classes that rely on Spring Data being on the classpath
have been moved under a data package.

Certain configuration properties have also been updated to
accurately reflect whether Spring Data is required for the
auto-configuration to work.

Closes gh-11574
2 years ago
Brian Clozel 38f1bc9793 Reinstate Spring for GraphQL auto-configuration
This commit adds the Spring for GraphQL auto-configuration back
into Spring Boot 3.0, now that a 1.1.0 release is scheduled with the
required baseline. This release also needs GraphQL Java 19.0 as a
baseline.

Closes gh-31809
2 years ago
Andy Wilkinson 5c057a2730 Auto-configure the new Elasticsearch clients
This commit introduces auto-configuration for the new Elasticsearch
clients that are based upon their new Java client. The new Java
client builds on top of their existing low-level REST client,
replacing the high-level REST client which has been deprecated.
As part of introducing support for the new Elasticsearch client,
the auto-configuration for the templates (both imperative and
reactive) provided by Spring Data has also been updated to use the
new templates that build upon the new Java client.

As part of these changes, support for the high-level REST client and
the old Spring Data Elasticsearch templates has been removed. One
significant change is that the new reactive template is no longer
based on WebClient. As a result, the WebClient-specific configuration
property has been removed.

Closes gh-30647
Closes gh-28597
Closes gh-31755
2 years ago
Oliver Drotbohm b10c57551c Upgrade to Hibernate 6.1.1.Final
This commit makes the following potentially breaking changes:

- Dependency management for modules that do not exist in Hibernate
  6.1 has been removed.
- Hibernate's modules are now in the org.hibernate.orm group. Users
  not using the starter or using modules that are not in the starter
  will have to update their build configuration accordingly.
- spring.jpa.hibernate.use-new-id-generator-mappings has been removed
  as Hibernate no longer supports switching back to the old ID
  generator mappings.

Co-authored-by: Andy Wilkinson <wilkinsona@vmware.com>

Closes gh-31674
2 years ago
Andy Wilkinson eb9df8ebfe Adapt to changes in Spring Data Elasticsearch's transitive deps
See gh-31611
2 years ago
Andy Wilkinson 21f5f43365 Make Elasticsearch's version class available 2 years ago
Andy Wilkinson 7f00378eaf Polish "Start building against Spring Data 2022.0.0-M5 snapshots"
See gh-31582
2 years ago
Andy Wilkinson ac59b5781f Align with breaking changes in spring-test
See gh-31241
2 years ago
dreis2211 458f989cf3 Use switch expressions where appropriate
See gh-31527
2 years ago
Andy Wilkinson 631b1e0d76 Merge branch '2.7.x'
Closes gh-31526
2 years ago
Andy Wilkinson 1e08f545d0 Merge branch '2.6.x' into 2.7.x
Closes gh-31525
2 years ago
Andy Wilkinson f49b16c645 Upgrade to Spring Java Format 0.0.34
Closes gh-31524
2 years ago
dreis2211 5db04da275 Use pattern matching for instanceof where appropriate
See gh-31475
2 years ago
Johnny Lim 43c2f1c03c Polish AutoConfigureObservability changes
See gh-31457
2 years ago
Stephane Nicoll e746dfa677 Polish "Allow configuring WebDriver with TestNG"
See gh-27947
2 years ago
AlexCD 4872523181 Allow configuring WebDriver with TestNG
See gh-27947
2 years ago
Stephane Nicoll b0f5fb51fc Adapt to deprecation of NestedServletException 2 years ago
Moritz Halbritter b250d8a1e4 Add @AutoConfigureObservability annotation
This annotation is read by ObservabilityContextCustomizerFactory, which
then sets test properties depending on the annotation attributes.

@AutoConfigureMetrics is deprecated, to support backwards compatability
it's now meta-annotated with @AutoConfigureObservability

See gh-31308
2 years ago
Andy Wilkinson 91bb5aa222 Move auto-config of ReactiveElasticClient to elasticsearch pkg
Closes gh-28068
2 years ago
Andy Wilkinson 5dfa5adb75 Merge branch '2.7.x'
Closes gh-31178
3 years ago
Andy Wilkinson 455ee0ce22 Merge branch '2.6.x' into 2.7.x
Closes gh-31177
3 years ago
Andy Wilkinson ee45fd2fc8 Remove redundant throws declarations from internal APIs
Closes gh-31176
3 years ago
Scott Frederick 7e089a6b81 Remove support for embedded MongoDB
This commit removes auto-configuration and dependency management
for Flapdoodle embedded MongoDB in favor of the Spring Boot support
provided by Flapdoodle.

Closes gh-30863
3 years ago
Phillip Webb dd5696b59b Update copyright year of changed files 3 years ago
Phillip Webb 36f1249fc6 Polish 3 years ago
Stephane Nicoll 2d663f2e94 Upgrade to Spring Data 2021.2.0-RC1
Closes gh-30610
3 years ago
Brian Clozel d137f92f66 Adapt to latest Spring for GraphQL changes
This commit adapts to changes done in spring-projects/spring-graphql#312
3 years ago
Andy Wilkinson 4e054385a4 Polish 3 years ago
Brian Clozel e0ae1d3501 Use auto-configured JSON codecs for GraphQlTester
Prior to this commit, the auto-configured
`ExecutionGraphQlServiceTester` would use a default Jackson
`ObjectMapper` provided by the builder for its JSON
serialization/deserialization needs. Other testers, like the
`HttpGraphQlTester` are based on auto-configured components which
already use the auto-configured `ObjectMapper`.

This commit uses the newly introduced `encoder(Encoder<?>)` and
`decoder(Decoder<?>)` builder methods to configure custom JSON codecs
honoring the application configuration.

Closes gh-30646
3 years ago
Andy Wilkinson 44211564a4 Adapt to latest changes in Micrometer 2.0 snapshots
See gh-29666
3 years ago
Andy Wilkinson 6580f6c742 Align with latest changes in Micrometer 1.9 snapshots
See gh-30605
3 years ago
Andy Wilkinson b871a1e457 Merge branch '2.7.x' 3 years ago
Andy Wilkinson 48f8021d88 Migrate @Local*Port annotations to spring-boot-test
Closes gh-29589
3 years ago
Andy Wilkinson 24e6417ddc Adapt to latest changes in Spring for GraphQL snapshots
See gh-30463
3 years ago
Brian Clozel 93817c708e Switch to Spring for GraphQL 1.0.0-SNAPSHOT
See gh-30463
3 years ago
Moritz Halbritter be3523b1cd Move metric properties
- Moved from 'management.metrics.export.<product>' to
  'management.<product>.metrics.export'
- The default enabled property moved from 'management.metrics.export.defaults.enabled'
  to 'management.defaults.metrics.export.enabled'

Closes gh-30381
3 years ago
Andy Wilkinson 5d09260870 Reinstate support for REST Assured
Closes gh-29543
Closes gh-30426
3 years ago
Stephane Nicoll 7da035b12d Merge branch '2.7.x' 3 years ago
Stephane Nicoll 7f52820e17 Update copyright year of changed files
See gh-30236
3 years ago
izeye 455e0bfa08 Polish StandardAnnotationCustomizableTypeExcludeFilters
See gh-30236
3 years ago
Brian Clozel bae62c39a9 Adapt to latest Spring GraphQL changes
This commit adapts to the latest Spring GraphQL changes, renaming
`GraphQlService` to `ExecutionGraphQlService` as well as the
`WebInterceptor` contract to `WebGraphQlHandlerInterceptor`.

See spring-projects/spring-graphql#332
3 years ago
Andy Wilkinson 568cd687af Remove support for REST Assured until it supports Groovy 4.0
REST Assured does not work with Groovy 4.0 so support is being
temporarily removed again.

See gh-29543
3 years ago
Andy Wilkinson e60001fb16 Adapt to deprecations in Spring Data Redis
See gh-30200
3 years ago
Andy Wilkinson a2ecd600f8 Merge branch '2.7.x' 3 years ago
Andy Wilkinson 1c19995db7 Merge branch '2.6.x' into 2.7.x
Closes gh-30165
3 years ago
Andy Wilkinson 6bbf3aff0e Merge branch '2.5.x' into 2.6.x
Closes gh-30164
3 years ago
Andy Wilkinson eef89c6c35 Increase tests' Cassandra timeouts to 60s
Closes gh-30163
3 years ago
Andy Wilkinson faf7a35425 Merge branch '2.7.x' 3 years ago
Andy Wilkinson 6494a9f08a Merge branch '2.6.x' into 2.7.x
Closes gh-30165
3 years ago
Andy Wilkinson 7c3c5d3d3e Merge branch '2.5.x' into 2.6.x
Closes gh-30164
3 years ago
Andy Wilkinson bbdef2b026 Increase timeouts in tests that use Cassandra
Closes gh-30163
3 years ago
Gautham Mohan 4388910435 Consider DataFetcherExceptionResolver in GraphQTest
Prior to this commit, `@GraphQlTest` slice tests would only consider
JsonComponent, RuntimeWiringConfigurer, Converter and
GenericConverter beans. But DataFetcherExceptionResolver,
Instrumentation and GraphQlSourceBuilderCustomizer are used in
setting up the GraphQL source.

This commit ensures that the `GraphQlTypeExcludeFilter` considers
those bean types.

Closes gh-30078
3 years ago
Brian Clozel 81754c8bc4 Upgrade to Spring GraphQL 1.0.0-SNAPSHOT
This commit switches to 1.0.0-SNAPSHOT for Spring GraphQL, before its
upcoming 1.0.0-M6 version.

This commit adapts to the changes introduced in
spring-projects/spring-graphql#317 : now that `GraphQlClient` has been
introduced, `GraphQlTester` has been aligned with the new
infrastructure. The `@GraphQlTest` and `@SpringBootTest` testing support
is now using different variants for each.

All samples have been updated to use the proper GraphQL terminology, see
and spring-projects/spring-graphql#310 .

See gh-29637
3 years ago
Moritz Halbritter 1793cee00f Start building against Micrometer 2.0.0-M3
See gh-29753
3 years ago
Moritz Halbritter 9c958669f4 Add io.micrometer:micrometer-binders as dependency to the test suite 3 years ago
Andy Wilkinson 7dc40e95d2 Merge branch '2.7.x' 3 years ago
Andy Wilkinson 664ecbdcc1 Polish "Add DataCouchbaseTest annotation"
See gh-29912
3 years ago
Eddú Meléndez 36e52758a7 Add DataCouchbaseTest annotation
See gh-29912
3 years ago
Andy Wilkinson 4093fff225 Merge branch '2.7.x' 3 years ago
Andy Wilkinson 53292a1f94 Polish "Add DataElasticsearchTest annotation"
See gh-29911
3 years ago
Eddú Meléndez e22f78bc6a Add DataElasticsearchTest annotation
See gh-29911
3 years ago
Phillip Webb 9f00c3acf5 Polish 3 years ago
Moritz Halbritter 54f1058d63 Merge branch '2.7.x' 3 years ago
Moritz Halbritter 9149ae50da Use @AutoConfiguration for relative ordering on auto-configurations 3 years ago
Moritz Halbritter d42f675959 Merge branch '2.7.x' 3 years ago
Moritz Halbritter d7b229d3c7 Rename AutoConfigurationLoader to ImportCandidates
Move the class to a more suitable package, and load the files from
META-INF/spring/<fqn>.imports

See gh-29872
3 years ago
Scott Frederick cb69d01e04 Merge branch '2.7.x' into main 3 years ago
Scott Frederick 42328771ad Suppress deprecation warnings for WebSecurityConfigurerAdapter
Fixes gh-29897
3 years ago
Moritz Halbritter 42808ff13c Merge branch '2.7.x'
# Conflicts:
#	spring-boot-project/spring-boot-actuator-autoconfigure/src/main/resources/META-INF/spring.factories
#	spring-boot-project/spring-boot-autoconfigure/src/main/resources/META-INF/spring.factories
#	spring-boot-project/spring-boot-test-autoconfigure/src/main/resources/META-INF/spring.factories
3 years ago
Moritz Halbritter 7c96294641 Move our auto-configurations from spring.factories to new file
Closes gh-29873
3 years ago
Moritz Halbritter 303979fb65 Merge branch '2.7.x' 3 years ago
Moritz Halbritter 7d68b58c8f Load auto-configurations from META-INF/spring-boot
Implements a new AutoConfigurationLoader, which loads
auto-configurations from a file in META-INF/spring-boot.

Adapts the AutoConfigurationImportSelector to use the new loader.

Adapts the ImportAutoConfigurationImportSelector to use the new loader.

Adapts the metadata plugin in the build to additionally load the
auto-configurations from the new file.

Updates the documentation for auto-configurations and test slices.

Closes gh-29872
3 years ago
Phillip Webb ff4b92a3ba Update copyright year of changed files 3 years ago
Madhura Bhave bf1ed5f2f8 Update copyright header on changed files 3 years ago
Madhura Bhave 44b88cc88c Allow @ConstructorBinding to be optional
This commit makes @ConstructorBinding optional for a type
that has a single parameterized constructor. An @Autowired annotation
on any of the constructors indicates that the type should not be constructor
bound.

Since @ConstructorBinding is now deduced for a single parameterized constructor,
the annotation is no longer needed at the type level.

Closes gh-23216
3 years ago
Moritz Halbritter fdb1010cbc Migrate auto-configurations to @AutoConfiguration
Closes gh-29871
3 years ago
Moritz Halbritter 8e99788fc8 Migrate auto-configurations to @AutoConfiguration
Closes gh-29871
3 years ago
Stephane Nicoll 3b4832445b Merge branch '2.7.x' 3 years ago
Stephane Nicoll 8c8c9c5f28 Upgrade to H2 2.1.210
H2 2.x contains several important changes such as moving the primary key
generation mechanism to a sequence-based identifier. This commit fixes
a number of tests that were failing.

Closes gh-29651

Co-authored-by: Andy Wilkinson <wilkinsona@vmware.com>
3 years ago
Phillip Webb a282f912e6 Organize imports
Organize imports according to updated checkstyle rules.
3 years ago
Phillip Webb 501d174db0 Merge branch '2.7.x' 3 years ago
Stephane Nicoll 41fb9cf562 Merge branch '2.7.x' 3 years ago
Stephane Nicoll f812b33cbd Merge branch '2.6.x' into 2.7.x
Closes gh-29613
3 years ago
Stephane Nicoll 136b5959c3 Merge branch '2.5.x' into 2.6.x
Closes gh-29612
3 years ago
Stephane Nicoll 7f17f819a6 Polish "Enforce use of BDDMockito"
See gh-29178
3 years ago
Yanming Zhou b49418aaaf Enforce use of BDDMockito
1. Replace Mockito.verify*() with BDDMockito.then()
2. Replace Mockito.doReturn() with BDDMockito.willReturn()
3. Adjust checkstyle rule

See gh-29178
3 years ago
Andy Wilkinson 191333773f Restore support for REST Assured
Closes gh-29543
3 years ago
Stephane Nicoll 4d03f89a55 Harmonize dependency upgrades with Spring Boot 2.7.0-M1
Closes gh-29476
3 years ago
Andy Wilkinson 12cd97a20c Reinstate support for Thymeleaf 3 years ago
Andy Wilkinson c2e86096cd Reinstate support for jOOQ as it now supports Jakarta EE 9
Closes gh-29271
3 years ago
Phillip Webb 06398eabed Merge branch '2.7.x' 3 years ago