Commit Graph

699 Commits

Author SHA1 Message Date
Moritz Halbritter
037cb8c5b0 Merge branch '2.7.x' into 3.0.x 2023-05-02 13:57:37 +02:00
Moritz Halbritter
c1cef099d2 Limit maximum heap of ElasticSearch in tests 2023-05-02 13:40:59 +02:00
Moritz Halbritter
d7a9f87b64 Disable Neo4j tests on aarch64 linux and mac
See gh-35228
2023-05-02 13:40:59 +02:00
Moritz Halbritter
9f109fe785 Disable Couchbase integration tests on aarch64 linux and mac
See gh-35228
2023-05-02 13:40:59 +02:00
Phillip Webb
81a972af8d Refactor testcontainers service connections
Update restcontainers service connections support so that
technology specific `@ServiceConnector` annotations are not longer
required.

A single `@ServiceConnector` annotation can now be used to create
all `ConnectionDetail` beans.

Closes gh-35017
2023-04-17 00:45:39 -07:00
Phillip Webb
11dac5b5b7 Create dedicated spring-boot-testcontainers module
Create a dedicated testcontainers module containing the service
connectors code.

Closes gh-34757
2023-04-17 00:42:31 -07:00
Phillip Webb
2951cc7594 Polish 2023-04-17 00:42:28 -07:00
Andy Wilkinson
d4980ea993 Always define connection details beans
Closes gh-34776
2023-04-13 18:02:35 +01:00
Phillip Webb
463701db18 Merge branch '3.0.x' 2023-04-10 16:22:57 -07:00
Phillip Webb
d442bfbeff Polish 2023-04-10 16:22:11 -07:00
Stephane Nicoll
2a52c47386 Merge branch '3.0.x'
Closes gh-34870
2023-04-05 16:58:03 +02:00
Stephane Nicoll
ace8cff1b3 Merge branch '2.7.x' into 3.0.x
Closes gh-34869
2023-04-05 16:57:44 +02:00
Christoph Dreis
9107c5cae3 Avoid repeated class lookups in tests
See gh-34613
2023-04-05 16:40:21 +02:00
Andy Wilkinson
d8d6cb7323 Improve diagnostics with @ServiceConnection on non-static field
Closes gh-34795
2023-03-28 10:44:17 +01:00
Andy Wilkinson
2267430bdb Find service connections declaring in enclosing classes
Fixes gh-34790
2023-03-28 10:24:11 +01:00
Andy Wilkinson
cd17d92eac Merge branch '3.0.x'
Closes gh-34782
2023-03-27 18:05:26 +01:00
Andy Wilkinson
d6dbf300ab Merge branch '2.7.x' into 3.0.x
Closes gh-34781
2023-03-27 18:05:03 +01:00
Andy Wilkinson
5669ea69d0 Consider properties on outer class in nested sliced tests
Prior to this commit, properties configured using the properties
attribute of a `@…Test` sliced test annotation would not be considered
when processed a `@Nested` test class. This would lead to the nested
class not reusing its outer class's application context due to the
two having different property configuration.

Fixes gh-33317
2023-03-27 17:58:51 +01:00
Andy Wilkinson
95f45eab1f Create service connections from Testcontainers-managed containers
Building upon the auto-configuration support for service connections,
this commit adds support for deriving connection details from a
Testcontainers-managed container. Several service-specific
annotations have been introduced. These annotations can be used on a
container field to indicate that it is a source of the details for
a service connection.

See gh-34658

