Commit Graph

294 Commits (99ad4452290a8d9b5630b70ad8599aa966881808)

Author SHA1 Message Date
Andy Wilkinson f49b16c645 Upgrade to Spring Java Format 0.0.34
Closes gh-31524
2 years ago
Guirong Hu 3592292e4b Use ExceptionHandler when Spring MVC uses a different management port
Update `CompositeHandlerExceptionResolver` to search for beans in
all contexts. Note that `BeanFactoryUtils.beansOfTypeIncludingAncestors`
cannot not be used since we need to pick up all beans, even if they
have the same name.

See gh-31495
2 years ago
Andy Wilkinson 0834dc5b01 Polish "Update smoke tests to avoid conflicts with NAME environment variable"
See gh-31267
2 years ago
Vedran Pavic 95e0d6c0f7 Update smoke tests to avoid conflicts with NAME environment variable
This commit updates several smoke tests in order to avoid conflicts
with NAME environment variable that is present in WSL and causes
project build to fail. Previous attempt to fix this in 7da42d71 was
incomplete.

See gh-31267
2 years ago
Andy Wilkinson 3d203d0215 Polish 3 years ago
Andy Wilkinson ee45fd2fc8 Remove redundant throws declarations from internal APIs
Closes gh-31176
3 years ago
Scott Frederick b0bedc332a Use Testcontainers in Spring Session Reactive smoke tests
Closes gh-30888
3 years ago
Scott Frederick 51343139c2 Remove empty files
See gh-30875
3 years ago
Scott Frederick 6098b0c91f Merge branch '2.5.x' into 2.6.x
Closes gh-30876
3 years ago
Scott Frederick 8fe47aaebd Remove smoke tests that do nothing without a server
Fixes gh-30875
3 years ago
Andy Wilkinson fa327a783d Merge branch '2.5.x' into 2.6.x
Closes gh-30850
3 years ago
Andy Wilkinson 4fd2e0c916 Polish "Fix typos"
See gh-30773
3 years ago
Andy Wilkinson f6d24dc1a8 Fix typos
See gh-30773
3 years ago
Andy Wilkinson d4348279a7 Merge branch '2.5.x' into 2.6.x
Closes gh-30666
3 years ago
Andy Wilkinson 8f1b8622ba Ensure that webEnvironment=NONE creates non-web context
Previously, if spring.main.web-application-type was configured in
application.properties to servlet or reactive, setting
webEnvironment=NONE on @SpringBootTest would not work correctly and
a servlet or reactive web application context would be created
based on the value of spring.main.web-application-type.

This commit updates the test context bootstapper to set
spring.main.web-application-type to none when webEnvironment has been
set to none. This is done in the merged context configuration's
property source properties which are applied to the environment in a
high-precedence test property source that will override configuration
in application.properties.

Closes gh-29695
3 years ago
Moritz Halbritter 27ddcbd551 Merge branch '2.5.x' into 2.6.x 3 years ago
Moritz Halbritter cd5d3dbf8d Disable SampleSessionWebFluxApplicationTests on Linux aarch64
These tests use embedded mongo under the hood.

See gh-30082
3 years ago
Moritz Halbritter 4e09289076 Merge branch '2.5.x' into 2.6.x
# Conflicts:
#	spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-data-mongodb/src/test/java/smoketest/data/mongo/SampleMongoApplicationTests.java
3 years ago
Moritz Halbritter 1d15e8c8e2 Disable SampleMongoApplicationTests on Linux aarch64
See gh-30082
3 years ago
Andy Wilkinson f04a85957e Merge branch '2.5.x' into 2.6.x
Closes gh-30359
3 years ago
Andy Wilkinson 5473cd3abc Try to stabilize SampleSessionWebFluxApplicationTests
Closes gh-30353
3 years ago
Andy Wilkinson 344f71c75a Merge branch '2.5.x' into 2.6.x
Closes gh-30087
3 years ago
Andy Wilkinson 4bcb7e2f77 Prevent ActiveProfilesTests from binding to 8080
Due to gh-29695, smoketest.profile.ActiveProfilesTests starts a web
server bound to the default port (8080) despite the test setting
`webEnvironment` to `NONE`.

This commit works around the problem by running the tests with
server.port set to zero.

Closes gh-30086
3 years ago
Andy Wilkinson 97222236fe Merge branch '2.5.x' into 2.6.x
Closes gh-30046
3 years ago
Andy Wilkinson 57f935faed Use a more relaxed AliasCheck for CI on Windows
ContextHandler.ApproveAliases has been deprecated. We tried to
replace it with AllowedResourceAliasChecker but it does not
behave in the same way and causes CI failures on Windows.
ContextHandler.ApproveAliases always returns true so we should
hardcode our own implementation that does the same.

