Polishing contribution
See gh-24087
This commit is contained in:
@@ -78,8 +78,7 @@ public class MessageConverterTests {
|
||||
public void supportsMimeTypeNoneConfigured() {
|
||||
Message<String> message = MessageBuilder.withPayload(
|
||||
"ABC").setHeader(MessageHeaders.CONTENT_TYPE, MimeTypeUtils.APPLICATION_JSON).build();
|
||||
final MimeType[] empty = {};
|
||||
this.converter = new TestMessageConverter(empty);
|
||||
this.converter = new TestMessageConverter(new MimeType[0]);
|
||||
|
||||
assertThat(this.converter.fromMessage(message, String.class)).isEqualTo("success-from");
|
||||
}
|
||||
@@ -100,10 +99,8 @@ public class MessageConverterTests {
|
||||
|
||||
@Test
|
||||
public void setStrictContentTypeMatchWithNoSupportedMimeTypes() {
|
||||
final MimeType[] empty = {};
|
||||
this.converter = new TestMessageConverter(empty);
|
||||
assertThatIllegalArgumentException().isThrownBy(() ->
|
||||
this.converter.setStrictContentTypeMatch(true));
|
||||
this.converter = new TestMessageConverter(new MimeType[0]);
|
||||
assertThatIllegalArgumentException().isThrownBy(() -> this.converter.setStrictContentTypeMatch(true));
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -158,15 +155,15 @@ public class MessageConverterTests {
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Object convertFromInternal(Message<?> message, Class<?> targetClass,
|
||||
@Nullable Object conversionHint) {
|
||||
protected Object convertFromInternal(
|
||||
Message<?> message, Class<?> targetClass, @Nullable Object conversionHint) {
|
||||
|
||||
return "success-from";
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Object convertToInternal(Object payload, @Nullable MessageHeaders headers,
|
||||
@Nullable Object conversionHint) {
|
||||
protected Object convertToInternal(
|
||||
Object payload, @Nullable MessageHeaders headers, @Nullable Object conversionHint) {
|
||||
|
||||
return "success-to";
|
||||
}
|
||||
|
||||
@@ -16,13 +16,13 @@
|
||||
|
||||
package org.springframework.messaging.converter;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import com.google.protobuf.ExtensionRegistry;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import org.springframework.messaging.Message;
|
||||
import org.springframework.messaging.MessageHeaders;
|
||||
import org.springframework.messaging.protobuf.Msg;
|
||||
@@ -39,15 +39,18 @@ import static org.springframework.util.MimeTypeUtils.APPLICATION_JSON;
|
||||
*
|
||||
* @author Parviz Rozikov
|
||||
*/
|
||||
class ProtobufMessageConverterTest {
|
||||
public class ProtobufMessageConverterTests {
|
||||
|
||||
private ProtobufMessageConverter converter;
|
||||
|
||||
private ExtensionRegistry extensionRegistry;
|
||||
|
||||
private Msg testMsg;
|
||||
|
||||
private Message<byte[]> message;
|
||||
|
||||
private Message<byte[]> messageWithoutContentType;
|
||||
|
||||
private Message<String> messageJson;
|
||||
|
||||
|
||||
@@ -58,20 +61,22 @@ class ProtobufMessageConverterTest {
|
||||
this.testMsg = Msg.newBuilder().setFoo("Foo").setBlah(SecondMsg.newBuilder().setBlah(123).build()).build();
|
||||
this.message = MessageBuilder.withPayload(this.testMsg.toByteArray())
|
||||
.setHeader(CONTENT_TYPE, ProtobufMessageConverter.PROTOBUF).build();
|
||||
this.messageWithoutContentType = MessageBuilder.withPayload(this.testMsg.toByteArray())
|
||||
this.messageWithoutContentType = MessageBuilder.withPayload(this.testMsg.toByteArray()).build();
|
||||
this.messageJson = MessageBuilder.withPayload(
|
||||
"{\n" +
|
||||
" \"foo\": \"Foo\",\n" +
|
||||
" \"blah\": {\n" +
|
||||
" \"blah\": 123\n" +
|
||||
" }\n" +
|
||||
"}")
|
||||
.setHeader(CONTENT_TYPE, APPLICATION_JSON)
|
||||
.build();
|
||||
this.messageJson = MessageBuilder.withPayload("{\n" +
|
||||
" \"foo\": \"Foo\",\n" +
|
||||
" \"blah\": {\n" +
|
||||
" \"blah\": 123\n" +
|
||||
" }\n" +
|
||||
"}")
|
||||
.setHeader(CONTENT_TYPE, APPLICATION_JSON).build();
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
public void extensionRegistryNull() {
|
||||
ProtobufMessageConverter converter = new ProtobufMessageConverter((ExtensionRegistry) null);
|
||||
ProtobufMessageConverter converter = new ProtobufMessageConverter(null);
|
||||
assertThat(converter.extensionRegistry).isNotNull();
|
||||
}
|
||||
|
||||
@@ -92,13 +97,13 @@ class ProtobufMessageConverterTest {
|
||||
|
||||
|
||||
@Test
|
||||
public void convertFrom() throws IOException {
|
||||
public void convertFrom() {
|
||||
final Msg msg = (Msg) converter.fromMessage(message, Msg.class);
|
||||
assertThat(msg).isEqualTo(testMsg);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void convertTo() throws IOException {
|
||||
public void convertTo() {
|
||||
final Message<?> message = converter.toMessage(this.testMsg, this.message.getHeaders());
|
||||
assertThat(message).isNotNull();
|
||||
assertThat(message.getPayload()).isEqualTo(this.message.getPayload());
|
||||
@@ -106,19 +111,19 @@ class ProtobufMessageConverterTest {
|
||||
|
||||
|
||||
@Test
|
||||
public void convertFromNoContentType() throws IOException {
|
||||
public void convertFromNoContentType(){
|
||||
Msg result = (Msg) converter.fromMessage(messageWithoutContentType, Msg.class);
|
||||
assertThat(result).isEqualTo(testMsg);
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
public void defaultContentType() throws Exception {
|
||||
public void defaultContentType() {
|
||||
assertThat(converter.getDefaultContentType(testMsg)).isEqualTo(ProtobufMessageConverter.PROTOBUF);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testJsonWithGoogleProtobuf() throws Exception {
|
||||
public void testJsonWithGoogleProtobuf() {
|
||||
this.converter = new ProtobufMessageConverter(
|
||||
new ProtobufMessageConverter.ProtobufJavaUtilSupport(null, null),
|
||||
extensionRegistry);
|
||||
@@ -139,4 +144,4 @@ class ProtobufMessageConverterTest {
|
||||
assertThat(msg).isEqualTo(this.testMsg);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@@ -41,7 +41,6 @@ import org.springframework.messaging.converter.DefaultContentTypeResolver;
|
||||
import org.springframework.messaging.converter.MappingJackson2MessageConverter;
|
||||
import org.springframework.messaging.converter.MessageConverter;
|
||||
import org.springframework.messaging.converter.StringMessageConverter;
|
||||
import org.springframework.messaging.converter.ProtobufMessageConverter;
|
||||
import org.springframework.messaging.handler.annotation.MessageMapping;
|
||||
import org.springframework.messaging.handler.annotation.SendTo;
|
||||
import org.springframework.messaging.handler.invocation.HandlerMethodArgumentResolver;
|
||||
@@ -282,17 +281,13 @@ public class MessageBrokerConfigurationTests {
|
||||
CompositeMessageConverter compositeConverter = config.brokerMessageConverter();
|
||||
|
||||
List<MessageConverter> converters = compositeConverter.getConverters();
|
||||
assertThat(converters).hasSize(4);
|
||||
assertThat(converters).hasSize(3);
|
||||
assertThat(converters.get(0)).isInstanceOf(StringMessageConverter.class);
|
||||
assertThat(converters.get(1)).isInstanceOf(ByteArrayMessageConverter.class);
|
||||
assertThat(converters.get(2)).isInstanceOf(MappingJackson2MessageConverter.class);
|
||||
assertThat(converters.get(3)).isInstanceOf(ProtobufMessageConverter.class);
|
||||
|
||||
ContentTypeResolver resolver = ((MappingJackson2MessageConverter) converters.get(2)).getContentTypeResolver();
|
||||
assertThat(((DefaultContentTypeResolver) resolver).getDefaultMimeType()).isEqualTo(MimeTypeUtils.APPLICATION_JSON);
|
||||
|
||||
resolver = ((ProtobufMessageConverter) converters.get(3)).getContentTypeResolver();
|
||||
assertThat(((DefaultContentTypeResolver) resolver).getDefaultMimeType()).isEqualTo(ProtobufMessageConverter.PROTOBUF);
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -344,13 +339,12 @@ public class MessageBrokerConfigurationTests {
|
||||
};
|
||||
CompositeMessageConverter compositeConverter = config.brokerMessageConverter();
|
||||
|
||||
assertThat(compositeConverter.getConverters()).hasSize(5);
|
||||
assertThat(compositeConverter.getConverters()).hasSize(4);
|
||||
Iterator<MessageConverter> iterator = compositeConverter.getConverters().iterator();
|
||||
assertThat(iterator.next()).isEqualTo(testConverter);
|
||||
assertThat(iterator.next()).isInstanceOf(StringMessageConverter.class);
|
||||
assertThat(iterator.next()).isInstanceOf(ByteArrayMessageConverter.class);
|
||||
assertThat(iterator.next()).isInstanceOf(MappingJackson2MessageConverter.class);
|
||||
assertThat(iterator.next()).isInstanceOf(ProtobufMessageConverter.class);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
Reference in New Issue
Block a user