From 4c722465d8091cfa29b54674138c24c199259172 Mon Sep 17 00:00:00 2001 From: Antoine Rey <antoine.rey@gmail.com> Date: Tue, 28 Jun 2016 08:11:40 +0200 Subject: [PATCH] Update vetsXml test using xpath --- .../samples/petclinic/web/VetController.java | 4 +-- .../petclinic/web/VetControllerTests.java | 28 +++++++++---------- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/src/main/java/org/springframework/samples/petclinic/web/VetController.java b/src/main/java/org/springframework/samples/petclinic/web/VetController.java index 3121e60..45e650f 100644 --- a/src/main/java/org/springframework/samples/petclinic/web/VetController.java +++ b/src/main/java/org/springframework/samples/petclinic/web/VetController.java @@ -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() { diff --git a/src/test/java/org/springframework/samples/petclinic/web/VetControllerTests.java b/src/test/java/org/springframework/samples/petclinic/web/VetControllerTests.java index 5446c07..8b76fd2 100644 --- a/src/test/java/org/springframework/samples/petclinic/web/VetControllerTests.java +++ b/src/test/java/org/springframework/samples/petclinic/web/VetControllerTests.java @@ -1,8 +1,5 @@ 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"))); } - } + -- GitLab