Closes gh-30045
3 years ago
Andy Wilkinson 3614c8d1f8 Merge branch '2.5.x' into 2.6.x
Closes gh-29954
3 years ago
Andy Wilkinson 1e8d29f7aa Configure Kotlin compilation JVM target by convention
Closes gh-29952
3 years ago
Stephane Nicoll 78797572ac Merge branch '2.5.x' into 2.6.x 3 years ago
Stephane Nicoll fa6a1463d0 Polish 3 years ago
Stephane Nicoll dc171c6462 Upgrade to Jetty 9.4.45.v20220203
Closes gh-29791
3 years ago
Stephane Nicoll a99582a3bb Upgrade to Jetty 9.4.45.v20220203
Closes gh-29771
3 years ago
Stephane Nicoll 136b5959c3 Merge branch '2.5.x' into 2.6.x
Closes gh-29612
3 years ago
Stephane Nicoll 7f17f819a6 Polish "Enforce use of BDDMockito"
See gh-29178
3 years ago
Yanming Zhou b49418aaaf Enforce use of BDDMockito
1. Replace Mockito.verify*() with BDDMockito.then()
2. Replace Mockito.doReturn() with BDDMockito.willReturn()
3. Adjust checkstyle rule

See gh-29178
3 years ago
Madhura Bhave 3460c24a16 Ignore context path when calling privilege evaluator
Previously, the error page security filter passed the request's URI
to the privilege evaluator. This was incorrect in applications with
a custom context path as the privilege evaluator must be passed a
path that does not include the context path and the request URI
includes the context path.

This commit updates the filter to use UrlPathHelper's
pathWithinApplication instead. The path within the application does
not include the context path. In addition, pathWithinAppliation
also correctly handles applications configured with a servlet
mapping other than the default of /.

Closes gh-29299

Co-Authored-By: Andy Wilkinson <wilkinsona@vmware.com>
3 years ago
Phillip Webb 14fe9347b5 Merge branch '2.5.x' into 2.6.x 3 years ago
Phillip Webb 3f7bf7d34f Modify SpringApplication Environment rather than setting it
Update `SpringBootContextLoader` so that when possible the
`SpringApplication` remains in control of creating the `Environment`
instance.

Prior to this commit, we would always create the `Environment` in the
`SpringBootContextLoader` and then call `setEnvironment` on the
`SpringApplication`. This meant that the `ApplicationEnvironment`
classes were not used and that `isCustomEnvironment` was set to `true`
so no conversion was applied.

With the updated code, an `ApplicationListener` is used to mutate the
`Environment` instance and add the required test property sources.

Fixes gh-29169
3 years ago
Phillip Webb 91d2b1b988 Merge branch '2.5.x' into 2.6.x
Closes gh-29374
3 years ago
Phillip Webb eb6b48fff0 Use side-effect free environment with tests rather than converting
Refine the logic introduced in 64270eca to use a side-effect free
Environment implementation rather than converting the Environment early.

Early conversion can cause condition evaluation issues if
`src/test/resources/application.properties` files are bound to the
`SpringApplication`. Specifically the `spring.main.web-application-type`
property can change the `Environment` type which must happen before
conditions are evaluated.

Fixes gh-29169
3 years ago
Madhura Bhave d9d161cd6b Allow previously authorized users to access the error page
Prior to this commit, the `ErrorPageSecurityFilter` verified if
access to the error page was allowed by invoking the
`WebInvocationPrivilegeEvaluator` with the Authentication from the
`SecurityContextHolder`.
This meant that access to the error page was denied for a `null` Authentication
 or `AnonymousAuthenticationToken` in cases where the error page required
authenticated access. This prevented authorized users from accessing the
error page in case the Authentication wasn't retrievable for the error dispatch,
which is the case for `@Transient` authentication or stateless session policy.

This commit updates the `ErrorPageSecurityFilter` to check access to the error page
only if the error is an authn or authz error in cases where an authentication object
is not found in the SecurityContextHolder. This makes the error response consistent
when bad credentials or no credentials are used while also allowing access to previously
authorized users.

Fixes gh-28953
3 years ago
Phillip Webb f676602c96 Merge branch '2.5.x' into 2.6.x 3 years ago
Phillip Webb 783981ba98 Merge branch '2.4.x' into 2.5.x 3 years ago
Phillip Webb d336a96b7f Update web.xml xsd references to for 3.1 version
See gh-29075
3 years ago
Phillip Webb 6e01c3edbe Merge branch '2.5.x' into 2.6.x
Closes gh-29077
3 years ago
Phillip Webb 17363d1b3a Merge branch '2.4.x' into 2.5.x
Closes gh-29076
3 years ago
Phillip Webb 1749c893dc Update web-app version to 3.1
Update the web-app version specified in `web.xml` to 3.1 in order to
make Eclipse happy.

Closes gh-29075
3 years ago
Phillip Webb beb68671bb Update copyright year of changed files 3 years ago
Scott Frederick 4eed637481 Merge branch '2.5.x'
Closes gh-28789
3 years ago
Scott Frederick 12244a8edd Remove use of Thymeleaf from smoke tests
Closes gh-28788
3 years ago
Phillip Webb b6d0b44703 Fix @SuppressWarnings 3 years ago