diff --git a/spring-integration-groovy/src/test/java/org/springframework/integration/groovy/config/GroovyControlBusTests.java b/spring-integration-groovy/src/test/java/org/springframework/integration/groovy/config/GroovyControlBusTests.java index e5d3dbe2d6..705d752a29 100644 --- a/spring-integration-groovy/src/test/java/org/springframework/integration/groovy/config/GroovyControlBusTests.java +++ b/spring-integration-groovy/src/test/java/org/springframework/integration/groovy/config/GroovyControlBusTests.java @@ -16,9 +16,9 @@ package org.springframework.integration.groovy.config; -import static org.junit.Assert.assertTrue; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNull; +import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; import groovy.lang.GroovyObject; @@ -30,6 +30,7 @@ import org.junit.FixMethodOrder; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.MethodSorters; + import org.springframework.beans.factory.BeanCreationException; import org.springframework.beans.factory.BeanCreationNotAllowedException; import org.springframework.beans.factory.BeanIsAbstractException; @@ -115,6 +116,8 @@ public class GroovyControlBusTests { Message message = MessageBuilder.withPayload("def result = requestScopedService.convert('testString')").build(); this.input.send(message); assertEquals("cat", output.receive(0).getPayload()); + + RequestContextHolder.resetRequestAttributes(); } @Test //INT-2567 @@ -180,7 +183,7 @@ public class GroovyControlBusTests { private static class MockRequestAttributes implements RequestAttributes { - private Map fakeRequest = new HashMap(); + private final Map fakeRequest = new HashMap(); public Object getAttribute(String name, int scope) { return fakeRequest.get(name); diff --git a/spring-integration-http/src/test/java/org/springframework/integration/http/AbstractHttpInboundTests.java b/spring-integration-http/src/test/java/org/springframework/integration/http/AbstractHttpInboundTests.java new file mode 100644 index 0000000000..044bdcdf2b --- /dev/null +++ b/spring-integration-http/src/test/java/org/springframework/integration/http/AbstractHttpInboundTests.java @@ -0,0 +1,42 @@ +/* + * Copyright 2013 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. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.springframework.integration.http; + +import org.junit.After; +import org.junit.Before; + +import org.springframework.mock.web.MockHttpServletRequest; +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; + +/** + * @author Artem Bilan + * @since 3.0 + */ +public abstract class AbstractHttpInboundTests { + + @Before + public void setupHttpInbound() { + RequestContextHolder.setRequestAttributes(new ServletRequestAttributes(new MockHttpServletRequest())); + } + + @After + public void tearDownHttpInbound() { + RequestContextHolder.resetRequestAttributes(); + } + +} diff --git a/spring-integration-http/src/test/java/org/springframework/integration/http/HttpProxyScenarioTests.java b/spring-integration-http/src/test/java/org/springframework/integration/http/HttpProxyScenarioTests.java index 903f958864..81fa293e87 100644 --- a/spring-integration-http/src/test/java/org/springframework/integration/http/HttpProxyScenarioTests.java +++ b/spring-integration-http/src/test/java/org/springframework/integration/http/HttpProxyScenarioTests.java @@ -137,6 +137,7 @@ public class HttpProxyScenarioTests { assertEquals(ifModifiedSince, headers.get("If-Modified-Since")); assertEquals(ifUnmodifiedSince, headers.get("If-Unmodified-Since")); + RequestContextHolder.resetRequestAttributes(); } } diff --git a/spring-integration-http/src/test/java/org/springframework/integration/http/config/HttpInboundChannelAdapterParserTests.java b/spring-integration-http/src/test/java/org/springframework/integration/http/config/HttpInboundChannelAdapterParserTests.java index d86d234170..bd0f8fa4f8 100644 --- a/spring-integration-http/src/test/java/org/springframework/integration/http/config/HttpInboundChannelAdapterParserTests.java +++ b/spring-integration-http/src/test/java/org/springframework/integration/http/config/HttpInboundChannelAdapterParserTests.java @@ -18,11 +18,11 @@ package org.springframework.integration.http.config; import static org.hamcrest.CoreMatchers.instanceOf; import static org.hamcrest.MatcherAssert.assertThat; +import static org.junit.Assert.assertArrayEquals; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertTrue; import static org.junit.Assert.assertSame; -import static org.junit.Assert.assertArrayEquals; +import static org.junit.Assert.assertTrue; import java.io.ByteArrayOutputStream; import java.io.ObjectOutputStream; @@ -36,11 +36,9 @@ import javax.servlet.http.HttpServletResponse; import org.junit.Test; import org.junit.runner.RunWith; -import org.springframework.beans.DirectFieldAccessor; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.expression.Expression; -import org.springframework.expression.spel.SpelEvaluationException; import org.springframework.http.HttpHeaders; import org.springframework.http.HttpMethod; import org.springframework.http.converter.HttpMessageConverter; @@ -48,6 +46,7 @@ import org.springframework.integration.Message; import org.springframework.integration.MessageChannel; import org.springframework.integration.core.PollableChannel; import org.springframework.integration.history.MessageHistory; +import org.springframework.integration.http.AbstractHttpInboundTests; import org.springframework.integration.http.converter.SerializingHttpMessageConverter; import org.springframework.integration.http.inbound.HttpRequestHandlingController; import org.springframework.integration.http.inbound.HttpRequestHandlingMessagingGateway; @@ -74,7 +73,7 @@ import org.springframework.web.servlet.HandlerMapping; */ @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration -public class HttpInboundChannelAdapterParserTests { +public class HttpInboundChannelAdapterParserTests extends AbstractHttpInboundTests { @Autowired private PollableChannel requests; diff --git a/spring-integration-http/src/test/java/org/springframework/integration/http/inbound/HttpRequestHandlingControllerTests.java b/spring-integration-http/src/test/java/org/springframework/integration/http/inbound/HttpRequestHandlingControllerTests.java index 8dfb3db725..9fa262e23a 100644 --- a/spring-integration-http/src/test/java/org/springframework/integration/http/inbound/HttpRequestHandlingControllerTests.java +++ b/spring-integration-http/src/test/java/org/springframework/integration/http/inbound/HttpRequestHandlingControllerTests.java @@ -39,6 +39,7 @@ import org.springframework.integration.Message; import org.springframework.integration.channel.DirectChannel; import org.springframework.integration.channel.QueueChannel; import org.springframework.integration.handler.AbstractReplyProducingMessageHandler; +import org.springframework.integration.http.AbstractHttpInboundTests; import org.springframework.integration.support.MessageBuilder; import org.springframework.mock.web.MockHttpServletRequest; import org.springframework.mock.web.MockHttpServletResponse; @@ -54,7 +55,7 @@ import org.springframework.web.servlet.View; * @author Biju Kunjummen * @since 2.0 */ -public class HttpRequestHandlingControllerTests { +public class HttpRequestHandlingControllerTests extends AbstractHttpInboundTests { @Test public void sendOnly() throws Exception { diff --git a/spring-integration-http/src/test/java/org/springframework/integration/http/inbound/HttpRequestHandlingMessagingGatewayTests.java b/spring-integration-http/src/test/java/org/springframework/integration/http/inbound/HttpRequestHandlingMessagingGatewayTests.java index 7a22860198..504b76ca1a 100644 --- a/spring-integration-http/src/test/java/org/springframework/integration/http/inbound/HttpRequestHandlingMessagingGatewayTests.java +++ b/spring-integration-http/src/test/java/org/springframework/integration/http/inbound/HttpRequestHandlingMessagingGatewayTests.java @@ -16,9 +16,9 @@ package org.springframework.integration.http.inbound; -import static org.junit.Assert.assertNull; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertNull; import static org.mockito.Mockito.mock; import java.io.IOException; @@ -43,6 +43,7 @@ import org.springframework.integration.Message; import org.springframework.integration.channel.DirectChannel; import org.springframework.integration.channel.QueueChannel; import org.springframework.integration.handler.AbstractReplyProducingMessageHandler; +import org.springframework.integration.http.AbstractHttpInboundTests; import org.springframework.integration.http.converter.SerializingHttpMessageConverter; import org.springframework.integration.support.MessageBuilder; import org.springframework.mock.web.MockHttpServletRequest; @@ -58,7 +59,7 @@ import org.springframework.util.SerializationUtils; * @author Biju Kunjummen * @since 2.0 */ -public class HttpRequestHandlingMessagingGatewayTests { +public class HttpRequestHandlingMessagingGatewayTests extends AbstractHttpInboundTests { @Test @SuppressWarnings("unchecked") diff --git a/spring-integration-http/src/test/java/org/springframework/integration/http/inbound/HttpRequestHandlingMessagingGatewayWithPathMappingTests.java b/spring-integration-http/src/test/java/org/springframework/integration/http/inbound/HttpRequestHandlingMessagingGatewayWithPathMappingTests.java index 37784a121c..9be3fcbd6e 100644 --- a/spring-integration-http/src/test/java/org/springframework/integration/http/inbound/HttpRequestHandlingMessagingGatewayWithPathMappingTests.java +++ b/spring-integration-http/src/test/java/org/springframework/integration/http/inbound/HttpRequestHandlingMessagingGatewayWithPathMappingTests.java @@ -32,6 +32,7 @@ import org.springframework.integration.MessageChannel; import org.springframework.integration.MessagingException; import org.springframework.integration.channel.DirectChannel; import org.springframework.integration.core.MessageHandler; +import org.springframework.integration.http.AbstractHttpInboundTests; import org.springframework.mock.web.MockHttpServletRequest; import org.springframework.mock.web.MockHttpServletResponse; import org.springframework.util.AntPathMatcher; @@ -45,7 +46,7 @@ import org.springframework.web.servlet.HandlerMapping; * @author Artem Bilan * @author Biju Kunjummen */ -public class HttpRequestHandlingMessagingGatewayWithPathMappingTests { +public class HttpRequestHandlingMessagingGatewayWithPathMappingTests extends AbstractHttpInboundTests { private static ExpressionParser PARSER = new SpelExpressionParser(); diff --git a/spring-integration-http/src/test/java/org/springframework/integration/http/inbound/Int2312RequestMappingIntegrationTests.java b/spring-integration-http/src/test/java/org/springframework/integration/http/inbound/Int2312RequestMappingIntegrationTests.java index 30a934672f..cb409a1636 100644 --- a/spring-integration-http/src/test/java/org/springframework/integration/http/inbound/Int2312RequestMappingIntegrationTests.java +++ b/spring-integration-http/src/test/java/org/springframework/integration/http/inbound/Int2312RequestMappingIntegrationTests.java @@ -38,6 +38,7 @@ import org.springframework.integration.MessageHeaders; import org.springframework.integration.MessagingException; import org.springframework.integration.core.MessageHandler; import org.springframework.integration.core.SubscribableChannel; +import org.springframework.integration.http.AbstractHttpInboundTests; import org.springframework.mock.web.MockHttpServletRequest; import org.springframework.mock.web.MockHttpServletResponse; import org.springframework.test.context.ContextConfiguration; @@ -58,7 +59,7 @@ import org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter; //INT-2312 @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration -public class Int2312RequestMappingIntegrationTests { +public class Int2312RequestMappingIntegrationTests extends AbstractHttpInboundTests { public static final String TEST_PATH = "/test/{value}"; @@ -149,6 +150,8 @@ public class Int2312RequestMappingIntegrationTests { this.handlerAdapter.handle(request, response, handler); final String testResponse = response.getContentAsString(); assertEquals(testRequest.toLowerCase(), testResponse); + + RequestContextHolder.resetRequestAttributes(); } @Test