Commit Graph

1250 Commits

Author SHA1 Message Date
Sebastien Deleuze
9e873af6ab Remove infix qualifier from ResultActionsDsl methods
The infix form limits the extensibility of the API and
prevents calling `andReturn()`.

See gh-1951
2019-03-04 19:17:21 +01:00
Sebastien Deleuze
0c332286f1 Add MockMvc Kotlin DSL
This commit introduces a `MockMvc` Kotlin DSL via a set of
extensions like `MockMvc.get` or `MockMvc.request`
that provide a Kotlin idiomatic and easily discoverable
API while staying close to the original Java API design.

Closes gh-1951
2019-03-04 18:00:49 +01:00
Sam Brannen
70cf597484 Remove obsolete overview.html files 2019-03-04 14:07:48 +01:00
Sam Brannen
4112ca7da8 Separate async/sync TestContext event listeners in tests
See gh-18490
2019-03-03 21:30:49 +01:00
Sam Brannen
b5fb7437c9 Test exception handling for TestContext event annotations
This commit introduces tests for both synchronous and asynchronous
exception handling for TestContext event annotations.

See gh-18490
2019-03-03 16:36:00 +01:00
Sam Brannen
e272e2e151 Support conditional processing in TestContext event annotations
This commit introduces support for SpEL expressions for conditional
event processing in annotations such as @BeforeTestClass,
@BeforeTestMethod, etc.

This commit also introduces a new getTestContext() method in
TestContextEvent in order to improve the readability of such SpEL
expressions.

See gh-18490
2019-03-02 17:26:57 +01:00
Sam Brannen
f6d62eda8b Add missing @Nullable declarations to TestContext return values 2019-03-02 16:36:23 +01:00
Sam Brannen
8649061acc Polish Javadoc for TestContext 2019-03-02 16:25:23 +01:00
Sam Brannen
7d926a847d Polish tests for TestContext lifecycle events
See gh-18490
2019-03-01 21:26:37 +01:00
Sam Brannen
a16dd95ab7 Polishing 2019-03-01 20:39:25 +01:00
Sam Brannen
416346200f Polishing 2019-03-01 20:07:09 +01:00
Sam Brannen
297fd7629a Polishing 2019-03-01 19:34:13 +01:00
Sam Brannen
dd1330d05e Fix CheckStyle violations
See gh-18490
2019-03-01 17:40:32 +01:00
Sam Brannen
2d6624de71 Polish support for publishing TestContext lifecycle events
See gh-18490
2019-03-01 15:25:35 +01:00
Frank Scheffler
34fee867d2 Provide support for publishing TestContext lifecycle events
This commit introduces a new EventPublishingTestExecutionListener for
publishing events to the test ApplicationContext. These may be consumed
by @EventListener annotated methods to react to the TestContext
lifecycle. The listener is not registered by default.

Closes gh-18490
2019-03-01 15:22:54 +01:00
Loïc Ledoyen
d77b36bf3b Open parameter autowiring utility for external use (#2060)
* Make AutowireUtils public and protect its current API
* Move ParameterAutowireUtils features to AutowireUtils

Closes gh-2060
2019-02-27 15:15:45 +01:00
Sam Brannen
a7770e7448 Remove ApplicationContext dependency from ParameterAutowireUtils
This commit is a prerequisite for gh-2060.
2019-02-26 15:22:25 +01:00
Juergen Hoeller
5c2f3079fd Sync between MockHttpServletResponse copies
See gh-22466
2019-02-25 23:14:37 +01:00
stsypanov
1c24dc1f27 Simplify String concatenation 2019-02-25 12:13:35 +01:00
Juergen Hoeller
783a7ca46b Merge branch '5.1.x' 2019-02-08 18:16:27 +01:00
Juergen Hoeller
ba0c48b933 Polishing 2019-02-08 18:02:28 +01:00
Juergen Hoeller
d25783329a Merge branch '5.1.x' 2019-02-07 16:01:14 +01:00
Juergen Hoeller
e9626779ee @Resource provides dependency descriptor for resolving beans by name
Closes gh-22359
2019-02-07 15:56:00 +01:00
Sebastien Deleuze
0b9522c84e Migrate Kotlin Mockito tests to Mockk
Closes gh-22345
2019-02-05 15:47:08 +01:00
Juergen Hoeller
7a7958f275 MockMvcResultMatchers.forwardedUrl argument declared as nullable
Issue: SPR-17623
2018-12-25 13:20:09 +01:00
Rossen Stoyanchev
38ae282c3b Update log category precision for all tests
Replace the full category capped at 36 chars with the class name only
and 1 char per package, e.g. org.apache.commons.Foo -> o.a.c.Foo
2018-12-12 11:40:33 -05:00
Rossen Stoyanchev
270099383b Add protected method in StandaloneMockMvcBuilder
To allow sub-classes to register additional MVC infrastructure.

Issue: SPR-17520
2018-12-12 11:40:33 -05:00
Juergen Hoeller
9efea7eb73 MockHttpServletRequest preserves original Accept-Language header value
Issue: SPR-17566
2018-12-04 22:07:43 +01:00
Juergen Hoeller
d5dab12909 NettyDataBufferFactory.join returns single-element buffer as-is
Issue: SPR-17560
2018-12-03 23:52:35 +01:00
Sam Brannen
58cde3c2e6 Avoid test compile-time dependency on junit-jupiter-engine
Issue: SPR-17533
2018-11-23 18:05:34 +01:00
Sam Brannen
aa7f69a5d1 Ensure that parameter resolution in SpringExtension is thread-safe
Prior to this commit, parallel execution of @BeforeEach and @AfterEach
methods that accepted @Autowired arguments would fail intermittently
due to a race condition in the internal implementation of the JDK's
java.lang.reflect.Executable.getParameters() method.

This commit addresses this issue by creating instances of
SynthesizingMethodParameter via
SynthesizingMethodParameter.forExecutable(Executable, int) instead of
SynthesizingMethodParameter.forParameter(Parameter), since the latter
looks up the parameter index by iterating over the array returned by
Executable.getParameters() (which is not thread-safe).

Issue: SPR-17533
2018-11-23 16:35:19 +01:00
Juergen Hoeller
ae8f680d2e Polishing 2018-11-22 18:21:56 +01:00
Rossen Stoyanchev
759013eb17 Consistent isEmpty check in WebTestClient
Issue: SPR-17522
2018-11-20 23:02:53 -05:00
Juergen Hoeller
8c7579eba8 Polishing 2018-11-20 22:06:44 +01:00
Stephane Nicoll
7b6f2f8fb3 Polish contribution
Closes gh-2019
2018-11-19 08:45:33 +01:00
Hanope
bfb49c7249 Fix typos
See gh-2019
2018-11-19 08:41:21 +01:00
Sam Brannen
b3aad549c9 Fix @since tag 2018-11-10 16:56:39 +01:00
Sam Brannen
865f1f692a Introduce tests for @Sql and @Transactional support in @Nested test classes
This commit was inspired by the following question on Stack Overflow.

https://stackoverflow.com/questions/53236807/spring-boot-testing-run-script-in-a-nested-test-sql-script-sql
2018-11-10 15:47:30 +01:00
Sam Brannen
93df24af16 Polishing 2018-11-10 15:47:29 +01:00
Rossen Stoyanchev
c2b55e60cd Fix failing test
After the fix #658c7f for lenient parsing of dates, the error message
raised uses an HttpHeaders-formatted date. As a result the test
verifying the error message fails in the beginning of the month between
1-9 because it's formatted slightly differently.
2018-11-01 15:27:39 -04:00
Sam Brannen
42a95b8f35 Fix typo and polish 2018-10-29 14:47:20 +01:00
Juergen Hoeller
93bb78ec23 Avoid private bean classes in integration tests (for CGLIB on JDK 11)
Issue: SPR-16391
2018-10-15 12:26:38 +02:00
Rossen Stoyanchev
ecd0d7f0f6 Complete initialization with bindToRouterFunction
Issue: SPR-17239
2018-10-12 17:11:35 -04:00
Rossen Stoyanchev
658c7f99d7 Lenient date parsing in HeadersResultMatchers
Rather than formatting the expected value, and be susceptible to
minor formatting differences (e.g. 01 vs 1 for day of month), parse the
actual header value leniently with HttpHeaders and compare time values.

Issue: SPR-17330
2018-10-12 15:41:42 -04:00
Rossen Stoyanchev
c5ca56bd50 Polish 2018-10-12 12:15:45 -04:00
Juergen Hoeller
bfc5ad890e MockHttpServletRequest resets InputStream/Reader on setContent
Issue: SPR-17373
2018-10-12 16:00:31 +02:00
Rossen Stoyanchev
8df0bc88d2 Improve access to raw content in WebTestClient
If the content has not been consumed, cause it to be produced, and
wait for a certain amount of time before giving up, so the raw content
can be made available. This can occur when:

1) In a mock server scenario the Flux representing the client request
content is passed directly to the mock server request, but is never
consumed because of an error before the body is read.

2) Test obtains FluxExchangeResult (e.g. for streaming) but instead of
consuming the Flux, it calls getResponseBodyContent() instead.

Issue: SPR-17363
2018-10-11 20:25:56 -04:00
Rossen Stoyanchev
c567e65eea WritetapConnector internal refactoring
Extract a common delegate class to share between the request and the
to wiretap a Publisher and record and buffer its data.

Preparation for SPR-17363.
2018-10-11 19:47:37 -04:00
Rossen Stoyanchev
050f44d75b Rename WebTestClientConnectorTests to match class name 2018-10-11 19:47:37 -04:00
Juergen Hoeller
efdbddd358 Full alignment of spring-test vs spring-web MockCookie variants
Issue: SPR-17321
2018-10-09 23:13:18 +02:00