package net.petrikainulainen.spring.datasolr.common.controller; import net.petrikainulainen.spring.datasolr.config.ExampleApplicationContext; import net.petrikainulainen.spring.datasolr.config.TestSolrContext; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.security.web.FilterChainProxy; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import org.springframework.test.context.web.WebAppConfiguration; import org.springframework.test.web.servlet.MockMvc; import org.springframework.test.web.servlet.setup.MockMvcBuilders; import org.springframework.web.context.WebApplicationContext; import javax.annotation.Resource; import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.forwardedUrl; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.view; /** * @author Petri Kainulainen */ @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(classes = {ExampleApplicationContext.class, TestSolrContext.class}) //@ContextConfiguration(locations = {"classpath:exampleApplicationContext.xml", "classpath:exampleApplicationContext-test.xml"}) @WebAppConfiguration public class ITHomeControllerTest { @Resource private FilterChainProxy springSecurityFilterChain; @Resource private WebApplicationContext webApplicationContext; private MockMvc mockMvc; @Before public void setUp() { mockMvc = MockMvcBuilders.webAppContextSetup(webApplicationContext) .addFilter(springSecurityFilterChain) .build(); } @Test public void showHomePage_ShouldReturnHomeView() throws Exception { mockMvc.perform(get("/")) .andExpect(status().isOk()) .andExpect(view().name(HomeController.HOME_VIEW)) .andExpect(forwardedUrl("/WEB-INF/jsp/index.jsp")); } }