From dcb7c66a55cad9048179e9042d391a4edaf9ced3 Mon Sep 17 00:00:00 2001 From: Tomasz Letachowicz Date: Fri, 4 Oct 2024 16:50:00 +0200 Subject: [PATCH] Add localization to DefaultLoginPageConfigurerTests test in order to avoid failure when system language is different --- .../configurers/DefaultLoginPageConfigurerTests.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/config/src/test/java/org/springframework/security/config/annotation/web/configurers/DefaultLoginPageConfigurerTests.java b/config/src/test/java/org/springframework/security/config/annotation/web/configurers/DefaultLoginPageConfigurerTests.java index 7efdc87ee58..6d683c4899a 100644 --- a/config/src/test/java/org/springframework/security/config/annotation/web/configurers/DefaultLoginPageConfigurerTests.java +++ b/config/src/test/java/org/springframework/security/config/annotation/web/configurers/DefaultLoginPageConfigurerTests.java @@ -22,12 +22,14 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; +import org.springframework.context.support.MessageSourceAccessor; import org.springframework.mock.web.MockHttpSession; import org.springframework.security.config.ObjectPostProcessor; import org.springframework.security.config.annotation.web.builders.HttpSecurity; import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; import org.springframework.security.config.test.SpringTestContext; import org.springframework.security.config.test.SpringTestContextExtension; +import org.springframework.security.core.SpringSecurityMessageSource; import org.springframework.security.core.userdetails.PasswordEncodedUser; import org.springframework.security.core.userdetails.UserDetailsService; import org.springframework.security.provisioning.InMemoryUserDetailsManager; @@ -75,6 +77,8 @@ public class DefaultLoginPageConfigurerTests { @Autowired MockMvc mvc; + MessageSourceAccessor messages = SpringSecurityMessageSource.getAccessor(); + @Test public void getWhenFormLoginEnabledThenRedirectsToLoginPage() throws Exception { this.spring.register(DefaultLoginPageConfig.class).autowire(); @@ -144,6 +148,8 @@ public void loginPageWhenErrorThenDefaultLoginPageWithError() throws Exception { this.mvc.perform(get("/login?error").session((MockHttpSession) mvcResult.getRequest().getSession()) .sessionAttr(csrfAttributeName, csrfToken)) .andExpect((result) -> { + String badCredentialsLocalizedMessage = this.messages + .getMessage("AbstractUserDetailsAuthenticationProvider.badCredentials", "Bad credentials"); CsrfToken token = (CsrfToken) result.getRequest().getAttribute(CsrfToken.class.getName()); assertThat(result.getResponse().getContentAsString()).isEqualTo(""" @@ -160,7 +166,7 @@ public void loginPageWhenErrorThenDefaultLoginPageWithError() throws Exception {
- """.formatted(token.getToken())); + """.formatted(badCredentialsLocalizedMessage, token.getToken())); }); // @formatter:on }