Commit Graph

9073 Commits

Author SHA1 Message Date
Andy Wilkinson c6bdd136b1 Merge pull request #7271 from Aleksander Bartnikiewicz
* gh-7271:
  Test that a broken factory bean does not break resetting of mocks
  Prevent a broken factory bean from breaking the resetting of mocks
2016-11-25 10:41:20 +00:00
Andy Wilkinson 46e8cf4a43 Test that a broken factory bean does not break resetting of mocks
Previously, ResetMocksTestExecutionListener used getBean(name) to
retrieve each instantiated singleton. When the instantiated singleton
was a factory bean, this would cause getObject on the factory bean to
be called. If the factory bean was unable to produce its object, for
example due to test slicing excluding something, an exception would
be thrown.

The previous commit updated ResetMocksTestsExecutionListener to
use getSingleton(name) rather than getBean(name).  This will retrieve
the factory bean itself rather than causing the factory bean to
attempt to create an object. This commit updates the tests to verify
the new behaviour.

Closes gh-7270
2016-11-25 10:40:02 +00:00
Aleksander Bartnikiewicz eb927f1b29 Prevent a broken factory bean from breaking the resetting of mocks
Closes gh-7271
2016-11-25 10:39:30 +00:00
Andy Wilkinson e19c6245ef Consider endpoints.sensitive when endpoints.health.sensitive is not set
Closes gh-7476
2016-11-24 20:57:29 +00:00
Stephane Nicoll 1f8281931d Merge pull request #7462 from kuhnroyal:gh-7460
* pr/7462:
  Polish contribution
  Fix undertow session persistence with spring-boot-devtools
2016-11-24 16:07:16 +01:00
Stephane Nicoll 4c61c9f26a Polish contribution
Closes gh-7462
2016-11-24 16:07:03 +01:00
Peter Leibiger 203b6f2f2c Fix undertow session persistence with spring-boot-devtools
Fixes gh-7460
2016-11-24 16:00:23 +01:00
Stephane Nicoll 65b6d8f4f7 Handle `NoClassDefFoundError` in `OnBeanCondition`
If `OnBeanCondition` is used with a `String` literal representing the
fully qualified name of a bean and such type does not exist, it
gracefully manages it as if it was not found. Prior to this commit, an
exception would be thrown if any related class such as the parent
class does not exist.

This commit handles this additional case, catching `NoClassDefFoundError`
the same way it did handle `ClassNotFoundException`. That way, a
missing type will now be considered as absent if it's not on the
classpath.

Closes gh-7459
2016-11-24 15:48:56 +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
Stephane Nicoll 0359b2f6f5 Document how to disable JMS transacted session
Closes gh-7463
2016-11-24 10:39:40 +01:00
Stephane Nicoll 5e8ba5cef6 Fix Couchbase condition on Spring Data class
This commit reverts 7e2d0fd so that the Couchbase auto-configuration can
work without Spring Data again. It also removes the `Class` reference to
a Spring Data class to a `String` reference to make sure the condition
operates properly when said class isn't on the classpath.

Closes gh-7453
2016-11-24 09:41:19 +01:00
Andy Wilkinson 5e79657d4b Treat URLs for same file in nested archive and from jar root as equal
Consider the following two URLs:

jar:file:/test.jar!/BOOT-INF/classes!/foo.txt
jar:file:/test.jar!/BOOT-INF/classes/foo.txt

They both reference the same foo.txt file in the BOOT-INF/classes
directory of test.jar, however the first URL does so via the
nested BOOT-INF/classes archive. Previously, this difference in the
URLs would lead to PathMatchingResourcePatternResolver returning two
resources for foo.txt when asked to find all resources matching the
pattern classpath*:/**/*.txt.

This commit updates our Handler that is used for jar: URLs to consider
the two URLs above to be equivalent such that url1 is equal to url2
and the two urls will produce the same hash code.

