Commit Graph

566 Commits

Author SHA1 Message Date
Phillip Webb
e8f9386594 Add Runnable variant of TestPropertyValues.applyToSystemProperties
Closes gh-31303
2022-06-08 19:24:45 -07:00
Phillip Webb
11184aae8d Allow ApplicationContextRunner to return non-refreshed context
Add `AbstractApplicationContextRunner.prepare` which can be used to
test an `ApplicationContext` that has been prepared but not refreshed.

Closes gh-31302
2022-06-08 19:02:12 -07:00
Andy Wilkinson
62f40f2c38 Apply initializers and bean registrations before registering classes
Previously, classes were registered first which meant that their
conditions were evaluated before any initializers and bean
registrations were applied. This prevented the bean registrations and
initializers from affecting the outcome of the condition evaluation.

This commit inverts the ordering so that classes are not registerd,
and therefore their conditions are not evaluated, until after the
bean registrations and initializers have been applied.

Closes gh-31280
2022-06-08 18:45:54 +01:00
Andy Wilkinson
4bb5ba2bd0 Merge branch '2.7.x' 2022-05-26 18:26:52 +01:00
Andy Wilkinson
935d1264e0 Merge branch '2.6.x' into 2.7.x 2022-05-26 18:13:08 +01:00
Andy Wilkinson
3d203d0215 Polish 2022-05-26 17:30:39 +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
Andy Wilkinson
b3a4982f31 Merge branch '2.6.x' into 2.7.x
Closes gh-31174
2022-05-26 14:01:23 +01:00
Andy Wilkinson
cbf42dea14 Update deprecation messages to change removal version from 2.8 to 3.0
Closes gh-30903
2022-05-26 13:59:03 +01:00
Brian Clozel
5352c441e1 Do not use application/graphql as default MIME type
As seen in spring-projects/spring-graphql#375, Spring Boot should also
use "application/json" as the default MIME type but remain compatible
with "application/graphql+json" still if clients POST content with this
type or explicitly accept it.

Closes gh-30860
2022-05-04 13:05:45 +02:00
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