H2 2.x contains several important changes such as moving the primary key
generation mechanism to a sequence-based identifier. This commit fixes
a number of tests that were failing.
Closes gh-29651
Co-authored-by: Andy Wilkinson <wilkinsona@vmware.com>
This commit adds the `@GraphQlTest` annotation which brings a new type
of sliced test for GraphQL applications. This considers all the required
infrastructure brought by `@AutoConfigureGraphQl`, but also brings
application components like `@Controller` beans and
`RuntimeWiringConfigurer`.
With this type of test, we'll only initialize a minimal setup for
testing a set of Controllers, without involving any transport-related
component.
See gh-29140
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
This commit adds the `@AutoConfigureGraphQl` test annotation. It can be
used to import the relevant auto-configurations when testing a GraphQL
application.
Currently, it will get the main `GraphQlAutoConfiguration`, but also
what's required for configuring codecs and validation support.
See gh-29140
This commit makes it clearer that, when using
@AutoConfigureTestEntityManager outside of @DataJpaTest, any tests using
the test entity manager must be @Transactional.
See gh-28086
As of Spring Framework 5.3, `WebTestClient` can now be configured on top
of `MockMvc` for testing Spring MVC applications in a mock environment.
Prior to this commit, `WebTestClient` would be already configured for
WebFlux mock setups with `@AutoConfigureWebTestClient` or live servers
(for both MVC and WebFlux apps).
This commit enhances the `@AutoConfigureWebMvc` support so that a
`WebTestClient` instance is auto-configured if the spring-webflux
dependency is present on the classpath.
Closes gh-23067