diff --git a/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/graphql/security/GraphQlWebFluxSecurityAutoConfigurationTests.java b/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/graphql/security/GraphQlWebFluxSecurityAutoConfigurationTests.java index f388ac35411..47659761ba3 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/graphql/security/GraphQlWebFluxSecurityAutoConfigurationTests.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/graphql/security/GraphQlWebFluxSecurityAutoConfigurationTests.java @@ -45,6 +45,7 @@ import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.security.config.annotation.method.configuration.EnableReactiveMethodSecurity; import org.springframework.security.config.annotation.web.reactive.EnableWebFluxSecurity; import org.springframework.security.config.web.server.ServerHttpSecurity; +import org.springframework.security.config.web.server.ServerHttpSecurity.CsrfSpec; import org.springframework.security.core.userdetails.MapReactiveUserDetailsService; import org.springframework.security.core.userdetails.User; import org.springframework.security.core.userdetails.UserDetails; @@ -161,7 +162,7 @@ class GraphQlWebFluxSecurityAutoConfigurationTests { @Bean SecurityWebFilterChain springWebFilterChain(ServerHttpSecurity http) { - return http.csrf((spec) -> spec.disable()) + return http.csrf(CsrfSpec::disable) // Demonstrate that method security works // Best practice to use both for defense in depth .authorizeExchange((requests) -> requests.anyExchange().permitAll()) diff --git a/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/graphql/security/GraphQlWebMvcSecurityAutoConfigurationTests.java b/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/graphql/security/GraphQlWebMvcSecurityAutoConfigurationTests.java index 45ea3fdcc81..6a0abd80b98 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/graphql/security/GraphQlWebMvcSecurityAutoConfigurationTests.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/graphql/security/GraphQlWebMvcSecurityAutoConfigurationTests.java @@ -41,6 +41,7 @@ import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.security.config.annotation.method.configuration.EnableMethodSecurity; import org.springframework.security.config.annotation.web.builders.HttpSecurity; import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; +import org.springframework.security.config.annotation.web.configurers.CsrfConfigurer; import org.springframework.security.core.userdetails.User; import org.springframework.security.core.userdetails.UserDetails; import org.springframework.security.provisioning.InMemoryUserDetailsManager; @@ -154,7 +155,7 @@ class GraphQlWebMvcSecurityAutoConfigurationTests { @Bean DefaultSecurityFilterChain springWebFilterChain(HttpSecurity http) throws Exception { - return http.csrf((c) -> c.disable()) + return http.csrf(CsrfConfigurer::disable) // Demonstrate that method security works // Best practice to use both for defense in depth .authorizeHttpRequests((requests) -> requests.anyRequest().permitAll()) diff --git a/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/logging/ConditionEvaluationReportLoggingListenerTests.java b/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/logging/ConditionEvaluationReportLoggingListenerTests.java index ebeba985c06..00b25111f83 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/logging/ConditionEvaluationReportLoggingListenerTests.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/logging/ConditionEvaluationReportLoggingListenerTests.java @@ -58,7 +58,7 @@ class ConditionEvaluationReportLoggingListenerTests { AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(); this.initializer.initialize(context); context.register(Config.class); - withDebugLogging(() -> context.refresh()); + withDebugLogging(context::refresh); assertThat(output).contains("CONDITIONS EVALUATION REPORT"); } diff --git a/spring-boot-project/spring-boot-devtools/src/test/java/org/springframework/boot/devtools/filewatch/FileSystemWatcherTests.java b/spring-boot-project/spring-boot-devtools/src/test/java/org/springframework/boot/devtools/filewatch/FileSystemWatcherTests.java index b9b4928f5ea..612850f90f6 100644 --- a/spring-boot-project/spring-boot-devtools/src/test/java/org/springframework/boot/devtools/filewatch/FileSystemWatcherTests.java +++ b/spring-boot-project/spring-boot-devtools/src/test/java/org/springframework/boot/devtools/filewatch/FileSystemWatcherTests.java @@ -297,7 +297,7 @@ class FileSystemWatcherTests { private void setupWatcher(long pollingInterval, long quietPeriod, SnapshotStateRepository snapshotStateRepository) { this.watcher = new FileSystemWatcher(false, Duration.ofMillis(pollingInterval), Duration.ofMillis(quietPeriod), snapshotStateRepository); - this.watcher.addListener((changeSet) -> FileSystemWatcherTests.this.changes.add(changeSet)); + this.watcher.addListener(FileSystemWatcherTests.this.changes::add); } private File startWithNewDirectory() { diff --git a/spring-boot-project/spring-boot-docker-compose/src/test/java/org/springframework/boot/docker/compose/core/DefaultRunningServiceTests.java b/spring-boot-project/spring-boot-docker-compose/src/test/java/org/springframework/boot/docker/compose/core/DefaultRunningServiceTests.java index 1a866f82a3a..08bebc44f26 100644 --- a/spring-boot-project/spring-boot-docker-compose/src/test/java/org/springframework/boot/docker/compose/core/DefaultRunningServiceTests.java +++ b/spring-boot-project/spring-boot-docker-compose/src/test/java/org/springframework/boot/docker/compose/core/DefaultRunningServiceTests.java @@ -115,7 +115,7 @@ class DefaultRunningServiceTests { } private DefaultRunningService createRunningService(boolean psResponseHasImage) { - DockerHost host = DockerHost.get("192.168.1.1", () -> Collections.emptyList()); + DockerHost host = DockerHost.get("192.168.1.1", Collections::emptyList); String id = "123"; String name = "my-service"; String image = "redis"; diff --git a/spring-boot-project/spring-boot-docker-compose/src/test/java/org/springframework/boot/docker/compose/core/DockerHostTests.java b/spring-boot-project/spring-boot-docker-compose/src/test/java/org/springframework/boot/docker/compose/core/DockerHostTests.java index b10feb3d7a3..1c09a1153f1 100644 --- a/spring-boot-project/spring-boot-docker-compose/src/test/java/org/springframework/boot/docker/compose/core/DockerHostTests.java +++ b/spring-boot-project/spring-boot-docker-compose/src/test/java/org/springframework/boot/docker/compose/core/DockerHostTests.java @@ -52,7 +52,7 @@ class DockerHostTests { private static final Function NO_SYSTEM_ENV = (key) -> null; - private static final Supplier> NO_CONTEXT = () -> Collections.emptyList(); + private static final Supplier> NO_CONTEXT = Collections::emptyList; @Test void getWhenHasHost() { diff --git a/spring-boot-project/spring-boot-docker-compose/src/test/java/org/springframework/boot/docker/compose/lifecycle/TcpConnectServiceReadinessCheckTests.java b/spring-boot-project/spring-boot-docker-compose/src/test/java/org/springframework/boot/docker/compose/lifecycle/TcpConnectServiceReadinessCheckTests.java index 3e81a2cef3d..7140eea4107 100644 --- a/spring-boot-project/spring-boot-docker-compose/src/test/java/org/springframework/boot/docker/compose/lifecycle/TcpConnectServiceReadinessCheckTests.java +++ b/spring-boot-project/spring-boot-docker-compose/src/test/java/org/springframework/boot/docker/compose/lifecycle/TcpConnectServiceReadinessCheckTests.java @@ -58,14 +58,14 @@ class TcpConnectServiceReadinessCheckTests { @Test void checkWhenServerWritesData() throws Exception { - withServer((socket) -> socket.getOutputStream().write('!'), (port) -> check(port)); + withServer((socket) -> socket.getOutputStream().write('!'), this::check); } @Test void checkWhenNoSocketOutput() throws Exception { // Simulate waiting for traffic from client to server. The sleep duration must // be longer than the read timeout of the ready check! - withServer((socket) -> sleep(Duration.ofSeconds(10)), (port) -> check(port)); + withServer((socket) -> sleep(Duration.ofSeconds(10)), this::check); } @Test diff --git a/spring-boot-project/spring-boot-test/src/test/java/org/springframework/boot/test/context/filter/ExcludeFilterApplicationContextInitializerTests.java b/spring-boot-project/spring-boot-test/src/test/java/org/springframework/boot/test/context/filter/ExcludeFilterApplicationContextInitializerTests.java index d221eb8c5cb..faf1c52818c 100644 --- a/spring-boot-project/spring-boot-test/src/test/java/org/springframework/boot/test/context/filter/ExcludeFilterApplicationContextInitializerTests.java +++ b/spring-boot-project/spring-boot-test/src/test/java/org/springframework/boot/test/context/filter/ExcludeFilterApplicationContextInitializerTests.java @@ -40,7 +40,7 @@ class ExcludeFilterApplicationContextInitializerTests { void testConfigurationIsExcluded() { SpringApplication application = new SpringApplication(TestApplication.class); application.setWebApplicationType(WebApplicationType.NONE); - AssertableApplicationContext applicationContext = AssertableApplicationContext.get(() -> application.run()); + AssertableApplicationContext applicationContext = AssertableApplicationContext.get(application::run); assertThat(applicationContext).hasSingleBean(TestApplication.class); assertThat(applicationContext).doesNotHaveBean(ExcludedTestConfiguration.class); } diff --git a/spring-boot-project/spring-boot-testcontainers/src/test/java/org/springframework/boot/testcontainers/service/connection/ContainerConnectionDetailsFactoryTests.java b/spring-boot-project/spring-boot-testcontainers/src/test/java/org/springframework/boot/testcontainers/service/connection/ContainerConnectionDetailsFactoryTests.java index d1039f3e75b..09594242d7b 100644 --- a/spring-boot-project/spring-boot-testcontainers/src/test/java/org/springframework/boot/testcontainers/service/connection/ContainerConnectionDetailsFactoryTests.java +++ b/spring-boot-project/spring-boot-testcontainers/src/test/java/org/springframework/boot/testcontainers/service/connection/ContainerConnectionDetailsFactoryTests.java @@ -111,7 +111,7 @@ class ContainerConnectionDetailsFactoryTests { void getContainerWhenNotInitializedThrowsException() { TestContainerConnectionDetailsFactory factory = new TestContainerConnectionDetailsFactory(); TestContainerConnectionDetails connectionDetails = getConnectionDetails(factory, this.source); - assertThatIllegalStateException().isThrownBy(() -> connectionDetails.callGetContainer()) + assertThatIllegalStateException().isThrownBy(connectionDetails::callGetContainer) .withMessage("Container cannot be obtained before the connection details bean has been initialized"); } diff --git a/spring-boot-project/spring-boot-tools/spring-boot-buildpack-platform/src/test/java/org/springframework/boot/buildpack/platform/docker/type/ImageReferenceTests.java b/spring-boot-project/spring-boot-tools/spring-boot-buildpack-platform/src/test/java/org/springframework/boot/buildpack/platform/docker/type/ImageReferenceTests.java index 9ec351e503d..b22c27e1ba2 100644 --- a/spring-boot-project/spring-boot-tools/spring-boot-buildpack-platform/src/test/java/org/springframework/boot/buildpack/platform/docker/type/ImageReferenceTests.java +++ b/spring-boot-project/spring-boot-tools/spring-boot-buildpack-platform/src/test/java/org/springframework/boot/buildpack/platform/docker/type/ImageReferenceTests.java @@ -255,7 +255,7 @@ class ImageReferenceTests { void inTaggedFormWhenHasDigestThrowsException() { ImageReference reference = ImageReference .of("ubuntu@sha256:6e9f67fa63b0323e9a1e587fd71c561ba48a034504fb804fd26fd8800039835d"); - assertThatIllegalStateException().isThrownBy(() -> reference.inTaggedForm()) + assertThatIllegalStateException().isThrownBy(reference::inTaggedForm) .withMessage( "Image reference 'docker.io/library/ubuntu@sha256:6e9f67fa63b0323e9a1e587fd71c561ba48a034504fb804fd26fd8800039835d' cannot contain a digest"); } diff --git a/spring-boot-project/spring-boot-tools/spring-boot-loader-classic/src/test/java/org/springframework/boot/loader/jar/JarFileTests.java b/spring-boot-project/spring-boot-tools/spring-boot-loader-classic/src/test/java/org/springframework/boot/loader/jar/JarFileTests.java index 27c30a0a7aa..aa605c105a4 100644 --- a/spring-boot-project/spring-boot-tools/spring-boot-loader-classic/src/test/java/org/springframework/boot/loader/jar/JarFileTests.java +++ b/spring-boot-project/spring-boot-tools/spring-boot-loader-classic/src/test/java/org/springframework/boot/loader/jar/JarFileTests.java @@ -719,7 +719,7 @@ class JarFileTests { Iterator iterator = this.jarFile.iterator(); iterator.next(); this.jarFile.close(); - assertThatZipFileClosedIsThrownBy(() -> iterator.hasNext()); + assertThatZipFileClosedIsThrownBy(iterator::hasNext); } @Test diff --git a/spring-boot-project/spring-boot-tools/spring-boot-loader/src/test/java/org/springframework/boot/loader/jar/NestedJarFileTests.java b/spring-boot-project/spring-boot-tools/spring-boot-loader/src/test/java/org/springframework/boot/loader/jar/NestedJarFileTests.java index 8dfc3e564c6..ad7882a4e6c 100644 --- a/spring-boot-project/spring-boot-tools/spring-boot-loader/src/test/java/org/springframework/boot/loader/jar/NestedJarFileTests.java +++ b/spring-boot-project/spring-boot-tools/spring-boot-loader/src/test/java/org/springframework/boot/loader/jar/NestedJarFileTests.java @@ -240,7 +240,7 @@ class NestedJarFileTests { void getCommentWhenClosedThrowsException() throws IOException { try (NestedJarFile jar = new NestedJarFile(this.file)) { jar.close(); - assertThatIllegalStateException().isThrownBy(() -> jar.getComment()).withMessage("Zip file closed"); + assertThatIllegalStateException().isThrownBy(jar::getComment).withMessage("Zip file closed"); } } @@ -269,7 +269,7 @@ class NestedJarFileTests { void sizeWhenClosedThrowsException() throws Exception { try (NestedJarFile jar = new NestedJarFile(this.file)) { jar.close(); - assertThatIllegalStateException().isThrownBy(() -> jar.size()).withMessage("Zip file closed"); + assertThatIllegalStateException().isThrownBy(jar::size).withMessage("Zip file closed"); } } diff --git a/spring-boot-project/spring-boot-tools/spring-boot-loader/src/test/java/org/springframework/boot/loader/net/protocol/jar/JarUrlConnectionTests.java b/spring-boot-project/spring-boot-tools/spring-boot-loader/src/test/java/org/springframework/boot/loader/net/protocol/jar/JarUrlConnectionTests.java index 83f52255333..5e00c180466 100644 --- a/spring-boot-project/spring-boot-tools/spring-boot-loader/src/test/java/org/springframework/boot/loader/net/protocol/jar/JarUrlConnectionTests.java +++ b/spring-boot-project/spring-boot-tools/spring-boot-loader/src/test/java/org/springframework/boot/loader/net/protocol/jar/JarUrlConnectionTests.java @@ -242,7 +242,7 @@ class JarUrlConnectionTests { @Test void getInputStreamWhenNotNestedAndHasNoEntryThrowsException() throws Exception { JarUrlConnection connection = JarUrlConnection.open(JarUrl.create(this.file)); - assertThatIOException().isThrownBy(() -> connection.getInputStream()).withMessage("no entry name specified"); + assertThatIOException().isThrownBy(connection::getInputStream).withMessage("no entry name specified"); } @Test diff --git a/spring-boot-project/spring-boot-tools/spring-boot-test-support/src/test/java/org/springframework/boot/testsupport/classpath/ModifiedClassPathExtensionForkParameterizedTests.java b/spring-boot-project/spring-boot-tools/spring-boot-test-support/src/test/java/org/springframework/boot/testsupport/classpath/ModifiedClassPathExtensionForkParameterizedTests.java index c2ddf1b7708..0b638f552a8 100644 --- a/spring-boot-project/spring-boot-tools/spring-boot-test-support/src/test/java/org/springframework/boot/testsupport/classpath/ModifiedClassPathExtensionForkParameterizedTests.java +++ b/spring-boot-project/spring-boot-tools/spring-boot-test-support/src/test/java/org/springframework/boot/testsupport/classpath/ModifiedClassPathExtensionForkParameterizedTests.java @@ -37,10 +37,14 @@ class ModifiedClassPathExtensionForkParameterizedTests { @ParameterizedTest @ValueSource(strings = { "one", "two", "three" }) void testIsInvokedOnceForEachArgument(String argument) { - switch (argument) { - case "one" -> assertThat(arguments).isEmpty(); - case "two" -> assertThat(arguments).doesNotContain("two", "three"); - case "three" -> assertThat(arguments).doesNotContain("three"); + if (argument.equals("one")) { + assertThat(arguments).isEmpty(); + } + else if (argument.equals("two")) { + assertThat(arguments).doesNotContain("two", "three"); + } + else if (argument.equals("three")) { + assertThat(arguments).doesNotContain("three"); } arguments.add(argument); } diff --git a/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/context/properties/PropertySourcesDeducerTests.java b/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/context/properties/PropertySourcesDeducerTests.java index 25738886289..c9bd20858ff 100644 --- a/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/context/properties/PropertySourcesDeducerTests.java +++ b/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/context/properties/PropertySourcesDeducerTests.java @@ -79,7 +79,7 @@ class PropertySourcesDeducerTests { Environment environment = mock(Environment.class); given(applicationContext.getEnvironment()).willReturn(environment); PropertySourcesDeducer deducer = new PropertySourcesDeducer(applicationContext); - assertThatIllegalStateException().isThrownBy(() -> deducer.getPropertySources()) + assertThatIllegalStateException().isThrownBy(deducer::getPropertySources) .withMessage("Unable to obtain PropertySources from PropertySourcesPlaceholderConfigurer or Environment"); } diff --git a/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/logging/LoggerConfigurationTests.java b/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/logging/LoggerConfigurationTests.java index d6bc631d96e..800bedc2e75 100644 --- a/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/logging/LoggerConfigurationTests.java +++ b/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/logging/LoggerConfigurationTests.java @@ -160,7 +160,7 @@ class LoggerConfigurationTests { @Test void getLevelWhenCustomThrowsException() { LevelConfiguration configuration = LevelConfiguration.ofCustom("FINE"); - assertThatIllegalStateException().isThrownBy(() -> configuration.getLevel()) + assertThatIllegalStateException().isThrownBy(configuration::getLevel) .withMessage("Unable to provide LogLevel for 'FINE'"); } diff --git a/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/logging/log4j2/SpringBootPropertySourceTests.java b/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/logging/log4j2/SpringBootPropertySourceTests.java index 56b96c4d4f0..5934a1a0391 100644 --- a/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/logging/log4j2/SpringBootPropertySourceTests.java +++ b/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/logging/log4j2/SpringBootPropertySourceTests.java @@ -16,6 +16,7 @@ package org.springframework.boot.logging.log4j2; +import java.lang.reflect.Method; import java.util.stream.Stream; import org.apache.logging.log4j.LogManager; @@ -46,8 +47,7 @@ class SpringBootPropertySourceTests { @Test void allDefaultMethodsAreImplemented() { - assertThat(Stream.of(SpringBootPropertySource.class.getMethods()).filter((method) -> method.isDefault())) - .isEmpty(); + assertThat(Stream.of(SpringBootPropertySource.class.getMethods()).filter(Method::isDefault)).isEmpty(); } } diff --git a/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/logging/logback/LogbackLoggingSystemParallelInitializationTests.java b/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/logging/logback/LogbackLoggingSystemParallelInitializationTests.java index ea9d69cdf8f..f9907403c59 100644 --- a/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/logging/logback/LogbackLoggingSystemParallelInitializationTests.java +++ b/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/logging/logback/LogbackLoggingSystemParallelInitializationTests.java @@ -53,7 +53,7 @@ class LogbackLoggingSystemParallelInitializationTests { List threads = new ArrayList<>(); List exceptions = new CopyOnWriteArrayList<>(); for (int i = 0; i < 10; i++) { - Thread thread = new Thread(() -> this.loggingSystem.beforeInitialize()); + Thread thread = new Thread(this.loggingSystem::beforeInitialize); thread.setUncaughtExceptionHandler((t, ex) -> exceptions.add(ex)); threads.add(thread); } diff --git a/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/sql/init/AbstractScriptDatabaseInitializerTests.java b/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/sql/init/AbstractScriptDatabaseInitializerTests.java index d46d3221e85..26f1cf6ab21 100644 --- a/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/sql/init/AbstractScriptDatabaseInitializerTests.java +++ b/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/sql/init/AbstractScriptDatabaseInitializerTests.java @@ -59,7 +59,7 @@ public abstract class AbstractScriptDatabaseInitializerTests initializer.initializeDatabase()); + assertThatExceptionOfType(DataAccessException.class).isThrownBy(initializer::initializeDatabase); assertThatDatabaseWasAccessed(initializer); } diff --git a/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/ssl/DefaultSslManagerBundleTests.java b/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/ssl/DefaultSslManagerBundleTests.java index ffe6986b3b0..f396c04f3b2 100644 --- a/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/ssl/DefaultSslManagerBundleTests.java +++ b/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/ssl/DefaultSslManagerBundleTests.java @@ -89,7 +89,7 @@ class DefaultSslManagerBundleTests { SslStoreBundle storeBundle = SslStoreBundle.of(keyStore, null, null); DefaultSslManagerBundle bundle = new TestDefaultSslManagerBundle(storeBundle, SslBundleKey.of("secret", "alias")); - assertThatIllegalStateException().isThrownBy(() -> bundle.getKeyManagerFactory()) + assertThatIllegalStateException().isThrownBy(bundle::getKeyManagerFactory) .withMessage("Keystore does not contain alias 'alias'"); } @@ -100,7 +100,7 @@ class DefaultSslManagerBundleTests { SslStoreBundle storeBundle = SslStoreBundle.of(keyStore, null, null); DefaultSslManagerBundle bundle = new TestDefaultSslManagerBundle(storeBundle, SslBundleKey.of("secret", "alias")); - assertThatIllegalStateException().isThrownBy(() -> bundle.getKeyManagerFactory()) + assertThatIllegalStateException().isThrownBy(bundle::getKeyManagerFactory) .withMessage("Could not determine if keystore contains alias 'alias'"); } diff --git a/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/web/reactive/context/ReactiveWebServerApplicationContextTests.java b/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/web/reactive/context/ReactiveWebServerApplicationContextTests.java index 13177c6fd2c..e847d1b2da8 100644 --- a/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/web/reactive/context/ReactiveWebServerApplicationContextTests.java +++ b/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/web/reactive/context/ReactiveWebServerApplicationContextTests.java @@ -59,7 +59,7 @@ class ReactiveWebServerApplicationContextTests { @Test void whenThereIsNoWebServerFactoryBeanThenContextRefreshWillFail() { - assertThatExceptionOfType(ApplicationContextException.class).isThrownBy(() -> this.context.refresh()) + assertThatExceptionOfType(ApplicationContextException.class).isThrownBy(this.context::refresh) .havingRootCause() .withMessageContaining( "Unable to start ReactiveWebServerApplicationContext due to missing ReactiveWebServerFactory bean"); @@ -68,7 +68,7 @@ class ReactiveWebServerApplicationContextTests { @Test void whenThereIsNoHttpHandlerBeanThenContextRefreshWillFail() { addWebServerFactoryBean(); - assertThatExceptionOfType(ApplicationContextException.class).isThrownBy(() -> this.context.refresh()) + assertThatExceptionOfType(ApplicationContextException.class).isThrownBy(this.context::refresh) .havingRootCause() .withMessageContaining("Unable to start ReactiveWebApplicationContext due to missing HttpHandler bean"); } @@ -77,7 +77,7 @@ class ReactiveWebServerApplicationContextTests { void whenThereAreMultipleWebServerFactoryBeansThenContextRefreshWillFail() { addWebServerFactoryBean(); addWebServerFactoryBean("anotherWebServerFactory"); - assertThatExceptionOfType(ApplicationContextException.class).isThrownBy(() -> this.context.refresh()) + assertThatExceptionOfType(ApplicationContextException.class).isThrownBy(this.context::refresh) .havingRootCause() .withMessageContaining( "Unable to start ReactiveWebApplicationContext due to multiple ReactiveWebServerFactory beans"); @@ -88,7 +88,7 @@ class ReactiveWebServerApplicationContextTests { addWebServerFactoryBean(); addHttpHandlerBean("httpHandler1"); addHttpHandlerBean("httpHandler2"); - assertThatExceptionOfType(ApplicationContextException.class).isThrownBy(() -> this.context.refresh()) + assertThatExceptionOfType(ApplicationContextException.class).isThrownBy(this.context::refresh) .havingRootCause() .withMessageContaining("Unable to start ReactiveWebApplicationContext due to multiple HttpHandler beans"); } @@ -164,7 +164,7 @@ class ReactiveWebServerApplicationContextTests { addWebServerFactoryBean(); addHttpHandlerBean(); this.context.refresh(); - assertThatIllegalStateException().isThrownBy(() -> this.context.refresh()) + assertThatIllegalStateException().isThrownBy(this.context::refresh) .withMessageContaining("multiple refresh attempts"); } diff --git a/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/web/servlet/AbstractFilterRegistrationBeanTests.java b/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/web/servlet/AbstractFilterRegistrationBeanTests.java index 762bcea7ca1..e43995d1ef5 100644 --- a/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/web/servlet/AbstractFilterRegistrationBeanTests.java +++ b/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/web/servlet/AbstractFilterRegistrationBeanTests.java @@ -205,7 +205,7 @@ abstract class AbstractFilterRegistrationBeanTests { @Test void failsWithDoubleRegistration() { - assertThatIllegalStateException().isThrownBy(() -> doubleRegistration()) + assertThatIllegalStateException().isThrownBy(this::doubleRegistration) .withMessage("Failed to register 'filter double-registration' on the " + "servlet context. Possibly already registered?"); } diff --git a/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/web/servlet/ServletRegistrationBeanTests.java b/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/web/servlet/ServletRegistrationBeanTests.java index cc392f5ca00..1fd4b4e5c88 100644 --- a/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/web/servlet/ServletRegistrationBeanTests.java +++ b/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/web/servlet/ServletRegistrationBeanTests.java @@ -69,7 +69,7 @@ class ServletRegistrationBeanTests { @Test void failsWithDoubleRegistration() { - assertThatIllegalStateException().isThrownBy(() -> doubleRegistration()) + assertThatIllegalStateException().isThrownBy(this::doubleRegistration) .withMessage("Failed to register 'servlet double-registration' on " + "the servlet context. Possibly already registered?"); } diff --git a/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/web/servlet/context/ServletWebServerApplicationContextTests.java b/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/web/servlet/context/ServletWebServerApplicationContextTests.java index 059b6224c29..bbb07935bb1 100644 --- a/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/web/servlet/context/ServletWebServerApplicationContextTests.java +++ b/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/web/servlet/context/ServletWebServerApplicationContextTests.java @@ -215,7 +215,7 @@ class ServletWebServerApplicationContextTests { void cannotSecondRefresh() { addWebServerFactoryBean(); this.context.refresh(); - assertThatIllegalStateException().isThrownBy(() -> this.context.refresh()); + assertThatIllegalStateException().isThrownBy(this.context::refresh); } @Test @@ -229,7 +229,7 @@ class ServletWebServerApplicationContextTests { @Test void missingServletWebServerFactory() { - assertThatExceptionOfType(ApplicationContextException.class).isThrownBy(() -> this.context.refresh()) + assertThatExceptionOfType(ApplicationContextException.class).isThrownBy(this.context::refresh) .havingRootCause() .withMessageContaining("Unable to start ServletWebServerApplicationContext due to missing " + "ServletWebServerFactory bean"); @@ -240,7 +240,7 @@ class ServletWebServerApplicationContextTests { addWebServerFactoryBean(); this.context.registerBeanDefinition("webServerFactory2", new RootBeanDefinition(MockServletWebServerFactory.class)); - assertThatExceptionOfType(ApplicationContextException.class).isThrownBy(() -> this.context.refresh()) + assertThatExceptionOfType(ApplicationContextException.class).isThrownBy(this.context::refresh) .havingRootCause() .withMessageContaining("Unable to start ServletWebServerApplicationContext due to " + "multiple ServletWebServerFactory beans"); diff --git a/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-actuator/src/test/java/smoketest/actuator/ShutdownSampleActuatorApplicationTests.java b/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-actuator/src/test/java/smoketest/actuator/ShutdownSampleActuatorApplicationTests.java index 2a6b74716bc..6076e62a815 100644 --- a/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-actuator/src/test/java/smoketest/actuator/ShutdownSampleActuatorApplicationTests.java +++ b/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-actuator/src/test/java/smoketest/actuator/ShutdownSampleActuatorApplicationTests.java @@ -29,6 +29,7 @@ import org.springframework.context.annotation.Configuration; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.security.config.annotation.web.builders.HttpSecurity; +import org.springframework.security.config.annotation.web.configurers.CsrfConfigurer; import org.springframework.security.web.SecurityFilterChain; import org.springframework.test.annotation.DirtiesContext; @@ -74,7 +75,7 @@ class ShutdownSampleActuatorApplicationTests { @Bean SecurityFilterChain configure(HttpSecurity http) throws Exception { - http.csrf((csrf) -> csrf.disable()); + http.csrf(CsrfConfigurer::disable); return http.build(); } diff --git a/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-graphql/src/main/java/smoketest/graphql/SecurityConfig.java b/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-graphql/src/main/java/smoketest/graphql/SecurityConfig.java index 3c0f2a656de..8cd70d7c601 100644 --- a/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-graphql/src/main/java/smoketest/graphql/SecurityConfig.java +++ b/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-graphql/src/main/java/smoketest/graphql/SecurityConfig.java @@ -21,6 +21,7 @@ import org.springframework.context.annotation.Configuration; import org.springframework.security.config.annotation.method.configuration.EnableMethodSecurity; import org.springframework.security.config.annotation.web.builders.HttpSecurity; import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; +import org.springframework.security.config.annotation.web.configurers.CsrfConfigurer; import org.springframework.security.core.userdetails.User; import org.springframework.security.core.userdetails.UserDetails; import org.springframework.security.provisioning.InMemoryUserDetailsManager; @@ -35,7 +36,7 @@ public class SecurityConfig { @Bean public DefaultSecurityFilterChain springWebFilterChain(HttpSecurity http) throws Exception { - return http.csrf((csrf) -> csrf.disable()) + return http.csrf(CsrfConfigurer::disable) // Demonstrate that method security works // Best practice to use both for defense in depth .authorizeHttpRequests((requests) -> requests.anyRequest().permitAll()) diff --git a/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-session-hazelcast/src/main/java/smoketest/session/hazelcast/SecurityConfiguration.java b/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-session-hazelcast/src/main/java/smoketest/session/hazelcast/SecurityConfiguration.java index 5b097e4c3c3..666a8436986 100644 --- a/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-session-hazelcast/src/main/java/smoketest/session/hazelcast/SecurityConfiguration.java +++ b/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-session-hazelcast/src/main/java/smoketest/session/hazelcast/SecurityConfiguration.java @@ -21,6 +21,7 @@ import org.springframework.boot.actuate.health.HealthEndpoint; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.security.config.annotation.web.builders.HttpSecurity; +import org.springframework.security.config.annotation.web.configurers.CsrfConfigurer; import org.springframework.security.web.SecurityFilterChain; import static org.springframework.security.config.Customizer.withDefaults; @@ -41,7 +42,7 @@ class SecurityConfiguration { }); http.formLogin(withDefaults()); http.httpBasic(withDefaults()); - http.csrf((csrf) -> csrf.disable()); + http.csrf(CsrfConfigurer::disable); return http.build(); } diff --git a/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-session-jdbc/src/main/java/smoketest/session/SecurityConfiguration.java b/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-session-jdbc/src/main/java/smoketest/session/SecurityConfiguration.java index 56d724df55d..d14478aeba8 100644 --- a/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-session-jdbc/src/main/java/smoketest/session/SecurityConfiguration.java +++ b/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-session-jdbc/src/main/java/smoketest/session/SecurityConfiguration.java @@ -21,6 +21,7 @@ import org.springframework.boot.actuate.health.HealthEndpoint; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.security.config.annotation.web.builders.HttpSecurity; +import org.springframework.security.config.annotation.web.configurers.CsrfConfigurer; import org.springframework.security.web.SecurityFilterChain; import static org.springframework.security.config.Customizer.withDefaults; @@ -41,7 +42,7 @@ class SecurityConfiguration { }); http.formLogin(withDefaults()); http.httpBasic(withDefaults()); - http.csrf((csrf) -> csrf.disable()); + http.csrf(CsrfConfigurer::disable); return http.build(); } diff --git a/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-session-mongo/src/main/java/smoketest/session/mongodb/SecurityConfiguration.java b/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-session-mongo/src/main/java/smoketest/session/mongodb/SecurityConfiguration.java index f88e74f66dc..f9946435ed2 100644 --- a/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-session-mongo/src/main/java/smoketest/session/mongodb/SecurityConfiguration.java +++ b/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-session-mongo/src/main/java/smoketest/session/mongodb/SecurityConfiguration.java @@ -21,6 +21,7 @@ import org.springframework.boot.actuate.health.HealthEndpoint; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.security.config.annotation.web.builders.HttpSecurity; +import org.springframework.security.config.annotation.web.configurers.CsrfConfigurer; import org.springframework.security.web.SecurityFilterChain; import static org.springframework.security.config.Customizer.withDefaults; @@ -41,7 +42,7 @@ class SecurityConfiguration { }); http.formLogin(withDefaults()); http.httpBasic(withDefaults()); - http.csrf((csrf) -> csrf.disable()); + http.csrf(CsrfConfigurer::disable); return http.build(); } diff --git a/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-session-redis/src/main/java/smoketest/session/redis/SecurityConfiguration.java b/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-session-redis/src/main/java/smoketest/session/redis/SecurityConfiguration.java index 14408477a09..d0b832432db 100644 --- a/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-session-redis/src/main/java/smoketest/session/redis/SecurityConfiguration.java +++ b/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-session-redis/src/main/java/smoketest/session/redis/SecurityConfiguration.java @@ -21,6 +21,7 @@ import org.springframework.boot.actuate.health.HealthEndpoint; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.security.config.annotation.web.builders.HttpSecurity; +import org.springframework.security.config.annotation.web.configurers.CsrfConfigurer; import org.springframework.security.web.SecurityFilterChain; import static org.springframework.security.config.Customizer.withDefaults; @@ -41,7 +42,7 @@ class SecurityConfiguration { }); http.formLogin(withDefaults()); http.httpBasic(withDefaults()); - http.csrf((csrf) -> csrf.disable()); + http.csrf(CsrfConfigurer::disable); return http.build(); } diff --git a/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-web-method-security/src/main/java/smoketest/security/method/SampleMethodSecurityApplication.java b/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-web-method-security/src/main/java/smoketest/security/method/SampleMethodSecurityApplication.java index 98789147564..dc8d9be6e2d 100644 --- a/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-web-method-security/src/main/java/smoketest/security/method/SampleMethodSecurityApplication.java +++ b/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-web-method-security/src/main/java/smoketest/security/method/SampleMethodSecurityApplication.java @@ -28,6 +28,7 @@ import org.springframework.core.annotation.Order; import org.springframework.security.access.annotation.Secured; import org.springframework.security.config.annotation.method.configuration.EnableMethodSecurity; import org.springframework.security.config.annotation.web.builders.HttpSecurity; +import org.springframework.security.config.annotation.web.configurers.CsrfConfigurer; import org.springframework.security.core.userdetails.User; import org.springframework.security.provisioning.InMemoryUserDetailsManager; import org.springframework.security.web.SecurityFilterChain; @@ -75,7 +76,7 @@ public class SampleMethodSecurityApplication implements WebMvcConfigurer { @Bean SecurityFilterChain configure(HttpSecurity http) throws Exception { - http.csrf((csrf) -> csrf.disable()); + http.csrf(CsrfConfigurer::disable); http.authorizeHttpRequests((requests) -> { requests.dispatcherTypeMatchers(DispatcherType.FORWARD).permitAll(); requests.anyRequest().fullyAuthenticated(); @@ -94,7 +95,7 @@ public class SampleMethodSecurityApplication implements WebMvcConfigurer { @Bean SecurityFilterChain actuatorSecurity(HttpSecurity http) throws Exception { - http.csrf((csrf) -> csrf.disable()); + http.csrf(CsrfConfigurer::disable); http.securityMatcher(EndpointRequest.toAnyEndpoint()); http.authorizeHttpRequests((requests) -> requests.anyRequest().authenticated()); http.httpBasic(withDefaults()); diff --git a/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-web-secure-custom/src/main/java/smoketest/web/secure/custom/SampleWebSecureCustomApplication.java b/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-web-secure-custom/src/main/java/smoketest/web/secure/custom/SampleWebSecureCustomApplication.java index 5d735b35567..ed7404b4d3f 100644 --- a/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-web-secure-custom/src/main/java/smoketest/web/secure/custom/SampleWebSecureCustomApplication.java +++ b/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-web-secure-custom/src/main/java/smoketest/web/secure/custom/SampleWebSecureCustomApplication.java @@ -23,6 +23,7 @@ import org.springframework.boot.builder.SpringApplicationBuilder; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.security.config.annotation.web.builders.HttpSecurity; +import org.springframework.security.config.annotation.web.configurers.CsrfConfigurer; import org.springframework.security.web.SecurityFilterChain; import org.springframework.web.servlet.config.annotation.ViewControllerRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; @@ -45,7 +46,7 @@ public class SampleWebSecureCustomApplication implements WebMvcConfigurer { @Bean SecurityFilterChain configure(HttpSecurity http) throws Exception { - http.csrf((csrf) -> csrf.disable()); + http.csrf(CsrfConfigurer::disable); http.authorizeHttpRequests((requests) -> { requests.dispatcherTypeMatchers(DispatcherType.FORWARD).permitAll(); requests.anyRequest().fullyAuthenticated(); diff --git a/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-web-secure-jdbc/src/main/java/smoketest/web/secure/jdbc/SampleWebSecureJdbcApplication.java b/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-web-secure-jdbc/src/main/java/smoketest/web/secure/jdbc/SampleWebSecureJdbcApplication.java index c6e9eff88b3..6d13dd4d607 100644 --- a/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-web-secure-jdbc/src/main/java/smoketest/web/secure/jdbc/SampleWebSecureJdbcApplication.java +++ b/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-web-secure-jdbc/src/main/java/smoketest/web/secure/jdbc/SampleWebSecureJdbcApplication.java @@ -25,6 +25,7 @@ import org.springframework.boot.builder.SpringApplicationBuilder; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.security.config.annotation.web.builders.HttpSecurity; +import org.springframework.security.config.annotation.web.configurers.CsrfConfigurer; import org.springframework.security.provisioning.JdbcUserDetailsManager; import org.springframework.security.web.SecurityFilterChain; import org.springframework.web.servlet.config.annotation.ViewControllerRegistry; @@ -48,7 +49,7 @@ public class SampleWebSecureJdbcApplication implements WebMvcConfigurer { @Bean SecurityFilterChain configure(HttpSecurity http) throws Exception { - http.csrf((csrf) -> csrf.disable()); + http.csrf(CsrfConfigurer::disable); http.authorizeHttpRequests((requests) -> { requests.dispatcherTypeMatchers(DispatcherType.FORWARD).permitAll(); requests.anyRequest().fullyAuthenticated(); diff --git a/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-web-secure/src/test/java/smoketest/web/secure/SampleWebSecureApplicationTests.java b/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-web-secure/src/test/java/smoketest/web/secure/SampleWebSecureApplicationTests.java index 8930c363a96..6ff2948f8a4 100644 --- a/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-web-secure/src/test/java/smoketest/web/secure/SampleWebSecureApplicationTests.java +++ b/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-web-secure/src/test/java/smoketest/web/secure/SampleWebSecureApplicationTests.java @@ -34,6 +34,7 @@ import org.springframework.http.HttpStatus; import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; import org.springframework.security.config.annotation.web.builders.HttpSecurity; +import org.springframework.security.config.annotation.web.configurers.CsrfConfigurer; import org.springframework.security.web.SecurityFilterChain; import org.springframework.util.LinkedMultiValueMap; import org.springframework.util.MultiValueMap; @@ -96,7 +97,7 @@ class SampleWebSecureApplicationTests { @Bean SecurityFilterChain configure(HttpSecurity http) throws Exception { - http.csrf((csrf) -> csrf.disable()); + http.csrf(CsrfConfigurer::disable); http.authorizeHttpRequests((requests) -> { requests.requestMatchers("/public/**").permitAll(); requests.dispatcherTypeMatchers(DispatcherType.FORWARD).permitAll();