Commit Graph

644 Commits (1621cfd578479eb1e5c259272dc433d11b48b6b2)

Author SHA1 Message Date
Brian Clozel 1c71567c94 Support "application/graphql+json" media type in GraphQL HTTP mapping
As seen in spring-projects/spring-graphql#108, the GraphQL HTTP spec now
requires the "application/graphql+json" media type and accepts
"application/json" for backwards compatibility.

This commit updates the `RouterFunction` definition for the GraphQL HTTP
endpoints so that both types are accepted.

Closes gh-30407
3 years ago
Andy Wilkinson e3b2fb5deb Merge branch '2.7.x' 3 years ago
Andy Wilkinson bcb71dfd1b Merge branch '2.6.x' into 2.7.x
Closes gh-30383
3 years ago
Andy Wilkinson 1244c429a6 Merge branch '2.5.x' into 2.6.x
Closes gh-30382
3 years ago
Andy Wilkinson e927cd71dd Clarify type matching performed by MockBean and SpyBean
Closes gh-28656
3 years ago
Andy Wilkinson dd812a3f76 Upgrade to Groovy 4.0.1
Closes gh-30279
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
Andy Wilkinson 3f489a374c Merge branch '2.7.x' 3 years ago
Andy Wilkinson 5f2ae858b6 Merge branch '2.6.x' into 2.7.x
Closes gh-29910
3 years ago
Andy Wilkinson 95d67a985b Merge branch 'gh-29639' into 2.6.x
Closes gh-29909
3 years ago
Andy Wilkinson 5baa71f1b3 Allow beans with circular dependencies to be spied
Closes gh-29639
3 years ago
Andy Wilkinson 9a3f053034 Allow beans with circular dependencies to be spied
Closes gh-29639
3 years ago
Phillip Webb ff4b92a3ba Update copyright year of changed files 3 years ago
Phillip Webb a282f912e6 Organize imports
Organize imports according to updated checkstyle rules.
3 years ago
Stephane Nicoll b403877cc1 Merge branch '2.7.x' 3 years ago
Stephane Nicoll 067af65152 Fix formatting violations 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 de3b9a4910 Remove code deprecated for removal in 2.x
Closes gh-29482
3 years ago
Stephane Nicoll 4d03f89a55 Harmonize dependency upgrades with Spring Boot 2.7.0-M1
Closes gh-29476
3 years ago
Phillip Webb 32e8b30c36 Merge branch '2.7.x'
Closes gh-29408
3 years ago
Phillip Webb 9764b3eba0 Change getEnvironment() to return null by default
Update the `SpringBootContextLoader.getEnvironment()` method so that it
returns `null` rather than a new `StandardEnvironment`.

Closes gh-29405
3 years ago
Phillip Webb 05a1ef233a Merge branch '2.7.x'
Closes gh-29407
3 years ago
Phillip Webb c84d3c14fb Allow test property sources to override command line args
Refine `SpringBootContextLoader` logic so that inline test properties
are always added above command line arguments.

Closes gh-29404
3 years ago
Phillip Webb cb97aff1e7 Merge branch '2.7.x' 3 years ago
Phillip Webb 9278a502c7 Merge branch '2.6.x' into 2.7.x 3 years ago
Phillip Webb 14fe9347b5 Merge branch '2.5.x' into 2.6.x 3 years ago
Phillip Webb 3f7bf7d34f Modify SpringApplication Environment rather than setting it
Update `SpringBootContextLoader` so that when possible the
`SpringApplication` remains in control of creating the `Environment`
instance.

Prior to this commit, we would always create the `Environment` in the
`SpringBootContextLoader` and then call `setEnvironment` on the
`SpringApplication`. This meant that the `ApplicationEnvironment`
classes were not used and that `isCustomEnvironment` was set to `true`
so no conversion was applied.

With the updated code, an `ApplicationListener` is used to mutate the
`Environment` instance and add the required test property sources.

Fixes gh-29169
3 years ago
Stephane Nicoll 4dac38cb63 Merge branch '2.7.x' 3 years ago
Stephane Nicoll 1bf13371c4 Merge branch '2.6.x' into 2.7.x
Closes gh-29378
3 years ago
Stephane Nicoll 8384019a41 Merge branch '2.5.x' into 2.6.x
Closes gh-29377
3 years ago
Stephane Nicoll 5f03ace40f Update copyright year of changed file
See gh-29112
3 years ago
izeye 74c522c745 Polish SpringBootContextLoaderTests
See gh-29112
3 years ago
Phillip Webb 3d6840e715 Merge branch '2.7.x'
Closes gh-29376
3 years ago
Phillip Webb fee45e056a Merge branch '2.6.x' into 2.7.x
Closes gh-29375
3 years ago
Phillip Webb 91d2b1b988 Merge branch '2.5.x' into 2.6.x
Closes gh-29374
3 years ago
Phillip Webb eb6b48fff0 Use side-effect free environment with tests rather than converting
Refine the logic introduced in 64270eca to use a side-effect free
Environment implementation rather than converting the Environment early.

Early conversion can cause condition evaluation issues if
`src/test/resources/application.properties` files are bound to the
`SpringApplication`. Specifically the `spring.main.web-application-type`
property can change the `Environment` type which must happen before
conditions are evaluated.

Fixes gh-29169
3 years ago
Phillip Webb 06398eabed Merge branch '2.7.x' 3 years ago
Phillip Webb b25e92f3e2 Merge branch '2.6.x' into 2.7.x 3 years ago
Phillip Webb 760dcffd8b Merge branch '2.7.x' 3 years ago
Brian Clozel 0d616b8924 Fix WebGraphQlTester auto-registration for SpringBootTest
Prior to this commit, the `GraphQlTesterContextCustomizer` would
register a `WebGraphQlTester` instance as a `GraphQlTester` bean., only
exposing the `GraphQlTester` type. This is not in line with the
documentation and also does not register the bean definition with the
most specific type.
With this issue, a `@SpringBootTest` integration test will not be
injected with a `WebGraphQlTester` if it asks one.

This commit ensures that the `WebGraphQlTester` is registered as such
and that all related classes are renamed as a result.

Fixes gh-29250
3 years ago
Stephane Nicoll 7a016a68f1 Upgrade to Selenium HtmlUnit 3.56.0
Closes gh-29238
3 years ago
Stephane Nicoll a2bed160f0 Upgrade to Selenium 4.1.1
Closes gh-29237
3 years ago
Stephane Nicoll 09486b8fc7 Merge branch '2.7.x' 3 years ago
Stephane Nicoll 2b140950e3 Merge branch '2.6.x' into 2.7.x
Closes gh-29176
3 years ago
izeye 7fbb5749d1 Polish
See gh-29157
3 years ago
Brian Clozel f61c87c3a7 Revert "Merge branch '2.7.x'"
This reverts commit f0677a119c, reversing
changes made to 938d58f32c.
3 years ago
Brian Clozel f0677a119c Merge branch '2.7.x' 3 years ago
Brian Clozel c0707e4f5b Auto-configure GraphQlTester
This commit adds the required infrastructure to auto-configure a
`GraphQlTester` or `WebGraphQlTester` in Spring Boot tests.
Specific annotations like `AutoConfigureGraphQlTester` and
`AutoConfigureWebGraphQlTester` will contribute pre-configured beans for
testing a GraphQL with the tester.

This also ships a `ContextCustomize` for contributing a `GraphQlTester`
in the case of a full `@SpringBootTest` integration test against a live
server.

See gh-29140
3 years ago
Phillip Webb f3bcbca841 Update copyright year of changed files 3 years ago
Andy Wilkinson fe7b13ec46 Upgrade to Spring Framework 6 and Jakarta EE 9
Closes gh-28619
Closes gh-28620
Closes gh-28621
Closes gh-28622
Closes gh-28623
Closes gh-28624
Closes gh-28625
Closes gh-28626
Closes gh-28627
Closes gh-28628
Closes gh-28629
Closes gh-28630
Closes gh-28631
Closes gh-28632
Closes gh-28633
Closes gh-28634
Closes gh-28635
Closes gh-28636
Closes gh-28638
Closes gh-28639
Closes gh-28640
Closes gh-28644
Closes gh-28645
Closes gh-28650
Closes gh-28711
Closes gh-28866
Closes gh-28867
Closes gh-28868
Closes gh-28872

See gh-28641
See gh-28642
See gh-28643
See gh-28646
See gh-28647
See gh-28648
See gh-28649
See gh-28721
See gh-28869
See gh-28871
3 years ago
Andy Wilkinson 8bf2ffd93c Drop support for Jersey until jersey-spring6 is available
Closes gh-28808
3 years ago
Andy Wilkinson 5944041f2a Switch to Yasson for JSON-B testing
Closes gh-28615
3 years ago
Madhura Bhave 27eb992252 Fix property source ordering in SpringBootTest
Update `SpringBootContextLoader` so that the active profiles
property source has a unique name. Prior to this commit, the
default name 'test' was used which could cause ordering issues
if other `@PropertySource` values were added to it later.

Closes gh-28804
3 years ago
Phillip Webb beb68671bb Update copyright year of changed files 3 years ago
Madhura Bhave 49e408828c Fix property source ordering in SpringBootTest
Update `SpringBootContextLoader` so that the active profiles
property source has a unique name. Prior to this commit, the
default name 'test' was used which could cause ordering issues
if other `@PropertySource` values were added to it later.

Fixes gh-28776
3 years ago
Madhura Bhave 6b79d2860f Merge branch '2.5.x' into main
Closes gh-28724
3 years ago
Madhura Bhave 64270eca51 Convert environment used by SpringBootTestContextLoader
This commit aligns `SpringBootTest`s to also use `ApplicationEnvironment`
instead of `StandardEnvironment`. This prevents the side-effect of active
profiles from `@ActiveProfiles` from being added to the environment when
doGetActiveProfiles is called. In this case, calling `addActiveProfiles()`
in the environment post processor would result in `@ActiveProfiles` being
added to the environment first, resulting in the wrong order.

The additional call to `setActiveProfiles()` is also not necessary when using
ApplicationEnvironment because that call was put in place to prevent the side-effect
which `ApplicationEnvironment` does not have.

Fixes gh-28530
3 years ago
Andy Wilkinson 2a342ef416 Merge branch '2.5.x'
Closes gh-28662
3 years ago
Andy Wilkinson 5e4a502b2d Merge branch '2.4.x' into 2.5.x
Closes gh-28661
3 years ago
Andy Wilkinson 2cec3971d7 Prohibit unwanted dependencies in all modules not just starters
Closes gh-28658
3 years ago
Phillip Webb d8629fc63d Merge branch '2.5.x' 3 years ago
Phillip Webb ddd38a7ac3 Merge branch '2.4.x' into 2.5.x 3 years ago
Phillip Webb 75bf430eb1 Polish ImportsContextCustomizerTests
Update the test classes to include an `@Import` annotation. Without this
the tests would not fail even if the filter is missing.
3 years ago
Phillip Webb 0a6991e744 Merge branch '2.5.x'
Closes gh-28566
3 years ago
Phillip Webb 6406ee5609 Merge branch '2.4.x' into 2.5.x
Closes gh-28565
3 years ago
Phillip Webb 8a14e1e2e9 Polish 'Ignore JUnit annotations when caching test contexts'
See gh-28563
3 years ago
Loïc Ledoyen 23876d8a32 Ignore JUnit annotations when caching test contexts
Update `ImportsContextCustomizer` to ignore JUnit annotations.

See gh-28563
3 years ago
Stephane Nicoll c05223d9c8 Merge branch '2.5.x'
Closes gh-28545
3 years ago
Stephane Nicoll 4304eea319 Polish contribution
See gh-28531
3 years ago
dreis2211 7d594aa301 Avoid duplicate AOP proxy class definition with FilteredClassLoader
See gh-28531
3 years ago
Stephane Nicoll bf88405121 Flag BeanDefinitionRegistryPostProcessor beans with role infrastructure
Closes gh-28540
3 years ago
Stephane Nicoll fbe614a61b Fix bean type visibility
See gh-28437
3 years ago
Stephane Nicoll 2be0161f9a Fix bean type visibility
See gh-28437
3 years ago
Andy Wilkinson 84b553a8ca Upgrade to Jackson Bom 2.13.0
Closes gh-28298
3 years ago
Leo Li 1770f065a5 Polish
See gh-28239
3 years ago
Andy Wilkinson 1a505964ee Merge branch '2.5.x'
Closes gh-28207
3 years ago
Andy Wilkinson 1931104d13 Merge branch '2.4.x' into 2.5.x
Closes gh-28206
3 years ago
Andy Wilkinson 9c9fbf400e Upgrade to Spring Java Format 0.0.29
Closes gh-28205
3 years ago
Andy Wilkinson 575d83737a Merge branch '2.5.x'
Closes gh-27799
3 years ago
Andy Wilkinson e409489859 Merge branch '2.4.x' into 2.5.x
Closes gh-27798
3 years ago
Andy Wilkinson f8ef90813f Allow @MockBean to be used with Framework's @Repeat
Fixes gh-27693
3 years ago
Andy Wilkinson fd2fbcb3c6 Merge branch '2.5.x'
Closes gh-27758
3 years ago
Andy Wilkinson 6d8ba3e8b1 Merge branch '2.4.x' into 2.5.x
Closes gh-27757
3 years ago
Andy Wilkinson ffbd28b60a Polish "Polish access modifiers for test classes"
See gh-27736
3 years ago
izeye 8a425dedfd Polish access modifiers for test classes
See gh-27736
3 years ago
Andy Wilkinson 01e741d703 Prohibit circular references by default
Closes gh-27652
3 years ago
Andy Wilkinson 228e4e3bc8 Make it easier to add new config options to ApplicationContextRunners
Closes gh-27690
3 years ago
Andy Wilkinson e30bf0e3e5 Merge branch '2.5.x'
Closes gh-27528
3 years ago
Andy Wilkinson 43d623e696 Merge branch '2.4.x' into 2.5.x
Closes gh-27527
3 years ago
Andy Wilkinson 7eb5f35f2f Make WebTestClient creation back off when no HTTP client available
Fixes gh-27520
3 years ago
Andy Wilkinson 355226c21e Merge branch '2.5.x'
Closes gh-27474
3 years ago
Andy Wilkinson eaca9c7a83 Merge branch '2.4.x' into 2.5.x
Closes gh-27473
3 years ago
Andy Wilkinson ee07d6c3ca Increase response timeout for server-bound WebTestClients
Closes gh-27472
3 years ago
Andy Wilkinson 3e0baf1bfd Merge branch '2.5.x'
Closes gh-27353
3 years ago
Andy Wilkinson c8c784bd5c Allow @SpyBean to be used to spy on a Spring Data repository
Fixes gh-7033
3 years ago
Stephane Nicoll dc5acb0019 Remove deprecated code flagged for removal
Closes gh-27303
3 years ago
Stephane Nicoll 9e46061aa6 Allow to chain ContextConsumer implementations
Closes gh-26723
3 years ago
Phillip Webb 4d62e47c5d Merge branch '2.3.x' into 2.4.x 4 years ago
Phillip Webb 9e1c78da99 Update copyright year of changed files 4 years ago
Andy Wilkinson e317079446 Merge branch '2.4.x'
Closes gh-26524
4 years ago
Andy Wilkinson 49d362fd7f Merge branch '2.3.x' into 2.4.x
Closes gh-26523
4 years ago
weixsun 7f445630e4 Remove unnecessary semicolon
See gh-26446
4 years ago
Andy Wilkinson 05a64ecb2c Merge branch '2.4.x'
Closes gh-26522
4 years ago
Andy Wilkinson 2a2c68f8f2 Merge branch '2.3.x' into 2.4.x
Closes gh-26521
4 years ago
Andy Wilkinson be807bab12 Polish "Improve documentation of TestRestTemplate's fault tolerance"
See gh-26227
4 years ago
Carlos Rafael de Oliveira Carneiro a6fa8addb9 Improve documentation of TestRestTemplate's fault tolerance
See gh-26227
4 years ago
Stephane Nicoll d3c817b7ba Polish "Remove unnecessary throws declaration in tests"
See gh-26441
4 years ago
weixsun 8a2be288a3 Remove unnecessary throws declaration in tests
See gh-26441
4 years ago
Stephane Nicoll 691bbcfdfd Update copyright year of changed files
See gh-26448
4 years ago
weixsun d115361980 Remove redundant suppression
See gh-26448
4 years ago
Phillip Webb a28a3ae090 Merge branch '2.3.x' into 2.4.x 4 years ago
Phillip Webb 363f5829d1 Merge branch '2.3.x' into 2.4.x
Closes gh-25825
4 years ago
Phillip Webb 26dd1b9a26 Update deprecations with for removal targets
Update all deprecation tags to include a removal target.