Closes gh-7449
2016-11-23 14:04:45 +00:00
Stephane Nicoll a5681c018d Add dependency management for hazelcast-client
Closes gh-7452
2016-11-23 10:55:46 +01: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
Phillip Webb 7e2d0fd1c0 Check for Spring Data before configuring Couchbase
Add guard to `CouchbaseAutoConfiguration` so ensure that Spring Data
Couchbase is on the classpath.

Fixes gh-7453
2016-11-22 14:32:38 -08:00
Phillip Webb 288398b8b7 Merge pull request #7425 from PostalBear/1.4.x
* pr/7425:
  Add additional Tomcat timeout test
  Fix connector used to configure connection timeout
2016-11-22 14:31:37 -08:00
Phillip Webb ce58e16860 Add additional Tomcat timeout test
Update the Tomcat sample to also test that the connection timeout is
set.

See gh-7425
2016-11-22 14:30:36 -08:00
Grigory Fadeev 1ea829e003 Fix connector used to configure connection timeout
Fix Tomcat customization so that the main connection is configured with
any timeout.

Closes gh-7425
2016-11-22 14:28:57 -08:00
Phillip Webb a3b79be6b3 Support @MockBean on FactoryBeans
Update @MockBean support so that FactoryBean classes can be mocked.

Fixes gh-7439
2016-11-22 13:49:28 -08:00
Phillip Webb 1452d3cd51 Ensure withBasicAuth keeps error handler
Fix `TestRestTemplate` so that any custom `ErrorHandler` isn't lost
when calling `withBasicAuth`.

Fixes gh-7441
2016-11-22 10:58:30 -08: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
Andy Wilkinson 3464c0b16e Ensure that Hypermedia-related auto-config works without Jackson
Previously, both HypermediaAutoConfiguration and HttpMessageConverters
assumed that if Spring HATEOAS was on the class path, then Jackson
would be too. When this was not the case, an application would fail
to start.

This commit updates both classes to back off appropriately when
Spring HATEOAS is on the classpath but Jackson is not.

Closes gh-7434
2016-11-21 13:25:25 +00:00
Andy Wilkinson c9427191ee Set TCCL before initialising test class in FilteredClassPathRunner
Closes gh-7435
2016-11-21 10:41:41 +00:00
Stephane Nicoll 249ed899a6 Fix use of KB and MB in Multipart documentation
Closes gh-7364
2016-11-20 15:51:47 +09:00
Phillip Webb fce17ca6d9 Polish 2016-11-18 15:50:19 -08:00
Stephane Nicoll 0072a93915 Expose Tomcat's accesslog requestAttributesEnabled
This commit adds an extra property to the `server.tomcat.accesslog` to
control the `reqestAttributesEnabled` flag. This flag sets request
attributes for IP address, Hostname, protocol and port used for the
request.

Closes gh-7367
2016-11-18 11:48:09 +09:00
Andy Wilkinson 5dea4c5a03 Wait for server port to be written in a more robust manner
Previously, we just waited for the file to exist before trying to read
the port from it. This left a window where the file existed but its
contents had not be written which could result in a
NumberFormatException.

This commit now waits for the file to have a length that is greater
than zero.

See gh-7379
2016-11-17 20:41:25 +00:00
Andy Wilkinson 5857010dde Polishing: fix Checkstyle warning 2016-11-17 19:55:34 +00:00
Andy Wilkinson 918e122ddc Fix remote DevTools' support for adding and removing classes
Previously, remote DevTools only correctly supported modifying
existing classes. New classes that were added would be missed, and
deleted classes could cause a failure as they would be found by
component scanning but hidden by RestartClassLoader.

This commit introduces a DevTools-specific ResourcePatternResolver
that is installed as the application context's resource loader. This
custom resolver is aware of the files that have been added and
deleted and modifies the result returned from getResource and
getResources accordingly.

New intergration tests have been introduced to verify DevTools'
behaviour. The tests cover four scenarios:

- Adding a new controller
- Removing an existing controller
- Adding a request mapping to a controller
- Removing a request mapping from a controller

These four scenarios are tested with:

- DevTools updating a local application
- DevTools updating a remote application packaged in a jar file
- DevTools updating a remote application that's been exploded

Closes gh-7379
2016-11-17 19:19:54 +00:00
Andy Wilkinson b3e0a37197 Remove unwanted System.out calls in test code 2016-11-16 09:12:13 +00:00
Phillip Webb bacf0878af Polish 2016-11-15 10:40:21 -08:00
Andy Wilkinson 948b5760a7 Upgrade to Spring Retry 1.1.5.RELEASE
Closes gh-7384
2016-11-15 15:49:11 +00:00
Andy Wilkinson c2730ac63f Polish formatting and address warnings 2016-11-15 11:48:35 +00:00
Stephane Nicoll 8a57ebde06 Merge pull request #7370 from ultraq:update-layout-dialect
* pr/7370:
  Upgrade Thymeleaf 3 layout dialect in doc
2016-11-12 11:15:53 +01:00
Emanuel Rabina 6b681ddfab Upgrade Thymeleaf 3 layout dialect in doc
Closes gh-7370
2016-11-12 11:15:00 +01:00
Andy Wilkinson a1dda12bcb Disable Server header by default when using SSL with Jetty 9
Closes gh-7359
2016-11-11 11:46:57 +00:00
Stephane Nicoll 72e696bcbd Fixup version numbers following release 2016-11-08 18:24:42 +01:00
Spring Buildmaster e712a9ba8c Next Development Version 2016-11-08 16:55:37 +00:00
Stephane Nicoll 2a8a906d30 Upgrade to Spring AMQP 1.6.5.RELEASE
Closes gh-7347
2016-11-08 17:03:07 +01:00
Andy Wilkinson 2c4f39045f Stop relying on Artemis's on-demand queue creation in CLI JMS test
Artemis's on-demand queue cretaion appears to be rather flakey,
sometimes failing with a NullPointerException.

This commit ensures that the queue used by the sample is created
during start up rather than on demand. This will hopefully make the
test that runs the sample more robust.

Closes gh-7346
2016-11-08 14:36:58 +00:00
Andy Wilkinson 5f44598d8b Remove use of static import that Checkstyle prohibits 2016-11-08 13:50:15 +00:00
Andy Wilkinson 33dcd853fd Ensure that health endpoint remains insecure without Spring Security
The changes made in 6a2ac080 mean that getSecurity() on
ManagementServerProperties will no longer return null when Spring
Security is on the classpath. This had the unwanted side-effect of
causing the health endpoint to hide its details when Spring Security
was not on the classpath.

This commit reinstates the previous behaviour by only considering
the health endpoint to be secure if Spring Security is on the
classpath and management.security.enabled is true.

Closes gh-7345
2016-11-08 13:18:05 +00:00
Andy Wilkinson 808185ab4e Make LaunchedURLClassLoader Java 6 compatible again
Closes gh-7334
2016-11-08 10:35:18 +00:00
Andy Wilkinson aafb308eaf Merge pull request #7334 from Christoph Dreis
* gh-7334:
  Reinstate LaunchedURLClassLoader's registration  as parallel capable
2016-11-08 10:02:55 +00:00
dreis 7a797909ae Reinstate LaunchedURLClassLoader's registration as parallel capable
Closes gh-7334
2016-11-08 09:58:14 +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
Stephane Nicoll 18c2a2f4fe Upgrade to Spring Framework 4.3.4.RELEASE
Closes gh-7213
2016-11-08 07:48:53 +01:00
Andy Wilkinson adfc5d22ca Upgrade to Spring Integration Java DSL 1.1.4.RELEASE
Closes gh-7342
2016-11-08 06:44:47 +00:00
Andy Wilkinson bc2a412408 Upgrade to Spring Integration 4.3.5.RELEASE
Closes gh-7341
2016-11-08 06:44:15 +00:00
Andy Wilkinson e136ef6f7d Upgrade to Spring AMQP 1.6.4.RELEASE
Closes gh-7340
2016-11-08 06:43:42 +00:00