2015-07-06 11:06:44 +08:00
|
|
|
/*
|
2016-02-25 20:09:42 +08:00
|
|
|
* Copyright 2012-2016 the original author or authors.
|
2015-07-06 11:06:44 +08:00
|
|
|
*
|
|
|
|
|
* 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.
|
|
|
|
|
*/
|
2015-07-02 01:36:21 +08:00
|
|
|
|
2015-07-06 11:06:44 +08:00
|
|
|
package sample.hypermedia.ui;
|
2015-07-02 01:36:21 +08:00
|
|
|
|
|
|
|
|
import java.net.URI;
|
|
|
|
|
import java.util.Arrays;
|
|
|
|
|
|
|
|
|
|
import org.junit.Test;
|
|
|
|
|
import org.junit.runner.RunWith;
|
2015-10-20 03:58:34 +08:00
|
|
|
|
2016-03-14 21:19:55 +08:00
|
|
|
import org.springframework.boot.context.web.LocalServerPort;
|
2015-07-02 01:36:21 +08:00
|
|
|
import org.springframework.boot.test.SpringApplicationConfiguration;
|
|
|
|
|
import org.springframework.boot.test.TestRestTemplate;
|
2015-10-24 11:46:49 +08:00
|
|
|
import org.springframework.boot.test.WebIntegrationTest;
|
2015-07-02 01:36:21 +08:00
|
|
|
import org.springframework.http.HttpHeaders;
|
|
|
|
|
import org.springframework.http.HttpMethod;
|
|
|
|
|
import org.springframework.http.MediaType;
|
|
|
|
|
import org.springframework.http.RequestEntity;
|
|
|
|
|
import org.springframework.http.ResponseEntity;
|
|
|
|
|
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
|
|
|
|
|
|
2016-02-07 06:53:10 +08:00
|
|
|
import static org.assertj.core.api.Assertions.assertThat;
|
2015-07-06 11:06:44 +08:00
|
|
|
|
2015-07-02 01:36:21 +08:00
|
|
|
@RunWith(SpringJUnit4ClassRunner.class)
|
2015-07-31 21:15:27 +08:00
|
|
|
@SpringApplicationConfiguration(SampleHypermediaUiApplication.class)
|
2015-10-24 11:46:49 +08:00
|
|
|
@WebIntegrationTest(value = { "management.context-path=" }, randomPort = true)
|
2015-07-06 11:06:44 +08:00
|
|
|
public class SampleHypermediaUiApplicationTests {
|
2015-07-02 01:36:21 +08:00
|
|
|
|
2016-03-14 21:19:55 +08:00
|
|
|
@LocalServerPort
|
2015-07-02 01:36:21 +08:00
|
|
|
private int port;
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
|
public void home() {
|
2015-10-08 14:37:10 +08:00
|
|
|
String response = new TestRestTemplate()
|
|
|
|
|
.getForObject("http://localhost:" + this.port, String.class);
|
2016-02-07 06:53:10 +08:00
|
|
|
assertThat(response).contains("Hello World");
|
2015-07-02 01:36:21 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
|
public void links() {
|
2015-10-08 14:37:10 +08:00
|
|
|
String response = new TestRestTemplate().getForObject(
|
|
|
|
|
"http://localhost:" + this.port + "/actuator", String.class);
|
2016-02-07 06:53:10 +08:00
|
|
|
assertThat(response).contains("\"_links\":");
|
2015-07-02 01:36:21 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
|
public void linksWithJson() throws Exception {
|
|
|
|
|
HttpHeaders headers = new HttpHeaders();
|
|
|
|
|
headers.setAccept(Arrays.asList(MediaType.APPLICATION_JSON));
|
|
|
|
|
ResponseEntity<String> response = new TestRestTemplate().exchange(
|
2015-10-08 14:37:10 +08:00
|
|
|
new RequestEntity<Void>(headers, HttpMethod.GET,
|
|
|
|
|
new URI("http://localhost:" + this.port + "/actuator")),
|
|
|
|
|
String.class);
|
2016-02-07 06:53:10 +08:00
|
|
|
assertThat(response.getBody()).contains("\"_links\":");
|
2015-07-02 01:36:21 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
|
public void homeWithHtml() throws Exception {
|
|
|
|
|
HttpHeaders headers = new HttpHeaders();
|
|
|
|
|
headers.setAccept(Arrays.asList(MediaType.TEXT_HTML));
|
2015-10-08 14:37:10 +08:00
|
|
|
ResponseEntity<String> response = new TestRestTemplate()
|
|
|
|
|
.exchange(new RequestEntity<Void>(headers, HttpMethod.GET,
|
|
|
|
|
new URI("http://localhost:" + this.port)), String.class);
|
2016-02-07 06:53:10 +08:00
|
|
|
assertThat(response.getBody()).contains("Hello World");
|
2015-07-02 01:36:21 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|