diff --git a/spring-boot-samples/spring-boot-sample-web-ui/src/test/java/org/springframework/boot/sample/ui/MessageControllerWebTest.java b/spring-boot-samples/spring-boot-sample-web-ui/src/test/java/org/springframework/boot/sample/ui/MessageControllerWebTest.java new file mode 100644 index 0000000000..e8840027cf --- /dev/null +++ b/spring-boot-samples/spring-boot-sample-web-ui/src/test/java/org/springframework/boot/sample/ui/MessageControllerWebTest.java @@ -0,0 +1,55 @@ +package org.springframework.boot.sample.ui; + + +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.beans.factory.annotation.Autowired; +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 static org.hamcrest.Matchers.*; + +import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*; +import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.*; + +/** + * A Basic Spring MVC Test for the Sample Controller" + * + * @author Biju Kunjummen + */ +@RunWith(SpringJUnit4ClassRunner.class) +@WebAppConfiguration +@ContextConfiguration(classes = SampleWebUiApplication.class) +public class MessageControllerWebTest { + @Autowired + private WebApplicationContext wac; + + private MockMvc mockMvc; + + @Before + public void setup() { + this.mockMvc = MockMvcBuilders.webAppContextSetup(this.wac).build(); + } + + @Test + public void testHome() throws Exception { + this.mockMvc + .perform(get("/")) + .andExpect(status().isOk()) + .andExpect(content().string(containsString("Messages"))); + } + + @Test + public void testCreate() throws Exception { + this.mockMvc + .perform(post("/").param("text", "FOO text").param("summary", "FOO")) + .andExpect(status().isMovedTemporarily()) + .andExpect(header().string("location", "/1")); + } + +}