diff --git a/config/src/test/groovy/org/springframework/security/config/annotation/web/configurers/PortMapperConfigurerTests.groovy b/config/src/test/java/org/springframework/security/config/annotation/web/configurers/PortMapperConfigurerTests.java similarity index 50% rename from config/src/test/groovy/org/springframework/security/config/annotation/web/configurers/PortMapperConfigurerTests.groovy rename to config/src/test/java/org/springframework/security/config/annotation/web/configurers/PortMapperConfigurerTests.java index aff2afd2ec..bd50b3f9a6 100644 --- a/config/src/test/groovy/org/springframework/security/config/annotation/web/configurers/PortMapperConfigurerTests.groovy +++ b/config/src/test/java/org/springframework/security/config/annotation/web/configurers/PortMapperConfigurerTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2013 the original author or authors. + * Copyright 2002-2018 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -13,41 +13,42 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.security.config.annotation.web.configurers +package org.springframework.security.config.annotation.web.configurers; -import org.springframework.context.annotation.Configuration -import org.springframework.security.config.annotation.AnyObjectPostProcessor -import org.springframework.security.config.annotation.BaseSpringSpec -import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder; +import org.junit.Rule; +import org.junit.Test; +import org.springframework.beans.factory.annotation.Autowired; 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.configuration.WebSecurityConfigurerAdapter; -import org.springframework.security.web.access.ExceptionTranslationFilter -import org.springframework.security.web.context.NullSecurityContextRepository; -import org.springframework.security.web.context.SecurityContextPersistenceFilter -import org.springframework.security.web.context.SecurityContextRepository -import org.springframework.security.web.savedrequest.RequestCache -import org.springframework.security.web.session.ConcurrentSessionFilter -import org.springframework.security.web.session.SessionManagementFilter +import org.springframework.security.config.test.SpringTestRule; +import org.springframework.test.web.servlet.MockMvc; + +import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get; +import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.redirectedUrl; /** - * * @author Rob Winch + * @author Josh Cummings */ -class PortMapperConfigurerTests extends BaseSpringSpec { +public class PortMapperConfigurerTests { + @Rule + public final SpringTestRule spring = new SpringTestRule(); - def "invoke portMapper twice does not override"() { - setup: - loadConfig(InvokeTwiceDoesNotOverride) - request.setServerPort(543) - when: - springSecurityFilterChain.doFilter(request,response,chain) - then: - response.redirectedUrl == "https://localhost:123" + @Autowired + private MockMvc mockMvc; + + @Test + public void requestWhenPortMapperTwiceInvokedThenDoesNotOverride() throws Exception { + this.spring.register(InvokeTwiceDoesNotOverride.class).autowire(); + + this.mockMvc.perform(get("http://localhost:543")) + .andExpect(redirectedUrl("https://localhost:123")); } @EnableWebSecurity static class InvokeTwiceDoesNotOverride extends WebSecurityConfigurerAdapter { + @Override protected void configure(HttpSecurity http) throws Exception { http @@ -57,7 +58,7 @@ class PortMapperConfigurerTests extends BaseSpringSpec { .portMapper() .http(543).mapsTo(123) .and() - .portMapper() + .portMapper(); } } }