Commit Graph

316 Commits

Author SHA1 Message Date
Stephane Nicoll
e844c92465 Expose AssertionErrors as is
Closes gh-9760
2017-07-14 18:19:03 +02:00
Andy Wilkinson
3fb1bdef85 Add support to ContextLoader for configuring context's parent
Closes gh-9749
2017-07-13 11:30:26 +01:00
Phillip Webb
8e3baf3130 Polish 2017-07-11 13:57:21 -07:00
Stephane Nicoll
ef5c2afcc9 Polish 2017-07-07 11:11:16 +01:00
Andy Wilkinson
dd0ce54425 Improve the type-safety of ContextLoader for servlet and reactive web 2017-07-07 11:11:16 +01:00
Andy Wilkinson
19ddfad63e Migrate some more tests to the new ContextLoader 2017-07-07 11:11:16 +01:00
Andy Wilkinson
e91b4d0bb3 Polish ContextLoader 2017-07-07 11:11:16 +01:00
Brian Clozel
f2e77e46cd Auto-configure codecs in WebTestClient
This commit applies what's been done in gh-9166 for WebFlux client and
server, but for the `WebTestClient` auto-configuration.

`WebTestClient` can be configured for mock or integration tests and this
change applies `CodecCustomizer` beans to the client being built.

Closes gh-9577
2017-07-03 11:23:06 +02:00
Stephane Nicoll
0fcf6a0e51 Allow to specify multiple auto-configs in autoConfigFirst 2017-06-30 14:52:31 +02:00
Stephane Nicoll
5ecdee0e1b Polish 2017-06-29 16:15:35 +02:00
Stephane Nicoll
18ba414000 Add test helper to manipulate the ApplicationContext
This commit adds ContextLoader, a test helper that configures an
ApplicationContext that is meant to simulate a particular
auto-configuration scenario.

The auto-configuration, user configuration and environment can be
customized. The loader invokes a ContextConsumer to assert the context
and automatically close the context once it is done.

Concretely, tests can create a shared field instance of that helper with
the shared configuration to increase its visibility and tune the context
further in each test.

If the context is expected to fail, `loadAndFail` allows to optionally
assert the root exception and consume it for further assertions.

This commit also migrates some tests to illustrate the practical use of
the helper

Closes gh-9634
2017-06-29 15:34:10 +02:00
Andy Wilkinson
991314c63d Merge branch '1.5.x' 2017-06-16 09:13:42 +01:00
Phillip Webb
b94bb00fa1 Remove need for attached test-jar artifacts
Remove test-jar artifacts from Maven projects and relocate classes. The
majority of utilities now live in the `spring-boot-testsupport` module.

This update will help us to deploy artifacts using the standard Maven
deploy plugin in the future (which doesn't support the filtering of
individual artifacts).

Fixes gh-9493
2017-06-12 21:11:35 -07:00
Spring Buildmaster
05d4d0281c Next Development Version 2017-06-08 12:47:16 +00:00
Andy Wilkinson
563c9dc58c Merge branch '1.5.x' 2017-06-06 22:24:31 +01:00
Andy Wilkinson
84721666c5 Stop DuplicateJsonObjectContextCustomizer breaking context caching
See gh-9248
2017-06-06 22:23:43 +01:00
Andy Wilkinson
61a1798296 Merge branch '1.5.x' 2017-06-06 21:39:09 +01:00
Andy Wilkinson
21a5ab7875 Log a warning during tests when multiple JSONOjects on the class path
Closes gh-9248
2017-06-06 21:35:33 +01:00
Phillip Webb
2c7dd9f519 Polish 2017-06-02 16:00:39 -07:00
Stephane Nicoll
9332a3a4ae Merge branch '1.5.x' 2017-05-28 17:46:00 +02:00
Stephane Nicoll
b5709fd618 Polish
See gh-9330
2017-05-28 17:44:58 +02:00
Madhura Bhave
d745b69630 Replace usages of EnvironmentTestUtils 2017-05-24 14:59:04 -07:00
Madhura Bhave
05254fe322 Deprecate EnvironmentTestUtils in favor of TestPropertyValues
Fixes gh-9253
2017-05-24 14:58:40 -07:00
Phillip Webb
889d43ddc4 Refine SpringApplication source types
Update `SpringApplication` so that the `run` methods and constructors
now require `Class<?>` arguments, rather than `Objects`. String based
sources can still be loaded, but must now be set on the `getSources()`
collections. `Package` and `Resource` types are no longer directly
supported.

This change should help IDEs offer better content assist, and will
help integrations with alternative languages such as Ceylon.

Users currently passing in Class references or using the
`spring.main.sources` property should not be affected by this change. If
an XML resource is being used, some refactoring may be required (see the
changes to `SampleSpringXmlApplication` in this commit).

