Skip to content
Snippets Groups Projects
Commit 4c722465 authored by Antoine Rey's avatar Antoine Rey
Browse files

Update vetsXml test using xpath

parent 647985cd
No related branches found
No related tags found
No related merge requests found
......@@ -41,7 +41,7 @@ public class VetController {
this.clinicService = clinicService;
}
@RequestMapping(value = {"/vets.xml", "/vets.html"})
@RequestMapping(value = { "/vets.html"})
public String showVetList(Map<String, Object> model) {
// Here we are returning an object of type 'Vets' rather than a collection of Vet objects
// so it is simpler for Object-Xml mapping
......@@ -51,7 +51,7 @@ public class VetController {
return "vets/vetList";
}
@RequestMapping("/vets.json")
@RequestMapping(value = { "/vets.json", "/vets.xml"})
public
@ResponseBody
Vets showResourcesVetList() {
......
package org.springframework.samples.petclinic.web;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.*;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
......@@ -16,6 +13,10 @@ import org.springframework.test.web.servlet.MockMvc;
import org.springframework.test.web.servlet.ResultActions;
import org.springframework.test.web.servlet.setup.MockMvcBuilders;
import static org.hamcrest.xml.HasXPath.hasXPath;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.*;
/**
* Test class for the {@link VetController}
*/
......@@ -35,14 +36,12 @@ public class VetControllerTests {
this.mockMvc = MockMvcBuilders.standaloneSetup(vetController).build();
}
@Test
public void testShowVetListXml() throws Exception {
testShowVetList("/vets.xml");
}
@Test
public void testShowVetListHtml() throws Exception {
testShowVetList("/vets.html");
mockMvc.perform(get("/vets.html"))
.andExpect(status().isOk())
.andExpect(model().attributeExists("vets"))
.andExpect(view().name("vets/vetList"));
}
@Test
......@@ -53,12 +52,13 @@ public class VetControllerTests {
.andExpect(jsonPath("$.vetList[0].id").value(1));
}
private void testShowVetList(String url) throws Exception {
mockMvc.perform(get(url))
@Test
public void testShowVetListXml() throws Exception {
mockMvc.perform(get("/vets.xml").accept(MediaType.APPLICATION_XML))
.andExpect(status().isOk())
.andExpect(model().attributeExists("vets"))
.andExpect(view().name("vets/vetList"));
.andExpect(content().contentType(MediaType.APPLICATION_XML_VALUE))
.andExpect(content().node(hasXPath("/vets/vetList[id=1]/id")));
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment