Commit Graph

70 Commits

Author SHA1 Message Date
Phillip Webb
6121208cbb Polish formatting 2016-12-19 12:47:03 -08:00
Phillip Webb
4b9cba351b Merge branch '1.4.x' into 1.5.x 2016-12-19 12:36:57 -08:00
Phillip Webb
bd74c3d327 Polish formatting 2016-12-19 12:25:09 -08:00
Eddú Meléndez
5a7624df7c Add support for property spring.test.database.replace
Closes gh-7229
2016-12-16 09:40:55 +01:00
Stephane Nicoll
d8d5950e99 Enable validation in AutoConfigureWebMvc
Closes gh-7582
2016-12-15 16:55:34 +01:00
Stephane Nicoll
80da80f930 Make sure that test data sources are unique 2016-11-29 18:07:36 +01:00
Stephane Nicoll
ba61faee5e Remove trailing char 2016-11-29 15:37:05 +01:00
Stephane Nicoll
b618c70e52 Add test slice for pure jdbc tests
This commit adds `@JdbcTest`, a new test slice for pure jdbc tests. It
provides the same basic features than `@DataJpaTest`.

Closes gh-6563
2016-11-29 14:54:15 +01:00
Phillip Webb
5ed00b3501 Merge branch '1.4.x' into 1.5.x 2016-11-28 15:27:07 -08:00
Phillip Webb
357d072a60 Polish 2016-11-28 15:14:46 -08:00
Stephane Nicoll
ca788a90e6 Merge branch '1.4.x' into 1.5.x 2016-11-24 15:31:40 +01:00
Stephane Nicoll
4bf645c615 AutoconfigureTestDatabase replace with a fresh database
Previously, two or more `@DataJpaTest` tests in the same test suite were
sharing the same in-memory database instance. This commit makes sure
that `TestDatabaseAutoConfiguration` creates a unique embedded database
for each test it operates on.

Closes gh-7473
2016-11-24 15:31:27 +01:00
Phillip Webb
dc237043b8 Merge branch '1.4.x' into 1.5.x 2016-11-22 15:48:52 -08:00
Phillip Webb
74670cb20f Allow WebDriver beans to define their own scope
Update `WebDriverScope` so that only `WebDriver` beans with no explicit
scope are moved.

Fixes gh-7454
2016-11-22 15:48:28 -08:00
Andy Wilkinson
b2a8be8bbe Merge branch '1.4.x' into 1.5.x 2016-11-21 13:40:11 +00:00
Andy Wilkinson
3423ca87b4 Ensure that RestClientTest can be used without Jackson on the class path
Closes gh-7431
2016-11-21 13:36:05 +00:00
Stephane Nicoll
318701daa7 Apply DispatcherServlet customizations to MockMvc
This commits makes sure that customizations on `DispatcherServlet` are
also applied to the `TestDispatcherServlet` that `MockMvc` is using
internally.

Closes gh-5891
2016-11-08 10:56:54 +01:00
Greg Potter
39d5881bf2 Respect 'primary' flag when replacing databases
Update TestDatabaseAutoConfiguration to ensure that the the `primary`
flag of the `BeanDefinition` is copied.

Closes gh-7217
2016-10-31 16:26:41 -07:00
Stephane Nicoll
a03ce0a9d1 Polish contribution
Add missing test

Closes gh-7193
2016-10-24 11:11:15 +02:00
Johnny Lim
a994b11a73 Polish 2016-09-18 23:38:21 -07:00
Phillip Webb
e239e64cb1 Only print MVC interactions when tests fail
Update `@AutoConfigureMockMvc` with a `printOnlyOnFailure` option which
allows errors to be printed only when tests fail. Defaults to `true`
meaning the logs are no longer cluttered with MVC results for passing
tests.

Fixes gh-6653
2016-09-18 23:37:46 -07:00
Phillip Webb
ac2609b585 Fix WebDriver lifecycle issues
Update WebDriver support to ensure that the `.quit()` method is called
after each test method runs and that a new WebDriver instance is
injected each time.

Support is provided by introducing a new `Scope` which is applied by
a ContextCustomizerFactory and reset by a TestExecutionListener.

Fixes gh-6641
2016-09-18 00:18:29 -07:00
Phillip Webb
2c621f4094 Fix @AutoConfigureTestDatabase imports
Update `@AutoConfigureTestDatabase` so that it always imports
`DataSourceAutoConfiguration`. Prior to this commit the annotation
could only be applied if something else also imported DataSource
auto-configuration.

Fixes gh-6897
2016-09-16 16:49:36 -07:00
Phillip Webb
3e19f8aa8d Relax TestEntityManager @ID restriction
Change TestEntityManager so that entities with an ID can be persisted.

Fixes gh-6546
2016-09-15 17:22:52 -07:00
Phillip Webb
25c4e261e9 Fix failing tests
See gh-6897
2016-09-15 17:16:26 -07:00
Phillip Webb
46815fc483 Fix potential @AutoConfigureTestDatabase NPE
Protect against the situation where no DataSource beans can be found
at all.

Fixes gh-6897
2016-09-15 16:06:56 -07:00
Phillip Webb
7134586310 Ensure test @PostConstructs are only called once
Rename AutoConfigureReportTestExecutionListener to
SpringBootDependencyInjectionTestExecutionListener and ensure that it
replaces any existing DependencyInjectionTestExecutionListener.

