diff --git a/spring-boot-test/src/main/java/org/springframework/boot/test/SpringApplicationContextLoader.java b/spring-boot-test/src/main/java/org/springframework/boot/test/SpringApplicationContextLoader.java index dd3587a762..68a094f3c6 100644 --- a/spring-boot-test/src/main/java/org/springframework/boot/test/SpringApplicationContextLoader.java +++ b/spring-boot-test/src/main/java/org/springframework/boot/test/SpringApplicationContextLoader.java @@ -246,8 +246,8 @@ public class SpringApplicationContextLoader extends AbstractContextLoader { WebMergedContextConfiguration webConfiguration) { SpringBootMockServletContext servletContext = new SpringBootMockServletContext( webConfiguration.getResourceBasePath()); - initializers.add(0, - new ServletContextApplicationContextInitializer(servletContext)); + initializers.add(0, new ServletContextApplicationContextInitializer( + servletContext, true)); } } diff --git a/spring-boot-test/src/test/java/org/springframework/boot/test/SpringApplicationMockMvcTests.java b/spring-boot-test/src/test/java/org/springframework/boot/test/SpringApplicationMockMvcTests.java index 8113bdac56..53c6e50992 100644 --- a/spring-boot-test/src/test/java/org/springframework/boot/test/SpringApplicationMockMvcTests.java +++ b/spring-boot-test/src/test/java/org/springframework/boot/test/SpringApplicationMockMvcTests.java @@ -42,7 +42,7 @@ import static org.springframework.test.web.servlet.result.MockMvcResultMatchers. import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; /** - * Tests for {@link WebAppConfiguration} integration. + * Tests for {@link WebAppConfiguration} with {@link MockMvc}. * * @author Stephane Nicoll */ diff --git a/spring-boot-test/src/test/java/org/springframework/boot/test/SpringApplicationMockServletTests.java b/spring-boot-test/src/test/java/org/springframework/boot/test/SpringApplicationMockServletTests.java new file mode 100644 index 0000000000..b9ff2782bf --- /dev/null +++ b/spring-boot-test/src/test/java/org/springframework/boot/test/SpringApplicationMockServletTests.java @@ -0,0 +1,65 @@ +/* + * Copyright 2012-2015 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.boot.test; + +import javax.servlet.ServletContext; + +import org.junit.Test; +import org.junit.runner.RunWith; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.SpringApplicationMockServletTests.Config; +import org.springframework.context.annotation.Configuration; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; +import org.springframework.test.context.web.WebAppConfiguration; +import org.springframework.web.context.WebApplicationContext; +import org.springframework.web.context.support.WebApplicationContextUtils; + +import static org.assertj.core.api.Assertions.assertThat; + +/** + * Tests for {@link WebAppConfiguration} using {@link SpringApplicationContextLoader} with + * a plain mock Servlet environment. + * + * + * @author Andy Wilkinson + */ +@RunWith(SpringJUnit4ClassRunner.class) +@ContextConfiguration(classes = Config.class, loader = SpringApplicationContextLoader.class) +@WebAppConfiguration +@Deprecated +public class SpringApplicationMockServletTests { + + @Autowired + private WebApplicationContext context; + + @Autowired + private ServletContext servletContext; + + @Test + public void webApplicationContextIsSetOnServletContext() { + assertThat(this.context).isSameAs( + WebApplicationContextUtils.getWebApplicationContext(this.servletContext)); + } + + @Configuration + protected static class Config { + + } + +} diff --git a/spring-boot/src/main/java/org/springframework/boot/context/web/ServletContextApplicationContextInitializer.java b/spring-boot/src/main/java/org/springframework/boot/context/web/ServletContextApplicationContextInitializer.java index 11c5a8c956..57f1810ca0 100644 --- a/spring-boot/src/main/java/org/springframework/boot/context/web/ServletContextApplicationContextInitializer.java +++ b/spring-boot/src/main/java/org/springframework/boot/context/web/ServletContextApplicationContextInitializer.java @@ -52,7 +52,7 @@ public class ServletContextApplicationContextInitializer implements * @param servletContext the servlet that should be ultimately set. * @param addApplicationContextAttribute if the {@link ApplicationContext} should be * stored as an attribute in the {@link ServletContext} - * @since 1.4.0 + * @since 1.3.4 */ public ServletContextApplicationContextInitializer(ServletContext servletContext, boolean addApplicationContextAttribute) {