Commit Graph

292 Commits

Author SHA1 Message Date
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
Phillip Webb
33e54ed723 Relocate org.springframework.boot.web.support
Move `org.springframework.boot.web.support` under the `servlet` package.

Fixes gh-8557
2017-03-14 22:03:03 -07:00
Phillip Webb
b1c689b9b2 Unify WebServerFactory implementations
Unify common for from the abstract `ServletWebServerFactory` and
`ReactiveWebServerFactory` classes. Common code is now located in
`AbstractConfigurableWebServerFactory`.

Fixes gh-8631
2017-03-14 21:52:40 -07:00
Phillip Webb
67556ba8ea Restructure embedded web server packages
Rework `org.springframework.boot.context.embedded` to relocate classes
to `org.springframework.boot.web`. Packages are now organized around
the following areas:

Packages for shared concerns, for example the `WebServer` interface
to start/stop a server and the common configuration elements:
- org.springframework.boot.web.context
- org.springframework.boot.web.server

Servlet specific packages:
- org.springframework.boot.web.servlet.server
- org.springframework.boot.web.servlet.context
- org.springframework.boot.web.servlet.filter

Reactive specific packages:
- org.springframework.boot.web.reactive.context
- org.springframework.boot.web.reactive.server

Embedded server implementations (both reactive and servlet):
- org.springframework.boot.web.embedded

In addition:

- Rename `EmbeddedServletContainerFactory` to `ServletWebServerFactory`
  to align with the `ReactiveWebServerFactory`.
- Rename `EmbeddedWebApplicationContext` to
  `ServletWebServerApplicationContext` and
- Rename `EmbeddedReactiveWebApplicationContext` to
  `ReactiveWebServerApplicationContext`.
- Add checkstyle rules to restrict imports.
- Fixup all affected code to use the correct imports and local names.

Fixes gh-8532
2017-03-12 21:08:25 -07:00
Andy Wilkinson
62de505e43 Update tests to align with slight change in HtmlUnit's behaviour
See gh-8515
2017-03-10 09:45:10 +00:00
Stephane Nicoll
361ad69a4b Merge branch '1.5.x' 2017-03-10 09:55:11 +01:00
Stephane Nicoll
c8ac94b75d Polish contribution
Closes gh-8490
2017-03-10 09:51:35 +01:00
Roland Weisleder
a6f0da8cc6 Introduce reset method to OutputCapture
Closes gh-8390
2017-03-10 09:48:36 +01:00
Phillip Webb
d8f827d224 Cleanup and format code 2017-03-06 17:08:09 -08:00
Phillip Webb
425dbc3e52 Update copyright header for edited files 2017-03-06 15:04:07 -08:00
Phillip Webb
2a592103f0 Polish formatting 2017-03-06 15:03:43 -08:00
Spring Buildmaster
d23fa24340 Next Development Version 2017-03-03 16:18:26 +00:00
Spring Buildmaster
2a83e80a9b Next Development Version 2017-03-03 14:39:21 +00:00
Stephane Nicoll
f143ec52a6 Fix Javadoc of WebEnvironment
Closes gh-8469
2017-03-03 13:52:53 +01:00
Andy Wilkinson
e20219aac9 Merge branch '1.5.x' 2017-02-28 15:58:22 +00:00
Andy Wilkinson
545b29552d Merge branch '1.4.x' into 1.5.x 2017-02-28 15:58:08 +00:00
Andy Wilkinson
98cf35d48e Polish "Ignore spock.lang annotations when creating test context cache key"
See gh-8252
2017-02-28 15:55:55 +00:00
erlholmq
8f18df8a9c Ignore spock.lang annotations when creating test context cache key
See gh-7524
Closes gh-8252
2017-02-28 15:49:35 +00:00
Phillip Webb
a4bcd20b64 Merge branch '1.5.x' 2017-02-27 20:43:18 -08:00
Phillip Webb
ca1540cefe Update header copyright for changed files 2017-02-27 20:41:18 -08:00
Phillip Webb
5867cd6175 Polish 2017-02-27 20:41:18 -08:00
Stephane Nicoll
c5595f296c Add support for Mock test with WebFlux
This commit add mock support for WebFlux with an infrastructure similar
to what `WebMvcTest` provides. `@WebFluxTest` can be used to test
controllers with a narrowed classpath that is relevant to WebFlux. Also,
`@SpringBootTest` now starts WebFlux in "mock" mode by default and
`@AutoConfigureWebTestClient` can be used to inject a `WebTestClient`
connected to the `ApplicationContext`.

To make that happen, a `ReactiveWebApplicationContext` interface has been
introduced to mirror what `WebApplicationContext` currently does. Things
are still a bit volatile at this point and that infra may move to Spring
Framework at some point.

Closes gh-8401
2017-02-27 15:05:34 +01:00
Stephane Nicoll
12397edbd4 Expose a WebTestClient with @SpringBootTest
This commit exposes a `WebTestClient` automatically in a reactive
integration test that uses an embedded web server. This is similar to
what we do with `TestRestTemplate` for servlet based integration tests.

Closes gh-8399
2017-02-24 13:50:58 +01:00
Stephane Nicoll
54939e8e3c Start a reactive web application if necessary
This commit makes sure that `@SpringBootTest` with a reactive setup
starts a web application if necessary.

If both a servlet and a reactive environment are available, a servlet
environment is bootstraped. This commit also adds a way to force a
reactive environment by specifying the `spring.main.web-application-type`
property of the test (e.g. `@TestPropertySource`).

Closes gh-8383
2017-02-24 13:03:12 +01:00
Andy Wilkinson
fcd1eb79fc Fix forward merge of new SpyBean test to use correct Mockito 2 API 2017-02-21 20:48:58 +00:00