Commit Graph

14195 Commits (b9c104a22dbc4125a8be2bf43e1606427d250a15)
 

Author SHA1 Message Date
Andy Wilkinson ded7cea761 Prevent webapp class loader from finding resources
Previously, TomcatEmbeddedWebappClassLoader would find resources
in WEB-INF/classes. However, unlike standalone Tomcat, we know that in
a Boot app WEB-INF/classes is on the class path of the parent class
loader so the resources will be found when the parent is queried
(which happens as part of the normal search algortithm for both
getResource(String) and getResources(String)).

This commit overrides findResource(String) and findResources(String)
to return null and an empty enumeration respectively. This prevents
TomcatEmbeddedWebappClassLoader from finding resources in
WEB-INF/classes and returning war: URLs for them that duplicate the
jar: URLs that will be found when the parent is queried.

Closes gh-9014
7 years ago
Andy Wilkinson 00feae7e8a Correct signature of link to sibling method that takes Class[] in 2.0
See gh-8898
7 years ago
Andy Wilkinson 218033fbcb Merge branch '1.5.x' 7 years ago
Andy Wilkinson f4f54047e0 Clarify behaviour of SpringApplicationBuilder.sibling(Object...)
Closes gh-8898
7 years ago
Andy Wilkinson d9837d7d1c Merge branch '1.5.x' 7 years ago
Andy Wilkinson 20a417f469 Merge pull request #9730 from Dylian Bego
* gh-9730:
  Polish "Handle possible regexes defensively in NamePatternFilter"
  Handle possible regexes defensively in NamePatternFilter
7 years ago
Andy Wilkinson bbc34a676c Polish "Handle possible regexes defensively in NamePatternFilter"
Closes gh-9730
7 years ago
dbego c29d1c756a Handle possible regexes defensively in NamePatternFilter
Previously, if a name contained part of a regex but wasn't actually
a regex, a PatternSyntaxException would be thrown and the request
would fail.

This commit updates NamePatternFilter to catch PatternSyntaxException
and treat the regex-like input as a name insteead.

See gh-9730
7 years ago
Andy Wilkinson cabb708352 Merge pull request #9827 from Johnny Lim
* gh-9827:
  Polish
7 years ago
Johnny Lim bd27d147d7 Polish
Closes gh-9827
7 years ago
Andy Wilkinson 18cfd9d3dd Merge branch '1.5.x' 7 years ago
Andy Wilkinson c70cc55db8 Polishing
See gh-9827
7 years ago
Andy Wilkinson 20577657ee Merge branch '1.5.x' 7 years ago
Andy Wilkinson ece66e1d4a Polish javadoc in JsonContentAssert
See gh-9675
7 years ago
Andy Wilkinson ee3525aa47 Merge branch '1.5.x' 7 years ago
Andy Wilkinson a57a74157d Merge pull request #9675 from Mihhail Lapushkin
* gh-9675:
  Polish "Fix JsonContentAssert type safety warnings"
  Fix JsonContentAssert type safety warnings
7 years ago
Andy Wilkinson f6727e786a Polish "Fix JsonContentAssert type safety warnings"
- Format code
- Update an existing test to use the contains method that would
  previously have triggered a type safety warning

Closes gh-9675
7 years ago
Mihhail Lapushkin ae91c8460f Fix JsonContentAssert type safety warnings
Previously, JsonContentAssert returns AbstractMapAssert from
extractingJsonPathMapValue. This could lead to type safety warnings
when calling one of the assert's methods with a generic varargs
parameter such as
contains(Entry<? extends Object, ? extends Object>...).

This commit replaces the use of both AbstractMapAssert and
AbstractListAssert with MapAssert and ListAssert respectively. These
classes use final methods and @SafeVargs args to prevent the
above-described problem from occurring.

See gh-9675
7 years ago
Andy Wilkinson 536c3bbd1c Merge branch '1.5.x' 7 years ago
Andy Wilkinson 15410a406e Revert "Stop auto-config of MethodValidationPP triggering early init"
5198fe887b. The underlying Framework
problem that prevents @Lazy from working properly is still there
in some form or another.

See gh-9416
7 years ago
Andy Wilkinson 1fe84225e5 Merge branch '1.5.x' 7 years ago
Andy Wilkinson 5198fe887b Stop auto-config of MethodValidationPP triggering early init
Previously, if a user's configuration class provided a custom
Validator bean, that configuration class would be initialized very
early so that the Validator could be used to create the
auto-configured MethodValidationPostProcessor. This early
initialization could problems as it may prevent any of the
configuration class's dependencies from being post-processed.

This commit updates the injection of the Validator bean to be lazy,
thereby preventing the creation of the auto-configured
MethodValidationPostProcessor from triggering early initialization.

Closes gh-9416
7 years ago
Andy Wilkinson 2f835cf481 Start building against Spring Batch 4.0 snapshots
See gh-9767
7 years ago
Andy Wilkinson 7067820c76 Start building against Spring AMQP snapshots
See gh-9824
7 years ago
Andy Wilkinson 8869f98514 Start building against Spring Kafka snapshots
See gh-9825
7 years ago
Andy Wilkinson a2f791287f Disable the use of Gradle's daemon when running compatility tests 7 years ago
Andy Wilkinson 742153fc22 Add a GitHub SUPPORT document 7 years ago
Andy Wilkinson 2d5659d969 Merge pull request #9598 from Eddú Meléndez
* gh-9598:
  Update Gradle compatibility versions to cover 4.0.1 and 4.1-rc-1
  Update Gradle versions to check compatibility with 3.5.1, 4.0, 4.1 M1
7 years ago
Andy Wilkinson 1b1c9d06f4 Update Gradle compatibility versions to cover 4.0.1 and 4.1-rc-1
Closes gh-9598
7 years ago
Eddú Meléndez 9910eab47c Update Gradle versions to check compatibility with 3.5.1, 4.0, 4.1 M1
See gh-9598
7 years ago
Andy Wilkinson a4fb7486c1 Upgrade to Postgresql 42.1.3
Closes gh-9818
7 years ago
Andy Wilkinson b0704a18d1 Upgrade to Narayana 5.6.3.Final
Closes gh-9817
7 years ago
Andy Wilkinson 2708c43257 Upgrade to Lettuce 5.0.0.RC1
Closes gh-9816
7 years ago
Andy Wilkinson 35df657f8e Upgrade to Mssql Jdbc 6.2.1.jre8
Closes gh-9815
7 years ago
Andy Wilkinson 41dce2856e Upgrade to Hazelcast 3.8.3
Closes gh-9814
7 years ago
Andy Wilkinson 7e54596456 Upgrade to Couchbase Client 2.4.7
Closes gh-9813
7 years ago
Andy Wilkinson 11c75434fb Merge branch '1.5.x' 7 years ago
Andy Wilkinson 10a1cdfdf1 Upgrade to Spring Integration 4.3.11.RELEASE
Closes gh-9812
7 years ago
Andy Wilkinson ca2e801a86 Upgrade to Spring Batch 3.0.8.RELEASE
Closes gh-9811
7 years ago
Andy Wilkinson 1ece893718 Upgrade to Jooq 3.9.4
Closes gh-9810
7 years ago
Andy Wilkinson 49a3d4fe41 Upgrade to Narayana 5.5.28.Final
Closes gh-9809
7 years ago
Andy Wilkinson 00d8752437 Upgrade to Infinispan 8.2.8.Final
Closes gh-9808
7 years ago
Stephane Nicoll 5c33052334 Merge branch '1.5.x' 7 years ago
Stephane Nicoll 0a9cb5f076 Upgrade to Spring Framework 4.3.10.RELEASE
Closes gh-9806
7 years ago
Andy Wilkinson 0b11fb7ce0 Merge branch '1.5.x' 7 years ago
Andy Wilkinson f3b26525f7 Use System.out rather than err for ignored Class-Path entry message
Closes gh-9802
7 years ago
Phillip Webb e1ef2a591f Fixup tests to use new ApplicationContextTester
Update existing tests that previously use `ContextLoader` to the newly
introduced `*ApplicationContextTester` classes.

See gh-9634
7 years ago
Phillip Webb 24d086066b Rework ApplicationContext test helper
Rename `ContextLoader` to `ApplicationContextTester` and provide
distinct subclasses for standard, web and reactive application contexts.

Context callbacks now return AssertJ compatible contexts, allowing
tests to run directly on context. For example:

	context.run((loaded) -> assertThat(loaded).hasBean("foo"));

The returned context can now also represent a context that has failed
to start (meaning that the `loadAndFail` methods are no longer needed):

	context.run((loaded) -> assertThat(loaded).hasFailed());

Configuration classes are loaded via the recently introduced
`Configurations` class. This means that the tester no longer needs to
be directly aware of auto-configuration concepts.

See gh-9634
7 years ago
Phillip Webb c6f55ef46d Add system property support to TestPropertyValues
Update `TestPropertyValues` so that it can also be used to update
system properties.  Properties are set before the call is made and
restored to their previous value afterwards.

Fixes gh-9792
7 years ago
Phillip Webb 2f0f25f5ad Add Configurations class
Add a general purpose `Configurations` class that encapsulates the
sorting and merging rules that are usually apply. The class is
particularly useful in tests where configuration classes often need
to be specified, but an `@Import` or `ImportSelector` cannot be easily
used.

Two `Configurations` subclasses have been initially added. The
`UserConfigurations` class can be used to represent user defined
configuration and the `AutoConfigurations` class can be used to
represent a subset of auto-configurations. Auto configurations are
sorted using the same `@AutoConfiguraionBefore`/`@AutoConfiguraionAfter`
logic as the `@EnableAutoConfiguration` annotation.

Fixes gh-9795
7 years ago