Prior to this commit the registration of two DependencyInjection
listeners would cause @PostConstruct methods on tests to be called
twice.

In order to allow the standard DependencyInjectionTestExecutionListener
to be removed a new DefaultTestExecutionListenersPostProcessor interface
has been introduced.

Fixes gh-6874
2016-09-14 22:03:07 -07:00
Phillip Webb
41a36c4d40 Prevent CastCastException when stripping root URI
Update RootUriRequestExpectationManager to only wrap requests when
they cannot be cast to MockClientHttpRequest. This prevents later
ClassCastExceptions from being thrown with @RestClientTests that
define expected body content.

Fixes gh-6845
2016-09-12 12:44:31 -07:00
Phillip Webb
41dc53f5dd Polish 2016-09-07 08:34:45 -07:00
Stephane Nicoll
52d7282f5e Auto-configure JdbcTemplate with DataJpaTest
This commit adds `JdbcTemplateAutoConfiguration` to the list of auto-
configurations that are applied with `DataJpaTest`. This effectively
allows to inject a `JdbcTemplate` in any `@DataJpaTest` test.

Closes gh-6802
2016-09-02 09:38:07 +02:00
Stephane Nicoll
2c61064d93 Fix property prefix
This commit fixes the prefix for the WebClient and WebDriver auto-config
so that it complies with the prefix set on `AutoconfigureWebMvc`

Closes gh-6727
2016-08-23 17:11:14 +02:00
Johnny Lim
524edaea51 Polish
Closes gh-6728
2016-08-23 15:13:33 +02:00
Andy Wilkinson
5f7e966955 Enable MessageSourceAutoConfiguration when using @WebMvcTest
Closes gh-6608
2016-08-16 14:35:06 +01:00
Phillip Webb
5d9836b3b1 Refine unmapped property support
Replace `@UnmappedPropertyValue` with a `skip` attribute on
`@PropertyMapping` so that any default attribute value can be skipped.

Closes gh-6455
2016-07-27 16:27:24 -07:00
Phillip Webb
296dc7132b Allow JSON Testers to be @Autowired
Switch `@AutoConfigureJsonTesters` to use regular `@Autowired` injection
for JSON testers. Prior to this commit JSON Tester fields were
initialized directly which caused IDE issues and was also a little
confusing.

Fixes gh-6451
2016-07-26 21:41:37 -07:00
Phillip Webb
4a1e0d4544 Extend @AutoConfigureMockMvc print support
Update @AutoConfigureMockMvc to support extended print options including
`System.err` and `log.debug`. In addition the "default" print option
can now be overridden by adding `spring.test.mockmvc.print=...` to
`src/test/resources/application.properties`.

Fixes gh-6455
2016-07-25 13:17:26 -07:00
Phillip Webb
8355d8516b Add @UnmappedPropertyValue support
Update @PropertyMapping support to allow single enum values to be marked
as an @UnmappedPropertyValue. This change is primarily so that users can
replace "default" values globally for across all tests.

See gh-6455
2016-07-25 13:13:16 -07:00
Phillip Webb
c265de2535 Use @AliasFor in @AutoConfigureRestDocs
Replace custom alias logic in @AutoConfigureRestDocs with @AliasFor.

Closes gh-6403
2016-07-15 16:24:58 -07:00
Johnny Lim
a70a8635f9 Polish
Closes gh-6155
2016-06-14 08:35:22 +02:00
Andy Wilkinson
50ca35bdae Remove use of deprecated API in REST Docs auto-config test
Closes gh-6128
2016-06-13 11:14:12 +01:00
Phillip Webb
d87287fe72 Polish 2016-06-08 09:54:36 -07:00
Phillip Webb
5ab072be9c Polish 2016-06-08 09:27:40 -07:00
Phillip Webb
2eafb3d887 Add @RestClientTest support
Add @RestClientTest annotation that can be used when testing REST
clients. Provides auto-configuration for a MockRestServiceServer which
can be used when the bean under test builds a single RestTemplate
via the auto-configured RestTemplateBuilder.

Closes gh-6030
2016-05-31 10:18:07 -07:00
Andy Wilkinson
280ac90cef Polishing 349ec76: remove use of the diamond operator 2016-05-26 11:36:21 +01:00
Andy Wilkinson
349ec76e62 Update @WebMvcTest to auto-configure Spring HATEOAS
Closes gh-6043
2016-05-26 11:09:43 +01:00
Andy Wilkinson
e9a226c8f8 Fix handling of annotations on super classes in AnnotationsPropertySource
Closes gh-6006
2016-05-23 12:36:17 +01:00
Phillip Webb
cd365bcae1 Improve @PropertyMapping error message
Improve the message thrown when a @PropertyMapping is used in
combination with a @Component to include the actual annotations that
are causing the problem.

Fixes gh-5897
2016-05-13 20:09:03 -07:00
Johnny Lim
7c34dd87c1 Polish
Closes gh-5925
2016-05-12 07:55:19 +02:00
Andy Wilkinson
de0bcaa50e Update WebMvcTest to auto-configure supported template engines
Closes gh-5801
2016-05-10 10:41:38 +01:00
Andy Wilkinson
c1a2a77cbe Auto-configure Flyway and Liquibase when using DataJpaTest
Closes gh-5716
2016-05-10 10:13:17 +01:00