Co-Authored-By: Phillip Webb <pwebb@vmware.com>
Co-Authored-By: Mortitz Halbritter <mkammerer@vmware.com>
2023-03-24 10:04:21 +00:00
Phillip Webb
0b15962aca Merge branch '2.7.x' into 3.0.x 2023-02-22 18:36:16 -08:00
Phillip Webb
58e7cae20f Merge branch '2.7.x' into 3.0.x 2023-02-22 13:36:01 -08:00
Phillip Webb
737ef61456 Enable and fix GraphQlTestIntegrationTests 2023-02-22 13:34:40 -08:00
Phillip Webb
e04c09ceae Merge branch '2.7.x' into 3.0.x 2023-02-22 00:50:18 -08:00
Phillip Webb
891ce3bd1b Disable recently renamed tests 2023-02-22 00:49:23 -08:00
Phillip Webb
01e8c42c16 Merge branch '2.7.x' into 3.0.x 2023-02-21 23:55:34 -08:00
Phillip Webb
3651ba348d Fix checkstyle test violations 2023-02-21 23:49:56 -08:00
Phillip Webb
c4de86c244 Merge branch '2.7.x' into 3.0.x 2023-02-21 23:17:57 -08:00
Phillip Webb
df5898a146 Reformat code following spring-javaformat upgrade 2023-02-21 22:53:27 -08:00
Johnny Lim
bc7fc90550 Replace Base64Utils with JDK's Base64
See gh-33967
2023-01-31 10:20:06 +01:00
Phillip Webb
71efc55bf9 Merge branch '2.7.x' 2023-01-18 16:31:53 -08:00
Phillip Webb
7c508fa324 Update copyright year of changed files 2023-01-18 15:37:58 -08:00
Moritz Halbritter
94f4a4396c Merge branch '2.7.x'
Closes gh-33880
2023-01-18 17:35:52 +01:00
Moritz Halbritter
e8d809fe65 Replace 'via' with 'over' or 'through' in the documentation
Closes gh-33878
2023-01-18 16:56:42 +01:00
Phillip Webb
a2ac38e203 Update copyright year of changed files 2023-01-09 15:46:07 -08:00
Krzysztof Krason
cf6493f65c Simplify AssertJ assertions and also make them more readable
See gh-33653
2023-01-09 11:10:20 +01:00
Phillip Webb
f588793445 Update copyright year of changed files 2022-12-22 01:00:42 -08:00
Phillip Webb
532fed3147 Increase couchbase connection timeout for tests 2022-12-22 00:49:04 -08:00
Moritz Halbritter
08659baeba Polish away public modifier on tests 2022-12-16 16:08:44 +01:00
Moritz Halbritter
725337f976 Make fields final
Closes gh-33537
2022-12-16 14:28:44 +01:00
Brian Clozel
928df41f61 Start building against Reactor 2022.0.1 SNAPSHOTs
See gh-33475
2022-12-07 14:45:42 +01:00
Brian Clozel
ce33ec19cd Start building against Spring GraphQL 1.1.1-SNAPSHOT
See gh-33477
2022-12-07 14:43:04 +01:00
Moritz Halbritter
fad610ef72 Add factory for NoopTracer instead of using instance supplier
Closes gh-33298
2022-11-22 14:02:57 +01:00
Johnny Lim
6027508cf7 Polish
See gh-33108
2022-11-16 10:00:36 +01:00
Andy Wilkinson
d34ccb3880 Avoid duplicate test database replacement in native tests
Closes gh-33100
2022-11-10 19:25:36 +00:00
Andy Wilkinson
fcbc7dacf1 Add reflection hints for JsonTesters
Closes gh-32858
2022-11-09 15:15:29 +00:00
Andy Wilkinson
b357239861 Upgrade to Jakarta Activation 2.1.0
Closes gh-33045
2022-11-08 11:01:17 +00:00
Moritz Halbritter
85fd475821 Add noop tracer bean if tracing is disabled
The new functionality doesn't expose any public API
and works the same as WebTestClientContextCustomizer
does.

