Browse Source

Polishing

pull/1132/head
Juergen Hoeller 8 years ago
parent
commit
eae079ac2b
  1. 9
      spring-test/src/main/java/org/springframework/mock/http/MockHttpInputMessage.java
  2. 27
      spring-test/src/main/java/org/springframework/mock/http/client/MockClientHttpRequest.java
  3. 2
      spring-test/src/main/java/org/springframework/test/web/client/response/DefaultResponseCreator.java
  4. 4
      spring-test/src/test/java/org/springframework/test/web/client/match/XpathRequestMatchersTests.java
  5. 1
      spring-test/src/test/java/org/springframework/test/web/client/response/ResponseCreatorsTests.java
  6. 3
      spring-test/src/test/java/org/springframework/test/web/client/samples/matchers/ContentRequestMatchersIntegrationTests.java
  7. 5
      spring-test/src/test/java/org/springframework/test/web/client/samples/matchers/HeaderRequestMatchersIntegrationTests.java
  8. 5
      spring-test/src/test/java/org/springframework/test/web/client/samples/matchers/JsonPathRequestMatchersIntegrationTests.java
  9. 4
      spring-test/src/test/java/org/springframework/test/web/client/samples/matchers/XmlContentRequestMatchersIntegrationTests.java
  10. 10
      spring-test/src/test/java/org/springframework/test/web/client/samples/matchers/XpathRequestMatchersIntegrationTests.java

9
spring-test/src/main/java/org/springframework/mock/http/MockHttpInputMessage.java

@ -1,5 +1,5 @@ @@ -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 @@ @@ -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 { @@ -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 { @@ -54,4 +56,5 @@ public class MockHttpInputMessage implements HttpInputMessage {
public InputStream getBody() throws IOException {
return this.body;
}
}

27
spring-test/src/main/java/org/springframework/mock/http/client/MockClientHttpRequest.java

@ -1,5 +1,5 @@ @@ -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; @@ -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 @@ -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 @@ -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 @@ -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 @@ -104,6 +104,7 @@ public class MockClientHttpRequest extends MockHttpOutputMessage implements Clie
return this.clientHttpResponse;
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();

2
spring-test/src/main/java/org/springframework/test/web/client/response/DefaultResponseCreator.java

@ -53,7 +53,7 @@ public class DefaultResponseCreator implements ResponseCreator { @@ -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;
}

4
spring-test/src/test/java/org/springframework/test/web/client/match/XpathRequestMatchersTests.java

@ -1,5 +1,5 @@ @@ -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 { @@ -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);

1
spring-test/src/test/java/org/springframework/test/web/client/response/ResponseCreatorsTests.java

@ -13,6 +13,7 @@ @@ -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;

3
spring-test/src/test/java/org/springframework/test/web/client/samples/matchers/ContentRequestMatchersIntegrationTests.java

@ -39,7 +39,6 @@ import static org.springframework.test.web.client.response.MockRestResponseCreat @@ -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 { @@ -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 { @@ -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());

5
spring-test/src/test/java/org/springframework/test/web/client/samples/matchers/HeaderRequestMatchersIntegrationTests.java

@ -44,10 +44,12 @@ public class HeaderRequestMatchersIntegrationTests { @@ -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 { @@ -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 { @@ -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));

5
spring-test/src/test/java/org/springframework/test/web/client/samples/matchers/JsonPathRequestMatchersIntegrationTests.java

@ -19,6 +19,7 @@ package org.springframework.test.web.client.samples.matchers; @@ -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 { @@ -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);

4
spring-test/src/test/java/org/springframework/test/web/client/samples/matchers/XmlContentRequestMatchersIntegrationTests.java

@ -57,6 +57,7 @@ public class XmlContentRequestMatchersIntegrationTests { @@ -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 { @@ -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 { @@ -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 { @@ -128,4 +127,5 @@ public class XmlContentRequestMatchersIntegrationTests {
return this.composers;
}
}
}

10
spring-test/src/test/java/org/springframework/test/web/client/samples/matchers/XpathRequestMatchersIntegrationTests.java

@ -53,15 +53,16 @@ public class XpathRequestMatchersIntegrationTests { @@ -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 { @@ -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 { @@ -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 { @@ -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 { @@ -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 { @@ -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 { @@ -223,4 +220,5 @@ public class XpathRequestMatchersIntegrationTests {
return this.performers;
}
}
}

Loading…
Cancel
Save