From a5e045731fb4b887ee13fbcde6be11868efd78ae Mon Sep 17 00:00:00 2001 From: Greg Eales Date: Sun, 22 Nov 2020 15:05:44 +0000 Subject: [PATCH] GH-612: make the ignored tests work --- .../ApplicationJsonMessageMarshallingConverter.java | 6 ++++-- .../context/catalog/SimpleFunctionRegistryTests.java | 11 +++++------ 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/spring-cloud-function-context/src/main/java/org/springframework/cloud/function/context/config/ApplicationJsonMessageMarshallingConverter.java b/spring-cloud-function-context/src/main/java/org/springframework/cloud/function/context/config/ApplicationJsonMessageMarshallingConverter.java index b2369e9eb..1b20f0328 100644 --- a/spring-cloud-function-context/src/main/java/org/springframework/cloud/function/context/config/ApplicationJsonMessageMarshallingConverter.java +++ b/spring-cloud-function-context/src/main/java/org/springframework/cloud/function/context/config/ApplicationJsonMessageMarshallingConverter.java @@ -29,6 +29,7 @@ import java.util.stream.Collectors; import com.fasterxml.jackson.databind.JavaType; import com.fasterxml.jackson.databind.ObjectMapper; +import org.assertj.core.util.VisibleForTesting; import org.springframework.cloud.function.context.catalog.FunctionTypeUtils; import org.springframework.core.MethodParameter; import org.springframework.core.ParameterizedTypeReference; @@ -49,13 +50,14 @@ import org.springframework.util.ReflectionUtils; * @author Gary Russell * @since 2.0 */ -class ApplicationJsonMessageMarshallingConverter extends MappingJackson2MessageConverter { +public class ApplicationJsonMessageMarshallingConverter extends MappingJackson2MessageConverter { private final Field headersField; private final Map typeCache = new ConcurrentHashMap<>(); - ApplicationJsonMessageMarshallingConverter(@Nullable ObjectMapper objectMapper) { + @VisibleForTesting + public ApplicationJsonMessageMarshallingConverter(@Nullable ObjectMapper objectMapper) { if (objectMapper != null) { this.setObjectMapper(objectMapper); } diff --git a/spring-cloud-function-context/src/test/java/org/springframework/cloud/function/context/catalog/SimpleFunctionRegistryTests.java b/spring-cloud-function-context/src/test/java/org/springframework/cloud/function/context/catalog/SimpleFunctionRegistryTests.java index bedce401a..34e3c24a7 100644 --- a/spring-cloud-function-context/src/test/java/org/springframework/cloud/function/context/catalog/SimpleFunctionRegistryTests.java +++ b/spring-cloud-function-context/src/test/java/org/springframework/cloud/function/context/catalog/SimpleFunctionRegistryTests.java @@ -39,6 +39,7 @@ import org.springframework.cloud.function.context.FunctionRegistry; import org.springframework.cloud.function.context.FunctionType; import org.springframework.cloud.function.context.HybridFunctionalRegistrationTests.UppercaseFunction; import org.springframework.cloud.function.context.catalog.SimpleFunctionRegistry.FunctionInvocationWrapper; +import org.springframework.cloud.function.context.config.ApplicationJsonMessageMarshallingConverter; import org.springframework.cloud.function.context.config.JsonMessageConverter; import org.springframework.cloud.function.context.config.NegotiatingMessageConverterWrapper; import org.springframework.cloud.function.json.GsonMapper; @@ -54,7 +55,6 @@ import org.springframework.messaging.MessageHeaders; import org.springframework.messaging.converter.AbstractMessageConverter; import org.springframework.messaging.converter.ByteArrayMessageConverter; import org.springframework.messaging.converter.CompositeMessageConverter; -import org.springframework.messaging.converter.MappingJackson2MessageConverter; import org.springframework.messaging.converter.MessageConverter; import org.springframework.messaging.converter.StringMessageConverter; import org.springframework.messaging.support.MessageBuilder; @@ -254,13 +254,13 @@ public class SimpleFunctionRegistryTests { @SuppressWarnings({ "rawtypes", "unchecked" }) @Test - @Ignore +// @Ignore public void testReactiveFunctionWithListMessagesJackson() { FunctionRegistration registration = new FunctionRegistration<>(new ReactiveFunctionWithList(), "reactiveWithList") .type(FunctionType.of(ReactiveFunctionWithList.class)); SimpleFunctionRegistry catalog = new SimpleFunctionRegistry(this.conversionService, - new CompositeMessageConverter(Collections.singletonList(new MappingJackson2MessageConverter()))); + new CompositeMessageConverter(Collections.singletonList(new ApplicationJsonMessageMarshallingConverter(null)))); catalog.register(registration); Function lookedUpFunction = catalog.lookup("reactiveWithList"); @@ -303,7 +303,7 @@ public class SimpleFunctionRegistryTests { .type(FunctionType.of(ReactiveFunction.class)); SimpleFunctionRegistry catalog = new SimpleFunctionRegistry(this.conversionService, - new CompositeMessageConverter(Collections.singletonList(new MappingJackson2MessageConverter()))); + new CompositeMessageConverter(Collections.singletonList(new ApplicationJsonMessageMarshallingConverter(null)))); catalog.register(registration); Function lookedUpFunction = catalog.lookup("reactive"); @@ -341,13 +341,12 @@ public class SimpleFunctionRegistryTests { @SuppressWarnings({ "rawtypes", "unchecked" }) @Test - @Ignore public void testReactiveFunctionWithHolderMessageJackson() { FunctionRegistration registration = new FunctionRegistration<>(new ReactiveFunctionWithHolder(), "reactive") .type(FunctionType.of(ReactiveFunctionWithHolder.class)); SimpleFunctionRegistry catalog = new SimpleFunctionRegistry(this.conversionService, - new CompositeMessageConverter(Collections.singletonList(new MappingJackson2MessageConverter()))); + new CompositeMessageConverter(Collections.singletonList(new ApplicationJsonMessageMarshallingConverter(null)))); catalog.register(registration); Function lookedUpFunction = catalog.lookup("reactive");