Closes gh-32907
2022-11-02 15:45:39 +01:00
Scott Frederick
c81ebf63d9 Use ApplicationContextFailureProcessor to log report on failure
Closes gh-31793
2022-10-31 15:15:49 -05:00
Andy Wilkinson
99edda735e Polish 2022-10-25 12:57:58 +01:00
Madhura Bhave
ce3c933f77 Adapt to Spring Security changes
Closes gh-32604
2022-10-19 11:46:27 -07:00
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
2022-10-04 00:29:22 -07:00
Andy Wilkinson
51df7813a5 Remove code deprecated in 2.x and add since and forRemoval attributes
Closes gh-32548
Closes gh-32549
2022-09-30 14:39:05 +01:00
dreis2211
f0b4a65546 Avoid usage of StringBuffer where possible
See gh-32519
2022-09-29 09:29:10 +02:00
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
2022-09-27 22:19:01 +02:00
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
2022-09-20 04:34:58 +02:00
Andy Wilkinson
0476b5da5d Upgrade to Selenium HtmlUnit 3.64.0 and Selenium 4.4.0
Closes gh-32372
Closes gh-32373
2022-09-15 12:31:56 +01:00
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.
2022-09-13 17:41:06 +01:00
Phillip Webb
46be4a3f30 Merge branch '2.7.x' 2022-09-08 19:38:18 -07:00
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
2022-08-05 13:32:25 -07:00
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
2022-08-01 14:33:25 +02:00
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
2022-07-19 15:26:42 +01:00
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
2022-07-12 09:36:34 +01:00
Andy Wilkinson
eb9df8ebfe Adapt to changes in Spring Data Elasticsearch's transitive deps
See gh-31611
2022-07-07 22:22:28 +01:00
Andy Wilkinson
21f5f43365 Make Elasticsearch's version class available 2022-07-07 19:14:44 +01:00
Andy Wilkinson
7f00378eaf Polish "Start building against Spring Data 2022.0.0-M5 snapshots"
See gh-31582
2022-07-07 16:32:13 +01:00
Andy Wilkinson
ac59b5781f Align with breaking changes in spring-test
See gh-31241
2022-06-26 09:55:36 +01:00
dreis2211
458f989cf3 Use switch expressions where appropriate
See gh-31527
2022-06-24 16:19:28 +01:00
Andy Wilkinson
631b1e0d76 Merge branch '2.7.x'
Closes gh-31526
2022-06-24 13:10:10 +01:00
Andy Wilkinson
1e08f545d0 Merge branch '2.6.x' into 2.7.x
Closes gh-31525
2022-06-24 13:05:06 +01:00
Andy Wilkinson
f49b16c645 Upgrade to Spring Java Format 0.0.34
Closes gh-31524
2022-06-24 12:57:52 +01:00
dreis2211
5db04da275 Use pattern matching for instanceof where appropriate
See gh-31475
2022-06-20 17:55:36 +01:00
Johnny Lim
43c2f1c03c Polish AutoConfigureObservability changes
See gh-31457
2022-06-20 07:38:22 +02:00
Stephane Nicoll
e746dfa677 Polish "Allow configuring WebDriver with TestNG"
See gh-27947
2022-06-19 10:35:09 +02:00
AlexCD
4872523181 Allow configuring WebDriver with TestNG
See gh-27947
2022-06-19 10:33:54 +02:00
Stephane Nicoll
b0f5fb51fc Adapt to deprecation of NestedServletException 2022-06-14 17:45:31 +02:00
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
2022-06-10 14:25:12 +02:00
Andy Wilkinson
91bb5aa222 Move auto-config of ReactiveElasticClient to elasticsearch pkg
Closes gh-28068
2022-06-09 11:42:09 +01:00
Andy Wilkinson
5dfa5adb75 Merge branch '2.7.x'
Closes gh-31178
2022-05-26 15:54:58 +01:00
Andy Wilkinson
455ee0ce22 Merge branch '2.6.x' into 2.7.x
Closes gh-31177
2022-05-26 15:53:38 +01:00
Andy Wilkinson
ee45fd2fc8 Remove redundant throws declarations from internal APIs
Closes gh-31176
2022-05-26 15:47:35 +01:00
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
2022-05-06 17:05:36 -05:00
Phillip Webb
dd5696b59b Update copyright year of changed files 2022-04-20 15:26:30 -07:00
Phillip Webb
36f1249fc6 Polish 2022-04-20 15:26:15 -07:00
Stephane Nicoll
2d663f2e94 Upgrade to Spring Data 2021.2.0-RC1
Closes gh-30610
2022-04-20 08:05:15 +02:00
Brian Clozel
d137f92f66 Adapt to latest Spring for GraphQL changes
This commit adapts to changes done in spring-projects/spring-graphql#312
2022-04-19 16:58:06 +02:00
Andy Wilkinson
4e054385a4 Polish 2022-04-12 21:58:08 +01:00
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
2022-04-12 21:28:21 +02:00
Andy Wilkinson
44211564a4 Adapt to latest changes in Micrometer 2.0 snapshots
See gh-29666
2022-04-12 15:25:43 +01:00
Andy Wilkinson
6580f6c742 Align with latest changes in Micrometer 1.9 snapshots
See gh-30605
2022-04-12 11:47:34 +01:00
Andy Wilkinson
b871a1e457 Merge branch '2.7.x' 2022-04-12 08:51:47 +01:00
Andy Wilkinson
48f8021d88 Migrate @Local*Port annotations to spring-boot-test
Closes gh-29589
2022-04-12 08:48:43 +01:00
Andy Wilkinson
24e6417ddc Adapt to latest changes in Spring for GraphQL snapshots
See gh-30463
2022-03-29 16:50:12 +01:00
Brian Clozel
93817c708e Switch to Spring for GraphQL 1.0.0-SNAPSHOT
See gh-30463
2022-03-29 16:37:21 +02:00
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
2022-03-28 08:24:03 +02:00
Andy Wilkinson
5d09260870 Reinstate support for REST Assured
Closes gh-29543
Closes gh-30426
2022-03-25 10:12:42 +00:00
Stephane Nicoll
7da035b12d Merge branch '2.7.x' 2022-03-21 13:35:21 +01:00
Stephane Nicoll
7f52820e17 Update copyright year of changed files
See gh-30236
2022-03-21 13:30:46 +01:00
izeye
455e0bfa08 Polish StandardAnnotationCustomizableTypeExcludeFilters
See gh-30236
2022-03-21 13:30:07 +01:00
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
2022-03-21 11:12:59 +01:00
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
2022-03-18 12:35:19 +00:00