PortMapperConfigurerTests groovy->java

Issue: gh-4939
This commit is contained in:
Josh Cummings 2018-02-23 16:26:54 -07:00 committed by Joe Grandja
parent e08d4cc90c
commit 1b69c62d20

View File

@ -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"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with 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 * See the License for the specific language governing permissions and
* limitations under the License. * 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.junit.Rule;
import org.springframework.security.config.annotation.AnyObjectPostProcessor import org.junit.Test;
import org.springframework.security.config.annotation.BaseSpringSpec import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder;
import org.springframework.security.config.annotation.web.builders.HttpSecurity; 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.EnableWebSecurity;
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter; import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
import org.springframework.security.web.access.ExceptionTranslationFilter import org.springframework.security.config.test.SpringTestRule;
import org.springframework.security.web.context.NullSecurityContextRepository; import org.springframework.test.web.servlet.MockMvc;
import org.springframework.security.web.context.SecurityContextPersistenceFilter
import org.springframework.security.web.context.SecurityContextRepository import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
import org.springframework.security.web.savedrequest.RequestCache import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.redirectedUrl;
import org.springframework.security.web.session.ConcurrentSessionFilter
import org.springframework.security.web.session.SessionManagementFilter
/** /**
*
* @author Rob Winch * @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"() { @Autowired
setup: private MockMvc mockMvc;
loadConfig(InvokeTwiceDoesNotOverride)
request.setServerPort(543) @Test
when: public void requestWhenPortMapperTwiceInvokedThenDoesNotOverride() throws Exception {
springSecurityFilterChain.doFilter(request,response,chain) this.spring.register(InvokeTwiceDoesNotOverride.class).autowire();
then:
response.redirectedUrl == "https://localhost:123" this.mockMvc.perform(get("http://localhost:543"))
.andExpect(redirectedUrl("https://localhost:123"));
} }
@EnableWebSecurity @EnableWebSecurity
static class InvokeTwiceDoesNotOverride extends WebSecurityConfigurerAdapter { static class InvokeTwiceDoesNotOverride extends WebSecurityConfigurerAdapter {
@Override @Override
protected void configure(HttpSecurity http) throws Exception { protected void configure(HttpSecurity http) throws Exception {
http http
@ -57,7 +58,7 @@ class PortMapperConfigurerTests extends BaseSpringSpec {
.portMapper() .portMapper()
.http(543).mapsTo(123) .http(543).mapsTo(123)
.and() .and()
.portMapper() .portMapper();
} }
} }
} }