Prior to this change, the reference docs would point to "spring-webflux"
as the required additional testing dependency to get
`WebGraphQlTester` support in Spring Boot tests.
While this is enough for `WebEnvironment.MOCK` tests, we need an actual
HTTP client for `WebEnvironment.RANDOM_PORT` tests. This commit amends
this part of the documentation to recommend the
"spring-boot-starter-webflux" dependency in all cases.
Fixes gh-29250
Previously, when writing a repackaged jar, an attempt to write all of
an entry's parent directories would always be made, irrespective of
whether or not the entry itself had already been written. This was
inefficient as, due to the way that the jar is written, once an entry
itself has been written, we know that all of its parent directories
will also have been written.
This commit updates the jar writer so that no attempt is made to
write parent directory entries if the entry itself has already been
written.
Fixes gh-29175
Update `IncludeExcludeGroupMemberPredicate` so that exclusion rules are
also applied to child contributors. The restores the behavior of Spring
Boot 2.5.x where `management.endpoint.health.group.mygroup.exclude=db`
would exclude 'db/one', 'db/two' etc.
Fixes gh-29251
Prior to this commit, the GraphQL schema assembled by the
auto-configuration would provide no option for disabling the field
introspection.
While this feature is essential for many tools (including GraphiQL),
some prefer disabling it because this allows clients to gather
information about types and schema easily. This commit introduces a new
`spring.graphql.schema.introspection.enabled` configuration property.
Because potential attackers can still gather this information and this
feature is a core concern in the GraphQL spec, introspection is enabled
by default for Spring Boot applications.
Closes gh-29248
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