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}
*/
@@ -36,13 +37,11 @@ public class VetControllerTests {
}
@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")));
}
-
}
+