From 5b0722ed280b58b6432ed0aa06229871f1457c4f Mon Sep 17 00:00:00 2001 From: Juergen Hoeller Date: Fri, 26 Aug 2016 17:29:16 +0200 Subject: [PATCH] Polishing (cherry picked from commit e828be9) --- .../MappingJackson2MessageConverterTests.java | 31 +++++++++++-------- .../core/GenericMessagingTemplateTests.java | 11 ++++--- .../test/util/JsonPathExpectationsHelper.java | 16 +++------- ...jectToStringHttpMessageConverterTests.java | 9 +----- .../AsyncRestTemplateIntegrationTests.java | 17 +++++----- .../client/RestTemplateIntegrationTests.java | 12 +++---- ...uestPartServletServerHttpRequestTests.java | 25 +++++---------- .../RequestPartIntegrationTests.java | 19 ++++++------ 8 files changed, 61 insertions(+), 79 deletions(-) diff --git a/spring-messaging/src/test/java/org/springframework/messaging/converter/MappingJackson2MessageConverterTests.java b/spring-messaging/src/test/java/org/springframework/messaging/converter/MappingJackson2MessageConverterTests.java index edc5b5a70bd..59f18e304cc 100644 --- a/spring-messaging/src/test/java/org/springframework/messaging/converter/MappingJackson2MessageConverterTests.java +++ b/spring-messaging/src/test/java/org/springframework/messaging/converter/MappingJackson2MessageConverterTests.java @@ -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. @@ -199,6 +199,20 @@ public class MappingJackson2MessageConverterTests { } + + @JsonView(MyJacksonView1.class) + public JacksonViewBean jsonViewResponse() { + JacksonViewBean bean = new JacksonViewBean(); + bean.setWithView1("with"); + bean.setWithView2("with"); + bean.setWithoutView("with"); + return bean; + } + + public void jsonViewPayload(@JsonView(MyJacksonView2.class) JacksonViewBean payload) { + } + + public static class MyBean { private String string; @@ -262,9 +276,12 @@ public class MappingJackson2MessageConverterTests { } } + public interface MyJacksonView1 {}; + public interface MyJacksonView2 {}; + public static class JacksonViewBean { @JsonView(MyJacksonView1.class) @@ -300,16 +317,4 @@ public class MappingJackson2MessageConverterTests { } } - @JsonView(MyJacksonView1.class) - public JacksonViewBean jsonViewResponse() { - JacksonViewBean bean = new JacksonViewBean(); - bean.setWithView1("with"); - bean.setWithView2("with"); - bean.setWithoutView("with"); - return bean; - } - - public void jsonViewPayload(@JsonView(MyJacksonView2.class) JacksonViewBean payload) { - } - } diff --git a/spring-messaging/src/test/java/org/springframework/messaging/core/GenericMessagingTemplateTests.java b/spring-messaging/src/test/java/org/springframework/messaging/core/GenericMessagingTemplateTests.java index 44baf9dc55b..fdd7ef946fe 100644 --- a/spring-messaging/src/test/java/org/springframework/messaging/core/GenericMessagingTemplateTests.java +++ b/spring-messaging/src/test/java/org/springframework/messaging/core/GenericMessagingTemplateTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2014 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. @@ -66,7 +66,6 @@ public class GenericMessagingTemplateTests { @Test public void sendAndReceive() { - SubscribableChannel channel = new ExecutorSubscribableChannel(this.executor); channel.subscribe(new MessageHandler() { @Override @@ -82,7 +81,6 @@ public class GenericMessagingTemplateTests { @Test public void sendAndReceiveTimeout() throws InterruptedException { - final AtomicReference failure = new AtomicReference(); final CountDownLatch latch = new CountDownLatch(1); @@ -118,8 +116,9 @@ public class GenericMessagingTemplateTests { assertNull(this.template.convertSendAndReceive(channel, "request", String.class)); assertTrue(latch.await(1000, TimeUnit.MILLISECONDS)); - if (failure.get() != null) { - throw new AssertionError(failure.get()); + Throwable ex = failure.get(); + if (ex != null) { + throw new AssertionError(ex); } } @@ -138,6 +137,7 @@ public class GenericMessagingTemplateTests { assertFalse(accessor.isMutable()); } + private class TestDestinationResolver implements DestinationResolver { @Override @@ -145,4 +145,5 @@ public class GenericMessagingTemplateTests { return messageChannel; } } + } diff --git a/spring-test/src/main/java/org/springframework/test/util/JsonPathExpectationsHelper.java b/spring-test/src/main/java/org/springframework/test/util/JsonPathExpectationsHelper.java index a82b8a40352..c4887c31dc4 100644 --- a/spring-test/src/main/java/org/springframework/test/util/JsonPathExpectationsHelper.java +++ b/spring-test/src/main/java/org/springframework/test/util/JsonPathExpectationsHelper.java @@ -22,6 +22,8 @@ import java.text.ParseException; import java.util.List; import java.util.Map; +import com.jayway.jsonpath.InvalidPathException; +import com.jayway.jsonpath.JsonPath; import org.hamcrest.Matcher; import org.springframework.util.Assert; @@ -29,14 +31,9 @@ import org.springframework.util.ObjectUtils; import org.springframework.util.ReflectionUtils; import org.springframework.util.StringUtils; -import com.jayway.jsonpath.InvalidPathException; -import com.jayway.jsonpath.JsonPath; - -import static org.hamcrest.MatcherAssert.assertThat; -import static org.hamcrest.core.IsInstanceOf.instanceOf; -import static org.springframework.test.util.AssertionErrors.assertEquals; -import static org.springframework.test.util.AssertionErrors.assertTrue; -import static org.springframework.test.util.AssertionErrors.fail; +import static org.hamcrest.MatcherAssert.*; +import static org.hamcrest.core.IsInstanceOf.*; +import static org.springframework.test.util.AssertionErrors.*; /** * A helper class for applying assertions via JSON path expressions. @@ -257,9 +254,6 @@ public class JsonPathExpectationsHelper { catch (InvalidPathException ex) { throw new AssertionError(message + ex.getMessage()); } - catch (ArrayIndexOutOfBoundsException ex) { - throw new AssertionError(message + ex.getMessage()); - } catch (IndexOutOfBoundsException ex) { throw new AssertionError(message + ex.getMessage()); } diff --git a/spring-web/src/test/java/org/springframework/http/converter/ObjectToStringHttpMessageConverterTests.java b/spring-web/src/test/java/org/springframework/http/converter/ObjectToStringHttpMessageConverterTests.java index f7e05e60f43..0b4bcbc78be 100644 --- a/spring-web/src/test/java/org/springframework/http/converter/ObjectToStringHttpMessageConverterTests.java +++ b/spring-web/src/test/java/org/springframework/http/converter/ObjectToStringHttpMessageConverterTests.java @@ -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. @@ -123,28 +123,21 @@ public class ObjectToStringHttpMessageConverterTests { @Test public void read() throws IOException { MockHttpServletRequest request = new MockHttpServletRequest(); - request.setContentType(MediaType.TEXT_PLAIN_VALUE); Short shortValue = Short.valueOf((short) 781); - request.setContent(shortValue.toString().getBytes( StringHttpMessageConverter.DEFAULT_CHARSET)); - assertEquals(shortValue, this.converter.read(Short.class, new ServletServerHttpRequest(request))); Float floatValue = Float.valueOf(123); - request.setCharacterEncoding("UTF-16"); request.setContent(floatValue.toString().getBytes("UTF-16")); - assertEquals(floatValue, this.converter.read(Float.class, new ServletServerHttpRequest(request))); Long longValue = Long.valueOf(55819182821331L); - request.setCharacterEncoding("UTF-8"); request.setContent(longValue.toString().getBytes("UTF-8")); - assertEquals(longValue, this.converter.read(Long.class, new ServletServerHttpRequest(request))); } diff --git a/spring-web/src/test/java/org/springframework/web/client/AsyncRestTemplateIntegrationTests.java b/spring-web/src/test/java/org/springframework/web/client/AsyncRestTemplateIntegrationTests.java index 6210cec1f8d..77889563782 100644 --- a/spring-web/src/test/java/org/springframework/web/client/AsyncRestTemplateIntegrationTests.java +++ b/spring-web/src/test/java/org/springframework/web/client/AsyncRestTemplateIntegrationTests.java @@ -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. @@ -49,14 +49,14 @@ import static org.junit.Assert.*; */ public class AsyncRestTemplateIntegrationTests extends AbstractJettyServerTestCase { - private final AsyncRestTemplate template = new AsyncRestTemplate(new HttpComponentsAsyncClientHttpRequestFactory()); + private final AsyncRestTemplate template = new AsyncRestTemplate( + new HttpComponentsAsyncClientHttpRequestFactory()); @Test public void getEntity() throws Exception { - Future> futureEntity = - template.getForEntity(baseUrl + "/{method}", String.class, "get"); - ResponseEntity entity = futureEntity.get(); + Future> future = template.getForEntity(baseUrl + "/{method}", String.class, "get"); + ResponseEntity entity = future.get(); assertEquals("Invalid content", helloWorld, entity.getBody()); assertFalse("No headers", entity.getHeaders().isEmpty()); assertEquals("Invalid content-type", textContentType, entity.getHeaders().getContentType()); @@ -65,10 +65,9 @@ public class AsyncRestTemplateIntegrationTests extends AbstractJettyServerTestCa @Test public void multipleFutureGets() throws Exception { - Future> futureEntity = - template.getForEntity(baseUrl + "/{method}", String.class, "get"); - futureEntity.get(); - futureEntity.get(); + Future> future = template.getForEntity(baseUrl + "/{method}", String.class, "get"); + future.get(); + future.get(); } @Test diff --git a/spring-web/src/test/java/org/springframework/web/client/RestTemplateIntegrationTests.java b/spring-web/src/test/java/org/springframework/web/client/RestTemplateIntegrationTests.java index 149340b6f9e..a8405a4abe9 100644 --- a/spring-web/src/test/java/org/springframework/web/client/RestTemplateIntegrationTests.java +++ b/spring-web/src/test/java/org/springframework/web/client/RestTemplateIntegrationTests.java @@ -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. @@ -23,6 +23,7 @@ import java.nio.charset.Charset; import java.util.EnumSet; import java.util.Set; +import com.fasterxml.jackson.annotation.JsonView; import org.junit.Test; import org.springframework.core.io.ClassPathResource; @@ -38,8 +39,6 @@ import org.springframework.http.converter.json.MappingJacksonValue; import org.springframework.util.LinkedMultiValueMap; import org.springframework.util.MultiValueMap; -import com.fasterxml.jackson.annotation.JsonView; - import static org.junit.Assert.*; /** @@ -235,17 +234,18 @@ public class RestTemplateIntegrationTests extends AbstractJettyServerTestCase { assertFalse(s.contains("\"without\":\"without\"")); } - // SPR-12123 - - @Test + @Test // SPR-12123 public void serverPort() { String s = template.getForObject("http://localhost:{port}/get", String.class, port); assertEquals("Invalid content", helloWorld, s); } + public interface MyJacksonView1 {}; + public interface MyJacksonView2 {}; + public static class MySampleBean { @JsonView(MyJacksonView1.class) diff --git a/spring-web/src/test/java/org/springframework/web/multipart/support/RequestPartServletServerHttpRequestTests.java b/spring-web/src/test/java/org/springframework/web/multipart/support/RequestPartServletServerHttpRequestTests.java index f821dab48c1..a9306cae0ec 100644 --- a/spring-web/src/test/java/org/springframework/web/multipart/support/RequestPartServletServerHttpRequestTests.java +++ b/spring-web/src/test/java/org/springframework/web/multipart/support/RequestPartServletServerHttpRequestTests.java @@ -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. @@ -18,7 +18,6 @@ package org.springframework.web.multipart.support; import java.net.URI; import java.nio.charset.Charset; - import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequestWrapper; @@ -33,9 +32,7 @@ import org.springframework.mock.web.test.MockMultipartHttpServletRequest; import org.springframework.util.FileCopyUtils; import org.springframework.web.multipart.MultipartFile; -import static org.junit.Assert.assertArrayEquals; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.*; /** * @author Rossen Stoyanchev @@ -89,9 +86,7 @@ public class RequestPartServletServerHttpRequestTests { assertArrayEquals(bytes, result); } - // SPR-13317 - - @Test + @Test // SPR-13317 public void getBodyWithWrappedRequest() throws Exception { byte[] bytes = "content".getBytes("UTF-8"); MultipartFile part = new MockMultipartFile("part", "", "application/json", bytes); @@ -103,12 +98,9 @@ public class RequestPartServletServerHttpRequestTests { assertArrayEquals(bytes, result); } - // SPR-13096 - - @Test + @Test // SPR-13096 public void getBodyViaRequestParameter() throws Exception { MockMultipartHttpServletRequest mockRequest = new MockMultipartHttpServletRequest() { - @Override public HttpHeaders getMultipartHeaders(String paramOrFileName) { HttpHeaders headers = new HttpHeaders(); @@ -116,10 +108,10 @@ public class RequestPartServletServerHttpRequestTests { return headers; } }; + byte[] bytes = {(byte) 0xC4}; - mockRequest.setParameter("part", new String(bytes, Charset.forName("iso-8859-1"))); + mockRequest.setParameter("part", new String(bytes, Charset.forName("ISO-8859-1"))); ServerHttpRequest request = new RequestPartServletServerHttpRequest(mockRequest, "part"); - byte[] result = FileCopyUtils.copyToByteArray(request.getBody()); assertArrayEquals(bytes, result); } @@ -127,7 +119,6 @@ public class RequestPartServletServerHttpRequestTests { @Test public void getBodyViaRequestParameterWithRequestEncoding() throws Exception { MockMultipartHttpServletRequest mockRequest = new MockMultipartHttpServletRequest() { - @Override public HttpHeaders getMultipartHeaders(String paramOrFileName) { HttpHeaders headers = new HttpHeaders(); @@ -135,11 +126,11 @@ public class RequestPartServletServerHttpRequestTests { return headers; } }; + byte[] bytes = {(byte) 0xC4}; - mockRequest.setParameter("part", new String(bytes, Charset.forName("iso-8859-1"))); + mockRequest.setParameter("part", new String(bytes, Charset.forName("ISO-8859-1"))); mockRequest.setCharacterEncoding("iso-8859-1"); ServerHttpRequest request = new RequestPartServletServerHttpRequest(mockRequest, "part"); - byte[] result = FileCopyUtils.copyToByteArray(request.getBody()); assertArrayEquals(bytes, result); } diff --git a/spring-webmvc/src/test/java/org/springframework/web/servlet/mvc/method/annotation/RequestPartIntegrationTests.java b/spring-webmvc/src/test/java/org/springframework/web/servlet/mvc/method/annotation/RequestPartIntegrationTests.java index 97f42ee8e15..731c44034ed 100644 --- a/spring-webmvc/src/test/java/org/springframework/web/servlet/mvc/method/annotation/RequestPartIntegrationTests.java +++ b/spring-webmvc/src/test/java/org/springframework/web/servlet/mvc/method/annotation/RequestPartIntegrationTests.java @@ -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. @@ -30,7 +30,6 @@ import org.eclipse.jetty.server.NetworkConnector; import org.eclipse.jetty.server.Server; import org.eclipse.jetty.servlet.ServletContextHandler; import org.eclipse.jetty.servlet.ServletHolder; - import org.junit.AfterClass; import org.junit.Assert; import org.junit.Before; @@ -116,6 +115,13 @@ public class RequestPartIntegrationTests { baseUrl = "http://localhost:" + connector.getLocalPort(); } + @AfterClass + public static void stopServer() throws Exception { + if (server != null) { + server.stop(); + } + } + @Before public void setUp() { ByteArrayHttpMessageConverter emptyBodyConverter = new ByteArrayHttpMessageConverter(); @@ -134,13 +140,6 @@ public class RequestPartIntegrationTests { restTemplate.setMessageConverters(Collections.singletonList(converter)); } - @AfterClass - public static void stopServer() throws Exception { - if (server != null) { - server.stop(); - } - } - @Test public void commonsMultipartResolver() throws Exception { @@ -172,7 +171,7 @@ public class RequestPartIntegrationTests { RequestEntity requestEntity = RequestEntity.post(new URI(baseUrl + "/standard-resolver/spr13319")) .contentType(new MediaType(MediaType.MULTIPART_FORM_DATA, params)) - .body(content.getBytes(Charset.forName("us-ascii"))); + .body(content.getBytes(Charset.forName("US-ASCII"))); ByteArrayHttpMessageConverter converter = new ByteArrayHttpMessageConverter(); converter.setSupportedMediaTypes(Collections.singletonList(MediaType.MULTIPART_FORM_DATA));