Fixes gh-9170
2017-05-15 20:35:29 -07:00
Stephane Nicoll
e007f20725 Merge branch '1.5.x' 2017-05-12 17:27:46 +02:00
Stephane Nicoll
a22b3d9515 Merge branch '1.4.x' into 1.5.x 2017-05-12 17:27:28 +02:00
Stevo Slavić
6e1d99aa10 Fix typo in javadoc
Closes gh-9212
2017-05-12 17:26:26 +02:00
Andy Wilkinson
b71daac58a Remove redundant logic for uninstalling Tomcat's URL stream handler factory
Closes gh-8622
2017-05-11 17:22:15 +01:00
Phillip Webb
fa4de13519 Rework ConfigurationPropertySources
Rework the ConfigurationPropertySources and related adapter classes to
help with performance. The ConfigurationPropertySources class now only
monitors for updates when `.attach` is used. The `.get` methods now
return the adapted version, but no longer checks to see if sources have
been added or removed on each call.

This commit also fixes a few caching issues and makes both the
`PropertyMapper` implementations true static singletons.

See gh-9000
2017-05-09 22:09:40 -07:00
Phillip Webb
931ce15d7f Update copyright header dates 2017-05-09 21:43:52 -07:00
Madhura Bhave
c0d4a771c9 Use new configuration properties in spring-boot-test
Update `spring-boot-test` to use the new configuration properties
support.

See gh-9000
2017-04-27 13:59:25 -07:00
Phillip Webb
06558675bb Polish 2017-04-25 09:45:14 -07:00
Spring Buildmaster
9768b0a8c2 Next Development Version 2017-04-21 08:32:01 +00:00
Spring Buildmaster
d719d2cbbc Next Development Version 2017-04-20 12:46:19 +00:00
Phillip Webb
81fef71fcb Merge branch '1.5.x' 2017-04-19 22:48:46 -07:00
Phillip Webb
5abc050a96 Support detection and with test initializers
Relax `SpringBootTestContextBootstrapper` rules so that a test can
specify an `ApplicationContextInitializer` and still have
`@SpringBootConfiguration` detected.

Prior to this commit detection would not occur because it's possible
that an initializer _could_ register configuration. This scenario is
actually quite unlikely to occur, certainly less likely than wanting to
use an initializer in combination with auto-detection.

Fixes gh-8483
2017-04-19 22:18:12 -07:00
Phillip Webb
850517a8db Fix merge issue 2017-04-18 21:57:33 -07:00
Phillip Webb
94209e2883 Merge branch '1.5.x' 2017-04-18 15:06:43 -07:00
Phillip Webb
393c17b68b Support @SpringBootTest with @ContextHierarchy
Update SpringBootTestContextBootstrapper to detect `@ContextHierarchy`
annotations so that only the last child creates a
`WebApplicationContext`.

Prior to this commit a context hierarchy would start two embedded web
servers which is inconsistent with the `SpringApplicationBuilder`
behavior.

Fixes gh-8311
2017-04-18 14:56:12 -07:00
Phillip Webb
8eb79b3c0f Polish 2017-04-18 11:13:12 -07:00
Phillip Webb
383640d5ec Merge branch '1.5.x' 2017-04-17 22:15:33 -07:00
Phillip Webb
f46d799f31 Polish 2017-04-17 22:08:51 -07:00
Madhura Bhave
ed072abaef Merge branch '1.5.x' 2017-04-17 11:42:02 -07:00
Madhura Bhave
9e2d54feae Support json view with JacksonTester
Closes gh-8672
2017-04-17 11:14:26 -07:00
Phillip Webb
700f0ea93c Fix WebClientTest calls
Update calls to WebClientTest following upstream changes.
2017-04-14 16:26:01 -07:00
dreis
f3bbbc4530 Use JDK hashCode() variants for primitives
See gh-8768
2017-04-12 15:22:14 +02:00
Andy Wilkinson
ef72c22563 Update HtmlUnitDriver tests to align with HtmlUnit 2.26
See gh-8853 and cb34189c66
2017-04-07 12:10:39 +01:00
Stephane Nicoll
6d6d76ca06 Polish
See gh-8543
2017-03-16 09:54:06 +01:00
Madhura Bhave
0b1d32e762 Add tests for TestRestTemplate in reactive env
Closes gh-8543
2017-03-15 14:46:44 -07:00
Phillip Webb
b76ca0bf8f Restructure web auto-configuration
Restructure `org.springframework.boot.autoconfigure.web` to better align
with the new package structure in `spring-boot`.

Auto-configuration is now split into client, servlet and reactive
sub-packages. In addition a new `http` package now handles common
HTTP concerns.

Fixes gh-8616
2017-03-14 22:06:28 -07:00