Polishing
This commit is contained in:
parent
47e9360d62
commit
eae079ac2b
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright 2002-2012 the original author or authors.
|
||||
* Copyright 2002-2016 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.
|
||||
|
@ -13,6 +13,7 @@
|
|||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.springframework.mock.http;
|
||||
|
||||
import java.io.ByteArrayInputStream;
|
||||
|
@ -37,14 +38,15 @@ public class MockHttpInputMessage implements HttpInputMessage {
|
|||
|
||||
|
||||
public MockHttpInputMessage(byte[] contents) {
|
||||
this.body = (contents != null) ? new ByteArrayInputStream(contents) : null;
|
||||
this.body = (contents != null ? new ByteArrayInputStream(contents) : null);
|
||||
}
|
||||
|
||||
public MockHttpInputMessage(InputStream body) {
|
||||
Assert.notNull(body, "'body' must not be null");
|
||||
Assert.notNull(body, "InputStream must not be null");
|
||||
this.body = body;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public HttpHeaders getHeaders() {
|
||||
return this.headers;
|
||||
|
@ -54,4 +56,5 @@ public class MockHttpInputMessage implements HttpInputMessage {
|
|||
public InputStream getBody() throws IOException {
|
||||
return this.body;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright 2002-2012 the original author or authors.
|
||||
* Copyright 2002-2016 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.
|
||||
|
@ -33,14 +33,14 @@ import org.springframework.mock.http.MockHttpOutputMessage;
|
|||
*/
|
||||
public class MockClientHttpRequest extends MockHttpOutputMessage implements ClientHttpRequest {
|
||||
|
||||
private URI uri;
|
||||
|
||||
private HttpMethod httpMethod;
|
||||
|
||||
private boolean executed = false;
|
||||
private URI uri;
|
||||
|
||||
private ClientHttpResponse clientHttpResponse;
|
||||
|
||||
private boolean executed = false;
|
||||
|
||||
|
||||
/**
|
||||
* Default constructor.
|
||||
|
@ -56,13 +56,9 @@ public class MockClientHttpRequest extends MockHttpOutputMessage implements Clie
|
|||
this.uri = uri;
|
||||
}
|
||||
|
||||
@Override
|
||||
public URI getURI() {
|
||||
return this.uri;
|
||||
}
|
||||
|
||||
public void setURI(URI uri) {
|
||||
this.uri = uri;
|
||||
public void setMethod(HttpMethod httpMethod) {
|
||||
this.httpMethod = httpMethod;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -70,8 +66,13 @@ public class MockClientHttpRequest extends MockHttpOutputMessage implements Clie
|
|||
return this.httpMethod;
|
||||
}
|
||||
|
||||
public void setMethod(HttpMethod httpMethod) {
|
||||
this.httpMethod = httpMethod;
|
||||
public void setURI(URI uri) {
|
||||
this.uri = uri;
|
||||
}
|
||||
|
||||
@Override
|
||||
public URI getURI() {
|
||||
return this.uri;
|
||||
}
|
||||
|
||||
public void setResponse(ClientHttpResponse clientHttpResponse) {
|
||||
|
@ -96,7 +97,6 @@ public class MockClientHttpRequest extends MockHttpOutputMessage implements Clie
|
|||
/**
|
||||
* The default implementation returns the configured
|
||||
* {@link #setResponse(ClientHttpResponse) response}.
|
||||
*
|
||||
* <p>Override this method to execute the request and provide a response,
|
||||
* potentially different than the configured response.
|
||||
*/
|
||||
|
@ -104,6 +104,7 @@ public class MockClientHttpRequest extends MockHttpOutputMessage implements Clie
|
|||
return this.clientHttpResponse;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
StringBuilder sb = new StringBuilder();
|
||||
|
@ -114,7 +115,7 @@ public class MockClientHttpRequest extends MockHttpOutputMessage implements Clie
|
|||
sb.append(" ").append(this.uri);
|
||||
}
|
||||
if (!getHeaders().isEmpty()) {
|
||||
sb.append(", headers : ").append(getHeaders());
|
||||
sb.append(", headers: ").append(getHeaders());
|
||||
}
|
||||
if (sb.length() == 0) {
|
||||
sb.append("Not yet initialized");
|
||||
|
|
|
@ -53,7 +53,7 @@ public class DefaultResponseCreator implements ResponseCreator {
|
|||
* Use static factory methods in {@link MockRestResponseCreators}.
|
||||
*/
|
||||
protected DefaultResponseCreator(HttpStatus statusCode) {
|
||||
Assert.notNull(statusCode);
|
||||
Assert.notNull(statusCode, "HttpStatus must not be null");
|
||||
this.statusCode = statusCode;
|
||||
}
|
||||
|
||||
|
@ -61,7 +61,7 @@ public class DefaultResponseCreator implements ResponseCreator {
|
|||
@Override
|
||||
public ClientHttpResponse createResponse(ClientHttpRequest request) throws IOException {
|
||||
MockClientHttpResponse response;
|
||||
if (this.contentResource != null ){
|
||||
if (this.contentResource != null) {
|
||||
InputStream stream = this.contentResource.getInputStream();
|
||||
response = new MockClientHttpResponse(stream, this.statusCode);
|
||||
}
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright 2002-2015 the original author or authors.
|
||||
* Copyright 2002-2016 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.
|
||||
|
@ -35,12 +35,14 @@ public class XpathRequestMatchersTests {
|
|||
|
||||
private MockClientHttpRequest request;
|
||||
|
||||
|
||||
@Before
|
||||
public void setUp() throws IOException {
|
||||
this.request = new MockClientHttpRequest();
|
||||
this.request.getBody().write(RESPONSE_CONTENT.getBytes());
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
public void testNodeMatcher() throws Exception {
|
||||
new XpathRequestMatchers("/foo/bar", null).node(Matchers.notNullValue()).match(this.request);
|
||||
|
|
|
@ -13,6 +13,7 @@
|
|||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.springframework.test.web.client.response;
|
||||
|
||||
import java.net.URI;
|
||||
|
|
|
@ -39,7 +39,6 @@ import static org.springframework.test.web.client.response.MockRestResponseCreat
|
|||
* Examples of defining expectations on request content and content type.
|
||||
*
|
||||
* @author Rossen Stoyanchev
|
||||
*
|
||||
* @see JsonPathRequestMatchersIntegrationTests
|
||||
* @see XmlContentRequestMatchersIntegrationTests
|
||||
* @see XpathRequestMatchersIntegrationTests
|
||||
|
@ -50,6 +49,7 @@ public class ContentRequestMatchersIntegrationTests {
|
|||
|
||||
private RestTemplate restTemplate;
|
||||
|
||||
|
||||
@Before
|
||||
public void setup() {
|
||||
List<HttpMessageConverter<?>> converters = new ArrayList<>();
|
||||
|
@ -62,6 +62,7 @@ public class ContentRequestMatchersIntegrationTests {
|
|||
this.mockServer = MockRestServiceServer.createServer(this.restTemplate);
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
public void contentType() throws Exception {
|
||||
this.mockServer.expect(content().contentType("application/json;charset=UTF-8")).andRespond(withSuccess());
|
||||
|
|
|
@ -44,10 +44,12 @@ public class HeaderRequestMatchersIntegrationTests {
|
|||
|
||||
private static final String RESPONSE_BODY = "{\"name\" : \"Ludwig van Beethoven\", \"someDouble\" : \"1.6035\"}";
|
||||
|
||||
|
||||
private MockRestServiceServer mockServer;
|
||||
|
||||
private RestTemplate restTemplate;
|
||||
|
||||
|
||||
@Before
|
||||
public void setup() {
|
||||
List<HttpMessageConverter<?>> converters = new ArrayList<>();
|
||||
|
@ -60,9 +62,9 @@ public class HeaderRequestMatchersIntegrationTests {
|
|||
this.mockServer = MockRestServiceServer.createServer(this.restTemplate);
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
public void testString() throws Exception {
|
||||
|
||||
this.mockServer.expect(requestTo("/person/1"))
|
||||
.andExpect(header("Accept", "application/json, application/*+json"))
|
||||
.andRespond(withSuccess(RESPONSE_BODY, MediaType.APPLICATION_JSON));
|
||||
|
@ -73,7 +75,6 @@ public class HeaderRequestMatchersIntegrationTests {
|
|||
|
||||
@Test
|
||||
public void testStringContains() throws Exception {
|
||||
|
||||
this.mockServer.expect(requestTo("/person/1"))
|
||||
.andExpect(header("Accept", containsString("json")))
|
||||
.andRespond(withSuccess(RESPONSE_BODY, MediaType.APPLICATION_JSON));
|
||||
|
|
|
@ -19,6 +19,7 @@ package org.springframework.test.web.client.samples.matchers;
|
|||
import java.net.URI;
|
||||
import java.net.URISyntaxException;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
|
||||
import org.junit.After;
|
||||
import org.junit.Test;
|
||||
|
@ -56,7 +57,9 @@ public class JsonPathRequestMatchersIntegrationTests {
|
|||
people.add("performers", new Person("Yehudi Menuhin"));
|
||||
}
|
||||
|
||||
private final RestTemplate restTemplate = new RestTemplate(Arrays.asList(new MappingJackson2HttpMessageConverter()));
|
||||
|
||||
private final RestTemplate restTemplate =
|
||||
new RestTemplate(Collections.singletonList(new MappingJackson2HttpMessageConverter()));
|
||||
|
||||
private final MockRestServiceServer mockServer = MockRestServiceServer.createServer(this.restTemplate);
|
||||
|
||||
|
|
|
@ -57,6 +57,7 @@ public class XmlContentRequestMatchersIntegrationTests {
|
|||
"<composer><name>Robert Schumann</name><someBoolean>false</someBoolean><someDouble>NaN</someDouble></composer>" +
|
||||
"</composers></people>";
|
||||
|
||||
|
||||
private MockRestServiceServer mockServer;
|
||||
|
||||
private RestTemplate restTemplate;
|
||||
|
@ -66,7 +67,6 @@ public class XmlContentRequestMatchersIntegrationTests {
|
|||
|
||||
@Before
|
||||
public void setup() {
|
||||
|
||||
List<Person> composers = Arrays.asList(
|
||||
new Person("Johann Sebastian Bach").setSomeDouble(21),
|
||||
new Person("Johannes Brahms").setSomeDouble(.0025),
|
||||
|
@ -97,7 +97,6 @@ public class XmlContentRequestMatchersIntegrationTests {
|
|||
|
||||
@Test
|
||||
public void testHamcrestNodeMatcher() throws Exception {
|
||||
|
||||
this.mockServer.expect(requestTo("/composers"))
|
||||
.andExpect(content().contentType("application/xml"))
|
||||
.andExpect(content().node(hasXPath("/people/composers/composer[1]")))
|
||||
|
@ -128,4 +127,5 @@ public class XmlContentRequestMatchersIntegrationTests {
|
|||
return this.composers;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -53,15 +53,16 @@ public class XpathRequestMatchersIntegrationTests {
|
|||
private static final Map<String, String> NS =
|
||||
Collections.singletonMap("ns", "http://example.org/music/people");
|
||||
|
||||
|
||||
private MockRestServiceServer mockServer;
|
||||
|
||||
private RestTemplate restTemplate;
|
||||
|
||||
private PeopleWrapper people;
|
||||
|
||||
|
||||
@Before
|
||||
public void setup() {
|
||||
|
||||
List<Person> composers = Arrays.asList(
|
||||
new Person("Johann Sebastian Bach").setSomeDouble(21),
|
||||
new Person("Johannes Brahms").setSomeDouble(.0025),
|
||||
|
@ -83,9 +84,9 @@ public class XpathRequestMatchersIntegrationTests {
|
|||
this.mockServer = MockRestServiceServer.createServer(this.restTemplate);
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
public void testExists() throws Exception {
|
||||
|
||||
String composer = "/ns:people/composers/composer[%s]";
|
||||
String performer = "/ns:people/performers/performer[%s]";
|
||||
|
||||
|
@ -105,7 +106,6 @@ public class XpathRequestMatchersIntegrationTests {
|
|||
|
||||
@Test
|
||||
public void testDoesNotExist() throws Exception {
|
||||
|
||||
String composer = "/ns:people/composers/composer[%s]";
|
||||
String performer = "/ns:people/performers/performer[%s]";
|
||||
|
||||
|
@ -123,7 +123,6 @@ public class XpathRequestMatchersIntegrationTests {
|
|||
|
||||
@Test
|
||||
public void testString() throws Exception {
|
||||
|
||||
String composerName = "/ns:people/composers/composer[%s]/name";
|
||||
String performerName = "/ns:people/performers/performer[%s]/name";
|
||||
|
||||
|
@ -146,7 +145,6 @@ public class XpathRequestMatchersIntegrationTests {
|
|||
|
||||
@Test
|
||||
public void testNumber() throws Exception {
|
||||
|
||||
String composerDouble = "/ns:people/composers/composer[%s]/someDouble";
|
||||
|
||||
this.mockServer.expect(requestTo("/composers"))
|
||||
|
@ -180,7 +178,6 @@ public class XpathRequestMatchersIntegrationTests {
|
|||
|
||||
@Test
|
||||
public void testNodeCount() throws Exception {
|
||||
|
||||
this.mockServer.expect(requestTo("/composers"))
|
||||
.andExpect(content().contentType("application/xml"))
|
||||
.andExpect(xpath("/ns:people/composers/composer", NS).nodeCount(4))
|
||||
|
@ -223,4 +220,5 @@ public class XpathRequestMatchersIntegrationTests {
|
|||
return this.performers;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue