Commit Graph

568 Commits

Author SHA1 Message Date
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
2022-03-08 17:54:54 +01:00
Andy Wilkinson 5f2ae858b6 Merge branch '2.6.x' into 2.7.x
Closes gh-29910
2022-02-19 11:36:20 +00:00
Andy Wilkinson 95d67a985b Merge branch 'gh-29639' into 2.6.x
Closes gh-29909
2022-02-19 11:36:09 +00:00
Andy Wilkinson 5baa71f1b3 Allow beans with circular dependencies to be spied
Closes gh-29639
2022-02-19 11:35:58 +00:00
Andy Wilkinson 9a3f053034 Allow beans with circular dependencies to be spied
Closes gh-29639
2022-02-19 11:35:28 +00:00
Stephane Nicoll 067af65152 Fix formatting violations 2022-02-01 13:52:06 +01:00
Stephane Nicoll f812b33cbd Merge branch '2.6.x' into 2.7.x
Closes gh-29613
2022-02-01 11:07:31 +01:00
Stephane Nicoll 136b5959c3 Merge branch '2.5.x' into 2.6.x
Closes gh-29612
2022-02-01 10:59:08 +01:00
Stephane Nicoll 7f17f819a6 Polish "Enforce use of BDDMockito"
See gh-29178
2022-02-01 10:03:18 +01:00
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
2022-02-01 09:37:15 +01:00
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
2022-01-14 17:35:58 -08:00
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
2022-01-14 16:30:28 -08:00
Phillip Webb 9278a502c7 Merge branch '2.6.x' into 2.7.x 2022-01-14 13:57:25 -08:00
Phillip Webb 14fe9347b5 Merge branch '2.5.x' into 2.6.x 2022-01-14 13:56:47 -08:00
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
2022-01-14 13:47:22 -08:00
Stephane Nicoll 1bf13371c4 Merge branch '2.6.x' into 2.7.x
Closes gh-29378
2022-01-13 08:45:59 +01:00
Stephane Nicoll 8384019a41 Merge branch '2.5.x' into 2.6.x
Closes gh-29377
2022-01-13 08:45:48 +01:00
Stephane Nicoll 5f03ace40f Update copyright year of changed file
See gh-29112
2022-01-13 08:43:03 +01:00
izeye 74c522c745 Polish SpringBootContextLoaderTests
See gh-29112
2022-01-13 08:42:36 +01:00
Phillip Webb fee45e056a Merge branch '2.6.x' into 2.7.x
Closes gh-29375
2022-01-12 15:32:34 -08:00
Phillip Webb 91d2b1b988 Merge branch '2.5.x' into 2.6.x
Closes gh-29374
2022-01-12 15:32:00 -08:00
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
2022-01-12 14:21:52 -08:00
Phillip Webb b25e92f3e2 Merge branch '2.6.x' into 2.7.x 2022-01-04 12:24:34 -08:00
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
2022-01-03 17:36:57 +01:00
Stephane Nicoll 7a016a68f1 Upgrade to Selenium HtmlUnit 3.56.0
Closes gh-29238
2022-01-03 11:05:56 +01:00
Stephane Nicoll a2bed160f0 Upgrade to Selenium 4.1.1
Closes gh-29237
2022-01-03 11:04:53 +01:00
Stephane Nicoll 2b140950e3 Merge branch '2.6.x' into 2.7.x
Closes gh-29176
2021-12-27 12:02:57 +01:00
izeye 7fbb5749d1 Polish
See gh-29157
2021-12-27 12:01:50 +01:00
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
2021-12-21 08:34:06 +01:00
Phillip Webb f3bcbca841 Update copyright year of changed files 2021-12-16 13:05:17 -08:00
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
2021-11-24 10:29:35 -08:00
Phillip Webb beb68671bb Update copyright year of changed files 2021-11-24 10:23:32 -08:00
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
2021-11-24 10:17:02 -08:00
Madhura Bhave 6b79d2860f Merge branch '2.5.x' into main
Closes gh-28724
2021-11-17 16:41:23 -08:00
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
2021-11-17 16:40:53 -08:00
Andy Wilkinson 2a342ef416 Merge branch '2.5.x'
Closes gh-28662
2021-11-12 23:40:35 +00:00
Andy Wilkinson 5e4a502b2d Merge branch '2.4.x' into 2.5.x
Closes gh-28661
2021-11-12 20:31:25 +00:00
Andy Wilkinson 2cec3971d7 Prohibit unwanted dependencies in all modules not just starters
Closes gh-28658
2021-11-12 20:04:35 +00:00
Phillip Webb d8629fc63d Merge branch '2.5.x' 2021-11-08 13:14:52 -08:00
Phillip Webb ddd38a7ac3 Merge branch '2.4.x' into 2.5.x 2021-11-08 13:14:35 -08:00
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.
2021-11-08 13:13:04 -08:00
Phillip Webb 0a6991e744 Merge branch '2.5.x'
Closes gh-28566
2021-11-08 13:11:03 -08:00
Phillip Webb 6406ee5609 Merge branch '2.4.x' into 2.5.x
Closes gh-28565
2021-11-08 13:08:52 -08:00
Phillip Webb 8a14e1e2e9 Polish 'Ignore JUnit annotations when caching test contexts'
See gh-28563
2021-11-08 13:07:26 -08:00
Loïc Ledoyen 23876d8a32 Ignore JUnit annotations when caching test contexts
Update `ImportsContextCustomizer` to ignore JUnit annotations.

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

Closes gh-25808
2021-03-29 15:44:58 -07:00
Phillip Webb 11a94ee6f0 Merge branch '2.3.x' into 2.4.x 2021-03-23 12:52:07 -07:00
Phillip Webb 82127fdaa3 Update copyright year of changed files 2021-03-23 12:50:49 -07:00
Andy Wilkinson 2f95c1e2c8 Merge branch '2.3.x' into 2.4.x
Closes gh-25513
2021-03-05 14:16:07 +00:00
Andy Wilkinson 22b73f3020 Polish "Improve documentaion of Mockito test execution listeners"
See gh-25375
2021-03-05 14:14:36 +00:00
dreis2211 1ccd8dae8a Allow the project to be built with Java 16
See gh-25171
2021-03-04 18:54:56 +00:00
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
2021-02-04 10:59:00 +00:00
Andy Wilkinson 788a42d694 Merge branch '2.3.x' into 2.4.x
See gh-25076
2021-02-02 15:12:27 +00:00
Andy Wilkinson 67479b6380 Add junit-platform-launcher dependency by convention
Closes gh-25074
2021-02-02 13:03:21 +00:00
Phillip Webb d06407ec0a Update copyright year of changed files 2021-01-26 19:06:14 -08:00