Commit Graph

554 Commits

Author SHA1 Message Date
Andy Wilkinson
9658661bd4 Merge branch '2.7.x' 2022-04-14 14:53:40 +01:00
Andy Wilkinson
7789a18d23 Merge branch '2.6.x' into 2.7.x
Closes gh-30667
2022-04-14 14:51:22 +01:00
Andy Wilkinson
d4348279a7 Merge branch '2.5.x' into 2.6.x
Closes gh-30666
2022-04-14 14:51:09 +01:00
Andy Wilkinson
8f1b8622ba Ensure that webEnvironment=NONE creates non-web context
Previously, if spring.main.web-application-type was configured in
application.properties to servlet or reactive, setting
webEnvironment=NONE on @SpringBootTest would not work correctly and
a servlet or reactive web application context would be created
based on the value of spring.main.web-application-type.

This commit updates the test context bootstapper to set
spring.main.web-application-type to none when webEnvironment has been
set to none. This is done in the merged context configuration's
property source properties which are applied to the environment in a
high-precedence test property source that will override configuration
in application.properties.

Closes gh-29695
2022-04-14 14:44:30 +01:00
Andy Wilkinson
21ccd58f67 Merge branch '2.7.x' 2022-04-14 13:29:08 +01:00
Andy Wilkinson
4545d39603 Merge branch '2.6.x' into 2.7.x
Closes gh-30665
2022-04-14 13:28:39 +01:00
Andy Wilkinson
887fa4a13f Merge branch '2.5.x' into 2.6.x
Closes gh-30664
2022-04-14 12:40:29 +01:00
Andy Wilkinson
c8de843d85 Honor final web application type when creating context in tests
Previously, SpringBootContextLoader would configure its
SpringApplication with an ApplicationContextFactory that ignores
the WebApplicationType with which its called and instead returns a
hard-coded type of context based on the type of the
MergedContextConfiguration. This hard-coding would result in the
wrong type of context being used if a subsequent change was made to
the application's WebApplicationType, for example due to binding of
the spring.main.web-application-type configuration property.

This commit updates SpringBootContextLoader to configure
SpringApplication with an ApplicationContextFactory that takes the
WebApplicationType with which it is called into consideration.

Fixes gh-29170
2022-04-14 12:26:07 +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
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
2022-04-04 16:45:11 +02:00
Andy Wilkinson
e3b2fb5deb Merge branch '2.7.x' 2022-03-23 11:18:28 +00:00
Andy Wilkinson
bcb71dfd1b Merge branch '2.6.x' into 2.7.x
Closes gh-30383
2022-03-23 11:18:04 +00:00
Andy Wilkinson
1244c429a6 Merge branch '2.5.x' into 2.6.x
Closes gh-30382
2022-03-23 11:17:36 +00:00
Andy Wilkinson
e927cd71dd Clarify type matching performed by MockBean and SpyBean
Closes gh-28656
2022-03-23 11:17:07 +00:00
Andy Wilkinson
dd812a3f76 Upgrade to Groovy 4.0.1
Closes gh-30279
2022-03-18 12:38:41 +00:00
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
3f489a374c Merge branch '2.7.x' 2022-02-19 11:36:31 +00: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
Phillip Webb
ff4b92a3ba Update copyright year of changed files 2022-02-16 20:44:54 -08:00
Phillip Webb
a282f912e6 Organize imports
Organize imports according to updated checkstyle rules.
2022-02-02 19:16:13 -08:00
Stephane Nicoll
b403877cc1 Merge branch '2.7.x' 2022-02-01 13:52:17 +01:00
Stephane Nicoll
067af65152 Fix formatting violations 2022-02-01 13:52:06 +01:00
Stephane Nicoll
41fb9cf562 Merge branch '2.7.x' 2022-02-01 11:15:49 +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
Andy Wilkinson
de3b9a4910 Remove code deprecated for removal in 2.x
Closes gh-29482
2022-01-19 17:25:14 +00:00
Stephane Nicoll
4d03f89a55 Harmonize dependency upgrades with Spring Boot 2.7.0-M1
Closes gh-29476
2022-01-19 10:39:18 +01:00
Phillip Webb
32e8b30c36 Merge branch '2.7.x'
Closes gh-29408
2022-01-14 17:36:20 -08: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
05a1ef233a Merge branch '2.7.x'
Closes gh-29407
2022-01-14 16:33:20 -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
cb97aff1e7 Merge branch '2.7.x' 2022-01-14 13:57:35 -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
4dac38cb63 Merge branch '2.7.x' 2022-01-13 08:46:08 +01: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
3d6840e715 Merge branch '2.7.x'
Closes gh-29376
2022-01-12 15:32:51 -08: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