BAEL-175 - Integrtion testing minor changes

This commit is contained in:
slavisa-baeldung 2016-08-02 06:33:49 +02:00
parent 6fb230546d
commit 4f9d9502e2
4 changed files with 136 additions and 133 deletions

View File

@ -15,11 +15,11 @@ import org.springframework.web.servlet.view.JstlView;
@ComponentScan(basePackages = {"com.baeldung.spring.controller"}) @ComponentScan(basePackages = {"com.baeldung.spring.controller"})
public class ApplicationConfig extends WebMvcConfigurerAdapter { public class ApplicationConfig extends WebMvcConfigurerAdapter {
public ApplicationConfig() { public ApplicationConfig() {
super(); super();
} }
@Override @Override
public void addViewControllers(final ViewControllerRegistry registry) { public void addViewControllers(final ViewControllerRegistry registry) {
super.addViewControllers(registry); super.addViewControllers(registry);
registry.addViewController("/").setViewName("index"); registry.addViewController("/").setViewName("index");
@ -27,7 +27,7 @@ public class ApplicationConfig extends WebMvcConfigurerAdapter {
@Bean @Bean
public ViewResolver viewResolver() { public ViewResolver viewResolver() {
final InternalResourceViewResolver bean = new InternalResourceViewResolver(); final InternalResourceViewResolver bean = new InternalResourceViewResolver();
bean.setViewClass(JstlView.class); bean.setViewClass(JstlView.class);
bean.setPrefix("/WEB-INF/jsp/"); bean.setPrefix("/WEB-INF/jsp/");
bean.setSuffix(".jsp"); bean.setSuffix(".jsp");

View File

@ -1,19 +1,22 @@
package com.baeldung.spring.bean; package com.baeldung.spring.bean;
public class Greeting { public class Greeting {
private int id; private int id;
private String message; private String message;
public int getId() { public int getId() {
return id; return id;
} }
public void setId(int id) {
this.id = id; public void setId(int id) {
} this.id = id;
public String getMessage() { }
return message;
} public String getMessage() {
public void setMessage(String message) { return message;
this.message = message; }
}
public void setMessage(String message) {
this.message = message;
}
} }

View File

@ -12,53 +12,53 @@ import com.baeldung.spring.bean.Greeting;
@Controller @Controller
public class GreetController { public class GreetController {
@RequestMapping(value = "/homePage", method = RequestMethod.GET) @RequestMapping(value = "/homePage", method = RequestMethod.GET)
public String index() { public String index() {
return "index"; return "index";
} }
@RequestMapping(value = "/greet", method = RequestMethod.GET, produces = "application/json") @RequestMapping(value = "/greet", method = RequestMethod.GET, produces = "application/json")
@ResponseBody @ResponseBody
public Greeting greet() { public Greeting greet() {
Greeting greeting = new Greeting(); Greeting greeting = new Greeting();
greeting.setId(1); greeting.setId(1);
greeting.setMessage("Hello World!!!"); greeting.setMessage("Hello World!!!");
return greeting; return greeting;
} }
@RequestMapping(value = "/greetWithPathVariable/{name}", method = RequestMethod.GET, produces = "application/json") @RequestMapping(value = "/greetWithPathVariable/{name}", method = RequestMethod.GET, produces = "application/json")
@ResponseBody @ResponseBody
public Greeting greetWithPathVariable(@PathVariable("name") String name) { public Greeting greetWithPathVariable(@PathVariable("name") String name) {
Greeting greeting = new Greeting(); Greeting greeting = new Greeting();
greeting.setId(1); greeting.setId(1);
greeting.setMessage("Hello World " + name + "!!!"); greeting.setMessage("Hello World " + name + "!!!");
return greeting; return greeting;
} }
@RequestMapping(value = "/greetWithQueryVariable", method = RequestMethod.GET, produces = "application/json") @RequestMapping(value = "/greetWithQueryVariable", method = RequestMethod.GET, produces = "application/json")
@ResponseBody @ResponseBody
public Greeting greetWithQueryVariable(@RequestParam("name") String name) { public Greeting greetWithQueryVariable(@RequestParam("name") String name) {
Greeting greeting = new Greeting(); Greeting greeting = new Greeting();
greeting.setId(1); greeting.setId(1);
greeting.setMessage("Hello World " + name + "!!!"); greeting.setMessage("Hello World " + name + "!!!");
return greeting; return greeting;
} }
@RequestMapping(value = "/greetWithPost", method = RequestMethod.POST, produces = "application/json") @RequestMapping(value = "/greetWithPost", method = RequestMethod.POST, produces = "application/json")
@ResponseBody @ResponseBody
public Greeting greetWithPost() { public Greeting greetWithPost() {
Greeting greeting = new Greeting(); Greeting greeting = new Greeting();
greeting.setId(1); greeting.setId(1);
greeting.setMessage("Hello World!!!"); greeting.setMessage("Hello World!!!");
return greeting; return greeting;
} }
@RequestMapping(value = "/greetWithPostAndFormData", method = RequestMethod.POST, produces = "application/json") @RequestMapping(value = "/greetWithPostAndFormData", method = RequestMethod.POST, produces = "application/json")
@ResponseBody @ResponseBody
public Greeting greetWithPostAndFormData(@RequestParam("id") int id, @RequestParam("name") String name) { public Greeting greetWithPostAndFormData(@RequestParam("id") int id, @RequestParam("name") String name) {
Greeting greeting = new Greeting(); Greeting greeting = new Greeting();
greeting.setId(id); greeting.setId(id);
greeting.setMessage("Hello World " + name + "!!!"); greeting.setMessage("Hello World " + name + "!!!");
return greeting; return greeting;
} }
} }

View File

@ -16,68 +16,68 @@ import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.
public class GreetControllerTest { public class GreetControllerTest {
private MockMvc mockMvc; private MockMvc mockMvc;
@Before @Before
public void setup() { public void setup() {
this.mockMvc = MockMvcBuilders.standaloneSetup(new GreetController()).build(); this.mockMvc = MockMvcBuilders.standaloneSetup(new GreetController()).build();
} }
@Test @Test
public void verifyIndexJspViewName() throws Exception { public void verifyIndexJspViewName() throws Exception {
this.mockMvc.perform(get("/homePage")) this.mockMvc.perform(get("/homePage"))
.andExpect(view().name("index")); .andExpect(view().name("index"));
} }
@Test @Test
public void verifyGreet() throws Exception { public void verifyGreet() throws Exception {
this.mockMvc.perform(get("/greet")) this.mockMvc.perform(get("/greet"))
.andExpect(status().isOk()) .andExpect(status().isOk())
.andExpect(content().contentType("application/json;charset=UTF-8")) .andExpect(content().contentType("application/json;charset=UTF-8"))
.andExpect(jsonPath("$.message").value("Hello World!!!")); .andExpect(jsonPath("$.message").value("Hello World!!!"));
} }
@Test @Test
public void verifyGreetWithPathVariable() throws Exception { public void verifyGreetWithPathVariable() throws Exception {
this.mockMvc.perform(get("/greetWithPathVariable/John")) this.mockMvc.perform(get("/greetWithPathVariable/John"))
.andExpect(status().isOk()) .andExpect(status().isOk())
.andExpect(content().contentType("application/json;charset=UTF-8")) .andExpect(content().contentType("application/json;charset=UTF-8"))
.andExpect(jsonPath("$.message").value("Hello World John!!!")); .andExpect(jsonPath("$.message").value("Hello World John!!!"));
} }
@Test @Test
public void verifyGreetWithPathVariable_2() throws Exception { public void verifyGreetWithPathVariable_2() throws Exception {
this.mockMvc.perform(get("/greetWithPathVariable/{name}","Doe")) this.mockMvc.perform(get("/greetWithPathVariable/{name}", "Doe"))
.andExpect(status().isOk()) .andExpect(status().isOk())
.andExpect(content().contentType("application/json;charset=UTF-8")) .andExpect(content().contentType("application/json;charset=UTF-8"))
.andExpect(jsonPath("$.message").value("Hello World Doe!!!")); .andExpect(jsonPath("$.message").value("Hello World Doe!!!"));
} }
@Test @Test
public void verifyGreetWithQueryVariable() throws Exception { public void verifyGreetWithQueryVariable() throws Exception {
this.mockMvc this.mockMvc
.perform(MockMvcRequestBuilders.get("/greetWithQueryVariable").param("name", "John Doe")) .perform(MockMvcRequestBuilders.get("/greetWithQueryVariable").param("name", "John Doe"))
.andDo(print()) .andDo(print())
.andExpect(MockMvcResultMatchers.status().isOk()).andExpect(MockMvcResultMatchers.content().contentType("application/json;charset=UTF-8")) .andExpect(MockMvcResultMatchers.status().isOk()).andExpect(MockMvcResultMatchers.content().contentType("application/json;charset=UTF-8"))
.andExpect(MockMvcResultMatchers.jsonPath("$.message").value("Hello World John Doe!!!")); .andExpect(MockMvcResultMatchers.jsonPath("$.message").value("Hello World John Doe!!!"));
} }
@Test @Test
public void verifyGreetWithPost() throws Exception { public void verifyGreetWithPost() throws Exception {
this.mockMvc this.mockMvc
.perform(MockMvcRequestBuilders.post("/greetWithPost")) .perform(MockMvcRequestBuilders.post("/greetWithPost"))
.andDo(print()) .andDo(print())
.andExpect(MockMvcResultMatchers.status().isOk()) .andExpect(MockMvcResultMatchers.status().isOk())
.andExpect(MockMvcResultMatchers.content().contentType("application/json;charset=UTF-8")) .andExpect(MockMvcResultMatchers.content().contentType("application/json;charset=UTF-8"))
.andExpect(MockMvcResultMatchers.jsonPath("$.message").value("Hello World!!!")); .andExpect(MockMvcResultMatchers.jsonPath("$.message").value("Hello World!!!"));
} }
@Test @Test
public void verifyGreetWithPostAndFormData() throws Exception { public void verifyGreetWithPostAndFormData() throws Exception {
this.mockMvc this.mockMvc
.perform(MockMvcRequestBuilders.post("/greetWithPostAndFormData").param("id", "1").param("name", "John Doe")) .perform(MockMvcRequestBuilders.post("/greetWithPostAndFormData").param("id", "1").param("name", "John Doe"))
.andDo(print()).andExpect(MockMvcResultMatchers.status().isOk()) .andDo(print()).andExpect(MockMvcResultMatchers.status().isOk())
.andExpect(MockMvcResultMatchers.content().contentType("application/json;charset=UTF-8")) .andExpect(MockMvcResultMatchers.content().contentType("application/json;charset=UTF-8"))
.andExpect(MockMvcResultMatchers.jsonPath("$.message").value("Hello World John Doe!!!")).andExpect(MockMvcResultMatchers.jsonPath("$.id").value(1)); .andExpect(MockMvcResultMatchers.jsonPath("$.message").value("Hello World John Doe!!!")).andExpect(MockMvcResultMatchers.jsonPath("$.id").value(1));
} }
} }