Commit Graph

8902 Commits

Author SHA1 Message Date
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 7ec14774a8 Polish 2016-09-18 23:37:46 -07:00
Andy Wilkinson f266e8c69d Merge branch '1.3.x' 2016-09-18 22:10:37 +01:00
Andy Wilkinson 5a539ce381 Update launch script integration tests to work with Docker 1.12
Closes gh-6914 (I hope)
2016-09-18 22:10:26 +01:00
Stephane Nicoll b69fd9229d Merge branch '1.3.x' 2016-09-18 17:12:39 +02:00
Stephane Nicoll 04b261984e Polish 2016-09-18 17:12:21 +02:00
Andy Wilkinson 472117299e Add some integration tests for the CLI’s quiet mode
See gh-6918
2016-09-18 10:56:18 +01:00
Andy Wilkinson 0a9bcd9893 Polish 2016-09-18 10:29:14 +01: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 0ef845b96e Polish 2016-09-17 20:05:21 -07:00
Phillip Webb 82ae6e4049 Improve @AutoConfigureTestDatabase failure message
Fixes gh-6916
2016-09-17 19:56:25 -07:00
Phillip Webb 985ee58ad7 Merge pull request #6909 from mikegehard/patch-1
* pr/6909:
  Link to Spring Security OAuth2 reference docs
2016-09-17 19:46:20 -07:00
Mike Gehard 3d8b51d2e4 Link to Spring Security OAuth2 reference docs
Update documentation to include a link to Spring Security OAuth2's
reference documentation.

Closes gh-6909
2016-09-17 19:46:19 -07:00
Phillip Webb 6fc87764d5 Merge pull request #6919 from eddumelendez/gh-6904
* pr/6919:
  Add contextPath LocalHostUriTemplateHandler URIs
2016-09-17 19:35:01 -07:00
Eddú Meléndez bc55b6e0d4 Add contextPath LocalHostUriTemplateHandler URIs
Update `LocalHostUriTemplateHandler` so that the `server.context-path`
property is also considered when building the URL.

Fixes gh-6904
Closes gh-6919
2016-09-17 19:33:06 -07:00
Phillip Webb 7299976d12 Fix banner property used in "quiet" mode
Fixes gh-6918
2016-09-17 19:23:42 -07:00
Phillip Webb aad40093ff Make Mock/Spy qualifiers part of context cache key
Refine @MockBean/@SpyBean qualifier support so that qualifiers form part
of the context cache key. Prior to this commit is was possible that two
different tests could accidentally share the same context if they
defined the same @Mock but with different @Qualifiers.

See gh-6753
2016-09-17 18:43:43 -07:00
Phillip Webb 04448d6bd9 Polish 2016-09-17 18:43:43 -07:00
Stephane Nicoll 6ec1ac0aa0 Fix doc syntax
See gh-6593
2016-09-17 08:04:00 +02:00
Phillip Webb 0eab3e0c5a Drop printed link to reference documentation
Tweak the fix from 50c68a49 to no longer print a link the reference
documentation.

See gh-6593
2016-09-16 17:52:25 -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 825dd0a26c Merge branch '1.3.x' 2016-09-16 15:07:18 -07:00
Phillip Webb 3b52909fc2 Don't change ownership of PID_FOLDER
Update the launch script so that it no longer changes ownership of the
PID_FOLDER.

Commit b24e736cfe had changed the chown
line from:
	chown "$run_user" "$PID_FOLDER/${identity}"
to:
	chown "$run_user" "$PID_FOLDER"

This meant that it was possible for the launch script to change
ownership of `/var/run` and prevent later processes from writing to
the folder.

Since PID_FOLDER is created before the chown statement, and that
the `checkPermissions` function runs to ensure that the PID file can
be written, it appears that the chown is not even required.

Fixes gh-6532
2016-09-16 14:35:21 -07:00
Phillip Webb b97e0bd471 Allow HttpPutFormContentFilter to be disabled
Add `spring.mvc.formcontent.putfilter.enabled` property to allow the
HttpPutFormContentFilter to be disabled.

Fixes gh-6519
2016-09-16 14:14:21 -07:00
Phillip Webb a2e4127d4f Fix multi-annotation nested condition logic
Update `AbstractNestedCondition` to correctly group nested conditions
on members.

Fixes gh-6672
2016-09-16 13:31:55 -07:00
Phillip Webb 3172d434a7 Polish
Closes gh-6835
2016-09-16 13:31:54 -07:00
Andy Wilkinson 49f28b7941 Merge branch '1.3.x 2016-09-16 19:29:06 +01:00
Andy Wilkinson faab9047d6 Start building against Spring Framework 4.2.8 snapshots
See gh-6910
2016-09-16 19:25:51 +01:00
Stephane Nicoll b77eddb8bb Merge branch '1.3.x' 2016-09-16 16:58:53 +02:00
Stephane Nicoll c2cdc1424b Polish documentation
Add an explicit note that states that "spring.datasource.url" (or more
specifically "spring.datasource.class-name" that is inferred from the
former) is necessary to connect to a database. If the class-name isn't
specified, Spring Boot will attempt to auto-configure an embedded
database.

Closes gh-6907
2016-09-16 16:58:39 +02:00
Stephane Nicoll 50c68a497b Improve startup error message
This commit improves the startup error message so that it does not
reference  `--debug` anymore. Such command-line switch only works when
the application is started using `java -jar`.

The error message now refers directly to a section of the documentation
that provides more details and links to more useful examples.

