GH-612: make the ignored tests work
This commit is contained in:
committed by
Oleg Zhurakousky
parent
5e5601e48e
commit
a5e045731f
@@ -29,6 +29,7 @@ import java.util.stream.Collectors;
|
|||||||
import com.fasterxml.jackson.databind.JavaType;
|
import com.fasterxml.jackson.databind.JavaType;
|
||||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||||
|
|
||||||
|
import org.assertj.core.util.VisibleForTesting;
|
||||||
import org.springframework.cloud.function.context.catalog.FunctionTypeUtils;
|
import org.springframework.cloud.function.context.catalog.FunctionTypeUtils;
|
||||||
import org.springframework.core.MethodParameter;
|
import org.springframework.core.MethodParameter;
|
||||||
import org.springframework.core.ParameterizedTypeReference;
|
import org.springframework.core.ParameterizedTypeReference;
|
||||||
@@ -49,13 +50,14 @@ import org.springframework.util.ReflectionUtils;
|
|||||||
* @author Gary Russell
|
* @author Gary Russell
|
||||||
* @since 2.0
|
* @since 2.0
|
||||||
*/
|
*/
|
||||||
class ApplicationJsonMessageMarshallingConverter extends MappingJackson2MessageConverter {
|
public class ApplicationJsonMessageMarshallingConverter extends MappingJackson2MessageConverter {
|
||||||
|
|
||||||
private final Field headersField;
|
private final Field headersField;
|
||||||
|
|
||||||
private final Map<Type, JavaType> typeCache = new ConcurrentHashMap<>();
|
private final Map<Type, JavaType> typeCache = new ConcurrentHashMap<>();
|
||||||
|
|
||||||
ApplicationJsonMessageMarshallingConverter(@Nullable ObjectMapper objectMapper) {
|
@VisibleForTesting
|
||||||
|
public ApplicationJsonMessageMarshallingConverter(@Nullable ObjectMapper objectMapper) {
|
||||||
if (objectMapper != null) {
|
if (objectMapper != null) {
|
||||||
this.setObjectMapper(objectMapper);
|
this.setObjectMapper(objectMapper);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -39,6 +39,7 @@ import org.springframework.cloud.function.context.FunctionRegistry;
|
|||||||
import org.springframework.cloud.function.context.FunctionType;
|
import org.springframework.cloud.function.context.FunctionType;
|
||||||
import org.springframework.cloud.function.context.HybridFunctionalRegistrationTests.UppercaseFunction;
|
import org.springframework.cloud.function.context.HybridFunctionalRegistrationTests.UppercaseFunction;
|
||||||
import org.springframework.cloud.function.context.catalog.SimpleFunctionRegistry.FunctionInvocationWrapper;
|
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.JsonMessageConverter;
|
||||||
import org.springframework.cloud.function.context.config.NegotiatingMessageConverterWrapper;
|
import org.springframework.cloud.function.context.config.NegotiatingMessageConverterWrapper;
|
||||||
import org.springframework.cloud.function.json.GsonMapper;
|
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.AbstractMessageConverter;
|
||||||
import org.springframework.messaging.converter.ByteArrayMessageConverter;
|
import org.springframework.messaging.converter.ByteArrayMessageConverter;
|
||||||
import org.springframework.messaging.converter.CompositeMessageConverter;
|
import org.springframework.messaging.converter.CompositeMessageConverter;
|
||||||
import org.springframework.messaging.converter.MappingJackson2MessageConverter;
|
|
||||||
import org.springframework.messaging.converter.MessageConverter;
|
import org.springframework.messaging.converter.MessageConverter;
|
||||||
import org.springframework.messaging.converter.StringMessageConverter;
|
import org.springframework.messaging.converter.StringMessageConverter;
|
||||||
import org.springframework.messaging.support.MessageBuilder;
|
import org.springframework.messaging.support.MessageBuilder;
|
||||||
@@ -254,13 +254,13 @@ public class SimpleFunctionRegistryTests {
|
|||||||
|
|
||||||
@SuppressWarnings({ "rawtypes", "unchecked" })
|
@SuppressWarnings({ "rawtypes", "unchecked" })
|
||||||
@Test
|
@Test
|
||||||
@Ignore
|
// @Ignore
|
||||||
public void testReactiveFunctionWithListMessagesJackson() {
|
public void testReactiveFunctionWithListMessagesJackson() {
|
||||||
FunctionRegistration<ReactiveFunctionWithList> registration = new FunctionRegistration<>(new ReactiveFunctionWithList(), "reactiveWithList")
|
FunctionRegistration<ReactiveFunctionWithList> registration = new FunctionRegistration<>(new ReactiveFunctionWithList(), "reactiveWithList")
|
||||||
.type(FunctionType.of(ReactiveFunctionWithList.class));
|
.type(FunctionType.of(ReactiveFunctionWithList.class));
|
||||||
|
|
||||||
SimpleFunctionRegistry catalog = new SimpleFunctionRegistry(this.conversionService,
|
SimpleFunctionRegistry catalog = new SimpleFunctionRegistry(this.conversionService,
|
||||||
new CompositeMessageConverter(Collections.singletonList(new MappingJackson2MessageConverter())));
|
new CompositeMessageConverter(Collections.singletonList(new ApplicationJsonMessageMarshallingConverter(null))));
|
||||||
catalog.register(registration);
|
catalog.register(registration);
|
||||||
|
|
||||||
Function lookedUpFunction = catalog.lookup("reactiveWithList");
|
Function lookedUpFunction = catalog.lookup("reactiveWithList");
|
||||||
@@ -303,7 +303,7 @@ public class SimpleFunctionRegistryTests {
|
|||||||
.type(FunctionType.of(ReactiveFunction.class));
|
.type(FunctionType.of(ReactiveFunction.class));
|
||||||
|
|
||||||
SimpleFunctionRegistry catalog = new SimpleFunctionRegistry(this.conversionService,
|
SimpleFunctionRegistry catalog = new SimpleFunctionRegistry(this.conversionService,
|
||||||
new CompositeMessageConverter(Collections.singletonList(new MappingJackson2MessageConverter())));
|
new CompositeMessageConverter(Collections.singletonList(new ApplicationJsonMessageMarshallingConverter(null))));
|
||||||
catalog.register(registration);
|
catalog.register(registration);
|
||||||
|
|
||||||
Function lookedUpFunction = catalog.lookup("reactive");
|
Function lookedUpFunction = catalog.lookup("reactive");
|
||||||
@@ -341,13 +341,12 @@ public class SimpleFunctionRegistryTests {
|
|||||||
|
|
||||||
@SuppressWarnings({ "rawtypes", "unchecked" })
|
@SuppressWarnings({ "rawtypes", "unchecked" })
|
||||||
@Test
|
@Test
|
||||||
@Ignore
|
|
||||||
public void testReactiveFunctionWithHolderMessageJackson() {
|
public void testReactiveFunctionWithHolderMessageJackson() {
|
||||||
FunctionRegistration<ReactiveFunctionWithHolder> registration = new FunctionRegistration<>(new ReactiveFunctionWithHolder(), "reactive")
|
FunctionRegistration<ReactiveFunctionWithHolder> registration = new FunctionRegistration<>(new ReactiveFunctionWithHolder(), "reactive")
|
||||||
.type(FunctionType.of(ReactiveFunctionWithHolder.class));
|
.type(FunctionType.of(ReactiveFunctionWithHolder.class));
|
||||||
|
|
||||||
SimpleFunctionRegistry catalog = new SimpleFunctionRegistry(this.conversionService,
|
SimpleFunctionRegistry catalog = new SimpleFunctionRegistry(this.conversionService,
|
||||||
new CompositeMessageConverter(Collections.singletonList(new MappingJackson2MessageConverter())));
|
new CompositeMessageConverter(Collections.singletonList(new ApplicationJsonMessageMarshallingConverter(null))));
|
||||||
catalog.register(registration);
|
catalog.register(registration);
|
||||||
|
|
||||||
Function lookedUpFunction = catalog.lookup("reactive");
|
Function lookedUpFunction = catalog.lookup("reactive");
|
||||||
|
|||||||
Reference in New Issue
Block a user