From 25709385e67ff21209da4b36a8507e0e5b33e6d8 Mon Sep 17 00:00:00 2001 From: Andy Wilkinson Date: Mon, 10 Aug 2015 14:20:19 +0100 Subject: [PATCH] Update Hypermedia samples following /hal and /links being combined See gh-3696 --- .../endpoint/mvc/EndpointHandlerMapping.java | 1 + ...cationCustomLinksPathIntegrationTests.java | 82 ----------------- ...rmediaJpaApplicationIntegrationTests.java} | 4 +- ...ApplicationSharedRootIntegrationTests.java | 90 ------------------- .../SampleHypermediaUiApplicationTests.java | 5 +- ...pleHypermediaApplicationHomePageTests.java | 4 +- 6 files changed, 7 insertions(+), 179 deletions(-) delete mode 100644 spring-boot-samples/spring-boot-sample-hypermedia-jpa/src/test/java/sample/hypermedia/jpa/SampleHypermediaJpaApplicationCustomLinksPathIntegrationTests.java rename spring-boot-samples/spring-boot-sample-hypermedia-jpa/src/test/java/sample/hypermedia/jpa/{SampleHypermediaJpaApplicationVanillaIntegrationTests.java => SampleHypermediaJpaApplicationIntegrationTests.java} (95%) delete mode 100644 spring-boot-samples/spring-boot-sample-hypermedia-jpa/src/test/java/sample/hypermedia/jpa/SampleHypermediaJpaApplicationSharedRootIntegrationTests.java diff --git a/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/endpoint/mvc/EndpointHandlerMapping.java b/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/endpoint/mvc/EndpointHandlerMapping.java index 4cd33b350fc..e86fdc9d604 100644 --- a/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/endpoint/mvc/EndpointHandlerMapping.java +++ b/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/endpoint/mvc/EndpointHandlerMapping.java @@ -201,4 +201,5 @@ public class EndpointHandlerMapping extends RequestMappingHandlerMapping { RequestMappingInfo mappingInfo) { return this.corsConfiguration; } + } diff --git a/spring-boot-samples/spring-boot-sample-hypermedia-jpa/src/test/java/sample/hypermedia/jpa/SampleHypermediaJpaApplicationCustomLinksPathIntegrationTests.java b/spring-boot-samples/spring-boot-sample-hypermedia-jpa/src/test/java/sample/hypermedia/jpa/SampleHypermediaJpaApplicationCustomLinksPathIntegrationTests.java deleted file mode 100644 index 54898a8fb98..00000000000 --- a/spring-boot-samples/spring-boot-sample-hypermedia-jpa/src/test/java/sample/hypermedia/jpa/SampleHypermediaJpaApplicationCustomLinksPathIntegrationTests.java +++ /dev/null @@ -1,82 +0,0 @@ -/* - * Copyright 2012-2015 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package sample.hypermedia.jpa; - -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.actuate.endpoint.mvc.MvcEndpoints; -import org.springframework.boot.test.SpringApplicationConfiguration; -import org.springframework.http.MediaType; -import org.springframework.test.annotation.DirtiesContext; -import org.springframework.test.context.TestPropertySource; -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.MvcResult; -import org.springframework.test.web.servlet.setup.MockMvcBuilders; -import org.springframework.web.context.WebApplicationContext; - -import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get; -import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath; -import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; - -@RunWith(SpringJUnit4ClassRunner.class) -@WebAppConfiguration -@SpringApplicationConfiguration(classes = SampleHypermediaJpaApplication.class) -@DirtiesContext -@TestPropertySource(properties = { "debug=true", "management.context-path=", - "endpoints.docs.curies.enabled=false" }) -public class SampleHypermediaJpaApplicationCustomLinksPathIntegrationTests { - - @Autowired - private WebApplicationContext context; - - @Autowired - private MvcEndpoints mvcEndpoints; - - private MockMvc mockMvc; - - @Before - public void setUp() { - this.mockMvc = MockMvcBuilders.webAppContextSetup(this.context).build(); - } - - @Test - public void links() throws Exception { - this.mockMvc.perform(get("/links").accept(MediaType.APPLICATION_JSON)) - .andExpect(status().isOk()).andExpect(jsonPath("$._links").exists()) - .andExpect(jsonPath("$._links.health").exists()) - .andExpect(jsonPath("$._links.books").doesNotExist()); - } - - @Test - public void health() throws Exception { - this.mockMvc.perform(get("/health").accept(MediaType.APPLICATION_JSON)) - .andExpect(status().isOk()).andExpect(jsonPath("$._links").exists()); - } - - @Test - public void docs() throws Exception { - MvcResult response = this.mockMvc - .perform(get("/docs/").accept(MediaType.TEXT_HTML)) - .andExpect(status().isOk()).andReturn(); - System.err.println(response.getResponse().getContentAsString()); - } - -} diff --git a/spring-boot-samples/spring-boot-sample-hypermedia-jpa/src/test/java/sample/hypermedia/jpa/SampleHypermediaJpaApplicationVanillaIntegrationTests.java b/spring-boot-samples/spring-boot-sample-hypermedia-jpa/src/test/java/sample/hypermedia/jpa/SampleHypermediaJpaApplicationIntegrationTests.java similarity index 95% rename from spring-boot-samples/spring-boot-sample-hypermedia-jpa/src/test/java/sample/hypermedia/jpa/SampleHypermediaJpaApplicationVanillaIntegrationTests.java rename to spring-boot-samples/spring-boot-sample-hypermedia-jpa/src/test/java/sample/hypermedia/jpa/SampleHypermediaJpaApplicationIntegrationTests.java index 96914ea3944..46043024480 100644 --- a/spring-boot-samples/spring-boot-sample-hypermedia-jpa/src/test/java/sample/hypermedia/jpa/SampleHypermediaJpaApplicationVanillaIntegrationTests.java +++ b/spring-boot-samples/spring-boot-sample-hypermedia-jpa/src/test/java/sample/hypermedia/jpa/SampleHypermediaJpaApplicationIntegrationTests.java @@ -40,7 +40,7 @@ import static org.springframework.test.web.servlet.result.MockMvcResultMatchers. @SpringApplicationConfiguration(classes = SampleHypermediaJpaApplication.class) @WebAppConfiguration @DirtiesContext -public class SampleHypermediaJpaApplicationVanillaIntegrationTests { +public class SampleHypermediaJpaApplicationIntegrationTests { @Autowired private WebApplicationContext context; @@ -69,7 +69,7 @@ public class SampleHypermediaJpaApplicationVanillaIntegrationTests { @Test public void adminLinks() throws Exception { - this.mockMvc.perform(get("/admin/links").accept(MediaType.APPLICATION_JSON)) + this.mockMvc.perform(get("/admin").accept(MediaType.APPLICATION_JSON)) .andExpect(status().isOk()).andExpect(jsonPath("$._links").exists()); } diff --git a/spring-boot-samples/spring-boot-sample-hypermedia-jpa/src/test/java/sample/hypermedia/jpa/SampleHypermediaJpaApplicationSharedRootIntegrationTests.java b/spring-boot-samples/spring-boot-sample-hypermedia-jpa/src/test/java/sample/hypermedia/jpa/SampleHypermediaJpaApplicationSharedRootIntegrationTests.java deleted file mode 100644 index 929a69c264b..00000000000 --- a/spring-boot-samples/spring-boot-sample-hypermedia-jpa/src/test/java/sample/hypermedia/jpa/SampleHypermediaJpaApplicationSharedRootIntegrationTests.java +++ /dev/null @@ -1,90 +0,0 @@ -/* - * Copyright 2012-2015 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package sample.hypermedia.jpa; - -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.actuate.endpoint.mvc.MvcEndpoints; -import org.springframework.boot.test.SpringApplicationConfiguration; -import org.springframework.http.MediaType; -import org.springframework.test.annotation.DirtiesContext; -import org.springframework.test.context.TestPropertySource; -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.MvcResult; -import org.springframework.test.web.servlet.setup.MockMvcBuilders; -import org.springframework.web.context.WebApplicationContext; - -import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get; -import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath; -import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; - -@RunWith(SpringJUnit4ClassRunner.class) -@WebAppConfiguration -@SpringApplicationConfiguration(classes = SampleHypermediaJpaApplication.class) -@DirtiesContext -@TestPropertySource(properties = { "endpoints.links.path=/admin", - "management.context-path=", "endpoints.docs.curies.enabled=false" }) -public class SampleHypermediaJpaApplicationSharedRootIntegrationTests { - - @Autowired - private WebApplicationContext context; - - @Autowired - private MvcEndpoints mvcEndpoints; - - private MockMvc mockMvc; - - @Before - public void setUp() { - this.mockMvc = MockMvcBuilders.webAppContextSetup(this.context).build(); - } - - @Test - public void home() throws Exception { - this.mockMvc.perform(get("/").accept(MediaType.APPLICATION_JSON)) - .andExpect(status().isOk()).andExpect(jsonPath("$._links").exists()) - .andExpect(jsonPath("$._links.actuator").exists()) - .andExpect(jsonPath("$._links.books").exists()); - } - - @Test - public void health() throws Exception { - this.mockMvc.perform(get("/health").accept(MediaType.APPLICATION_JSON)) - .andExpect(status().isOk()).andExpect(jsonPath("$._links").exists()); - } - - @Test - public void links() throws Exception { - this.mockMvc.perform(get("/admin").accept(MediaType.APPLICATION_JSON)) - .andExpect(status().isOk()) - .andExpect(jsonPath("$._links.health").exists()) - .andExpect(jsonPath("$._links").exists()); - } - - @Test - public void docs() throws Exception { - MvcResult response = this.mockMvc - .perform(get("/docs/").accept(MediaType.TEXT_HTML)) - .andExpect(status().isOk()).andReturn(); - System.err.println(response.getResponse().getContentAsString()); - } - -} diff --git a/spring-boot-samples/spring-boot-sample-hypermedia-ui/src/test/java/sample/hypermedia/ui/SampleHypermediaUiApplicationTests.java b/spring-boot-samples/spring-boot-sample-hypermedia-ui/src/test/java/sample/hypermedia/ui/SampleHypermediaUiApplicationTests.java index 1c644735d4d..37a5c07ec62 100644 --- a/spring-boot-samples/spring-boot-sample-hypermedia-ui/src/test/java/sample/hypermedia/ui/SampleHypermediaUiApplicationTests.java +++ b/spring-boot-samples/spring-boot-sample-hypermedia-ui/src/test/java/sample/hypermedia/ui/SampleHypermediaUiApplicationTests.java @@ -33,7 +33,6 @@ import org.springframework.http.ResponseEntity; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import org.springframework.test.context.web.WebAppConfiguration; -import sample.hypermedia.ui.SampleHypermediaUiApplication; import static org.junit.Assert.assertTrue; @RunWith(SpringJUnit4ClassRunner.class) @@ -55,7 +54,7 @@ public class SampleHypermediaUiApplicationTests { @Test public void links() { String response = new TestRestTemplate().getForObject("http://localhost:" - + this.port + "/links", String.class); + + this.port + "/actuator", String.class); assertTrue("Wrong body: " + response, response.contains("\"_links\":")); } @@ -65,7 +64,7 @@ public class SampleHypermediaUiApplicationTests { headers.setAccept(Arrays.asList(MediaType.APPLICATION_JSON)); ResponseEntity response = new TestRestTemplate().exchange( new RequestEntity(headers, HttpMethod.GET, new URI( - "http://localhost:" + this.port + "/links")), String.class); + "http://localhost:" + this.port + "/actuator")), String.class); assertTrue("Wrong body: " + response, response.getBody().contains("\"_links\":")); } diff --git a/spring-boot-samples/spring-boot-sample-hypermedia/src/test/java/sample/hypermedia/SampleHypermediaApplicationHomePageTests.java b/spring-boot-samples/spring-boot-sample-hypermedia/src/test/java/sample/hypermedia/SampleHypermediaApplicationHomePageTests.java index 34187f1db62..3f67fa45bea 100644 --- a/spring-boot-samples/spring-boot-sample-hypermedia/src/test/java/sample/hypermedia/SampleHypermediaApplicationHomePageTests.java +++ b/spring-boot-samples/spring-boot-sample-hypermedia/src/test/java/sample/hypermedia/SampleHypermediaApplicationHomePageTests.java @@ -57,7 +57,7 @@ public class SampleHypermediaApplicationHomePageTests { headers.setAccept(Arrays.asList(MediaType.APPLICATION_JSON)); ResponseEntity response = new TestRestTemplate().exchange( new RequestEntity(headers, HttpMethod.GET, new URI( - "http://localhost:" + this.port + "/links")), String.class); + "http://localhost:" + this.port + "/actuator")), String.class); assertTrue("Wrong body: " + response, response.getBody().contains("\"_links\":")); } @@ -67,7 +67,7 @@ public class SampleHypermediaApplicationHomePageTests { headers.setAccept(Arrays.asList(MediaType.TEXT_HTML)); ResponseEntity response = new TestRestTemplate().exchange( new RequestEntity(headers, HttpMethod.GET, new URI( - "http://localhost:" + this.port + "/hal/")), String.class); + "http://localhost:" + this.port + "/actuator/")), String.class); assertTrue("Wrong body: " + response, response.getBody().contains("HAL Browser")); }