package com.juick.www; import com.juick.configuration.DataConfiguration; import com.juick.www.configuration.WebSecurityConfig; import com.juick.www.configuration.WwwServletConfiguration; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.security.test.web.servlet.setup.SecurityMockMvcConfigurers; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.ContextHierarchy; 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.inject.Inject; import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.view; /** * Created by aalexeev on 11/24/16. */ @RunWith(SpringJUnit4ClassRunner.class) @WebAppConfiguration @ContextHierarchy({ @ContextConfiguration(classes = { com.juick.www.configuration.WebAppConfiguration.class, WebSecurityConfig.class, DataConfiguration.class}), @ContextConfiguration(classes = {WwwServletConfiguration.class}), }) public class NotFoundPageTest { @Inject private WebApplicationContext wac; private MockMvc mockMvc; @Before public void setup() { this.mockMvc = MockMvcBuilders.webAppContextSetup(this.wac) .apply(SecurityMockMvcConfigurers.springSecurity()).build(); } @Test public void pageNotFoundTest() throws Exception { mockMvc.perform(get("/-11")) .andExpect(status().is4xxClientError()) .andExpect(view().name("views/error")); mockMvc.perform(get("/-1")) .andExpect(status().is4xxClientError()) .andExpect(view().name("views/error")); } }