Closes gh-25808
4 years ago
Phillip Webb 11a94ee6f0 Merge branch '2.3.x' into 2.4.x 4 years ago
Phillip Webb 82127fdaa3 Update copyright year of changed files 4 years ago
Andy Wilkinson 2f95c1e2c8 Merge branch '2.3.x' into 2.4.x
Closes gh-25513
4 years ago
Andy Wilkinson 22b73f3020 Polish "Improve documentaion of Mockito test execution listeners"
See gh-25375
4 years ago
dreis2211 1ccd8dae8a Allow the project to be built with Java 16
See gh-25171
4 years ago
Andy Wilkinson 297e3079d0 Fix handling of UriTemplateRequestEntity in TestRestTemplate
A change [1] in Spring Framework 5.3 means that getUrl() on a
RequestEntity will throw an UnsupportedOperationException if the
entity was created using a template.

This commit updates TestRestTemplate to check for instances of
UriTemplateRequestEntity and to resolve the URI using the
entity's UriTemplateHandler instead of calling getUrl() directly.

Fixes gh-25097

[1] a0f4d81db7
4 years ago
Andy Wilkinson 788a42d694 Merge branch '2.3.x' into 2.4.x
See gh-25076
4 years ago
Andy Wilkinson 67479b6380 Add junit-platform-launcher dependency by convention
Closes gh-25074
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
Madhura Bhave 920136d908 Merge branch '2.3.x' into 2.4.x
Closes gh-24678
4 years ago
Madhura Bhave 73a2a4b383 Consider context-path for WebTestClient baseUrl
Fixes gh-24168
4 years ago
dreis2211 fb207f73e7 Remove deprecated SpringBootContextLoader#getArgs()
See gh-24550
4 years ago
Phillip Webb d6890e39a7 Merge branch '2.3.x' into 2.4.x
Closes gh-24536
4 years ago
dreis2211 0ec603cdad Avoid duplicates in MergedContextConfiguration
Remove duplicate config attribute classes by using a `Set` rather
than a `List` in the `SpringBootTestContextBootstrapper`.

See gh-24532
4 years ago
Phillip Webb 72d36e0c07 Update copyright year of changed files 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 f248cfe79c Polish "Check that WebClient is available"
See gh-24152
4 years ago
Tobias Gesellchen f6255cc691 Check that WebClient is available
This commit reinstanties the isWeBClientPresent() check so that
WebTestClientContextCustomizer is only added if a web client is
available.

See gh-24152
4 years ago
Andy Wilkinson d41e739f8c Merge branch '2.3.x'
Closes gh-24013
4 years ago
Andy Wilkinson dc86e8ce30 Merge branch '2.2.x' into 2.3.x
Closes gh-24012
4 years ago
Andy Wilkinson 6548ca4c11 Implement equals and hashCode in TestTypeExcludeFilter
Fixes gh-23978
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 d9084eab67 Provide Mockito with a MockResolver that removes Spring-created proxies 4 years ago
Andy Wilkinson 6b437ece54 Inherit enclosing class's configuration in nested tests
Fixes gh-12470
4 years ago
Phillip Webb e790828e19 Allow TestPropertyValues.of to take a Map source
Extend the API of `TestPropertyValues` so that it can be constructed
from an existing `Map` or a `Stream` and mapping `Function`.

Closes gh-23685
4 years ago
Andy Wilkinson 2d8528d5bd Adapt to deprecation of StringUtils.isEmpty(Object)
See gh-23774
4 years ago
Andy Wilkinson 98914b65bc Merge branch '2.3.x'
Closes gh-23672
4 years ago
Andy Wilkinson a9a32f39b5 Merge branch '2.2.x' into 2.3.x
Closes gh-23671
4 years ago
Andy Wilkinson 667ccdae84 Simplify temp directory creation and improve diagnostics
Closes gh-23622
4 years ago