Closes gh-6593
2016-09-16 16:37:50 +02:00
Stephane Nicoll 78bb04f2c1 Polish 2016-09-16 14:54:11 +02:00
Stephane Nicoll 284988f0cd Clarify SpringBootWebSecurityConfiguration scope
This commit fixes the documentation that wrongly states that
SpringBootWebSecurityConfiguration is an auto-configuration. Rather than
excluding this class, we should exclude SecurityAutoConfiguration that
imports it.

Closes gh-6861
2016-09-16 14:53:50 +02:00
Stephane Nicoll 3f236dc951 Support Qualifiers on MockBean and SpyBean
Previously, if an injection point used a qualifier, `MockBean` and
`SpyBean` couldn't be used to mock/spy it as there was no way to
specify that qualifier information.

This commit now detects qualifier information on the injection point
and associate it with the created `BeanDefintion`. If one wants to
mock a bean that is qualified with `@Qualifier("foo")`, the definition
of the mock should be as follows:

```
public class MyTest {

	@MockBean
	@Qualifier("foo")
	private ExampleService service;
}
```

As a side effect, it is now possible to mock a service by type even if
there are multiple instances of that type in the application context. The
provided qualifier information is used to determine the right candidate
and the proper bean definition is replaced accordingly.

Closes gh-6753
2016-09-16 11:17:23 +02: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 5f7897ba41 Refine inner-class test @Configuration detection
Update detection logic to also consider `@Rules` classes. Also make the
documentation a little clearer.

Fixes gh-6768
2016-09-15 16:55:49 -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 fe7bbbe8ee Merge pull request #6882 from olivergierke/issue/6881
* pr/6882:
  Use default simple types with MongoMappingContext
2016-09-15 10:55:27 -07:00
Oliver Gierke 0860ad4fd4 Use default simple types with MongoMappingContext
Change the auto-configure MongoMappingContext to use the
SimpleTypesHolder instance `Set` that's produced by a CustomConversions
bean, which we in turn now default, too.

This update is necessary as `CustomConversions` registers converters by
inspecting the classpath (to automatically detect Java 8, JodaTime etc.)
and by that rendering the types for which we find converters for as
simple ones, i.e. non-entities.

Fixes gh-6881
Closes gh-6882
2016-09-15 10:42:59 -07:00
Phillip Webb f38deadab9 Merge pull request #6891 from kazuki43zoo/externalized-configuration-in-doc
* pr/6891:
  Document devtools properties in config load order
2016-09-15 10:30:28 -07:00
Kazuki Shimizu 2cedb45c68 Document devtools properties in config load order
Add reference to `~/spring-boot-devtools.properties` in
"Externalized Configuration" section.

Closes gh-6891
2016-09-15 10:28:45 -07:00
Phillip Webb ebb08c3655 Generate property meta-data for test projects
Add annotation processor to `spring-boot-test` and
`spring-boot-test-autoconfigure`.

Fixes gh-6893
2016-09-15 10:14:21 -07:00
Andy Wilkinson 045f357147 Upgrade Elasticsearch to 2.4 and restore use of Jackson 2.8
In 1.4.0 we used Elasticsearch 2.3.5 and Jackson 2.8. This
combination was incompatible in some circumstances due to a change
in Jackson (gh-6508). With Elasticsearch 2.4 yet to be released at the
time, the only way to restore compatibility was to downgrade Jackson.

With the release of Elasticsearch 2.4 we have another option: revert
the Jackson downgrade and upgrade Elasticsearch instead. While we
normally wouldn't consider upgrading to a new minor version of a
dependency in a maintenance release we have to do something to restore
compatibility. The alternative is to downgrade Jackson but that will
affect more people (Jackson is more widely used than Elasticsearch)
and will lose some functionality that was new in Jackson 2.8 that
people may already be relying upon.

This commit restores the use of Jackson 2.8 – including the
2.8-specific dependency management – and upgrades to Elasticsearch 2.4

Closes gh-6868
2016-09-15 15:41:50 +01:00
Andy Wilkinson 28ea6fd38a Fix LegacyCookieProcessor configuration example and test it
Closes gh-6827
2016-09-15 14:53:14 +01:00
Andy Wilkinson 5c632dfc8b Merge branch '1.3.x 2016-09-15 14:06:11 +01:00
Andy Wilkinson 30cb15a0d5 Update docs to note that Gradle 3 is not supported
Breaking API changes in Gradle 3.0 make it impossible to support
it reliably alongside Gradle 1 and 2 without mainintaining multiple
versions of our Gradle plugin. This commit updates the documentation
to note that Gradle 3 is not supported.

Closes gh-6880
2016-09-15 14:01:53 +01:00
Andy Wilkinson 4d2e557fdf Merge branch '1.3.x 2016-09-15 13:35:52 +01:00
Andy Wilkinson b8833c40b6 Allow spring.config.location to be configured via servlet context
Previously, in a war deployment, the web environment’s property sources
were initialized using the servlet context after the application’s
configuration had been read by ConfigFileApplicationListener. This
meant that spring.config.location configured via the servlet context
had no effect.

This commit adds a new ApplicationListener,
ServletContextApplicationListener, that initialises the configurable
web environment’s property sources using the servlet context. It’s
ordered with higher precedence than ConfigFileApplicationListener to
ensure that any properties defined in the servlet context are available
when loading the application’s configuration.

Closes gh-6801
2016-09-15 13:28:23 +01:00