@Test(expected = IllegalArgumentException.class) public void setStrictContentTypeMatchWithNoSupportedMimeTypes() { this.converter = new TestMessageConverter(Collections.<MimeType>emptyList()); this.converter.setStrictContentTypeMatch(true); }
@Test public void supportsMimeTypeNoneConfigured() { Message<String> message = MessageBuilder.withPayload( "ABC").setHeader(MessageHeaders.CONTENT_TYPE, MimeTypeUtils.APPLICATION_JSON).build(); this.converter = new TestMessageConverter(Collections.<MimeType>emptyList()); assertEquals("success-from", this.converter.fromMessage(message, String.class)); }
@Test public void toMessageWithMutableMessageHeaders() { SimpMessageHeaderAccessor accessor = SimpMessageHeaderAccessor.create(SimpMessageType.MESSAGE); accessor.setHeader("foo", "bar"); accessor.setNativeHeader("fooNative", "barNative"); accessor.setLeaveMutable(true); MessageHeaders headers = accessor.getMessageHeaders(); Message<?> message = this.converter.toMessage("ABC", headers); assertSame(headers, message.getHeaders()); assertNull(message.getHeaders().getId()); assertNull(message.getHeaders().getTimestamp()); assertEquals(MimeTypeUtils.TEXT_PLAIN, message.getHeaders().get(MessageHeaders.CONTENT_TYPE)); }
@Test public void supportsMimeTypeNotSpecified() { Message<String> message = MessageBuilder.withPayload("ABC").build(); assertEquals("success-from", this.converter.fromMessage(message, String.class)); }
@Test public void supportsMimeTypeNotSupported() { Message<String> message = MessageBuilder.withPayload( "ABC").setHeader(MessageHeaders.CONTENT_TYPE, MimeTypeUtils.APPLICATION_JSON).build(); assertNull(this.converter.fromMessage(message, String.class)); }
@Test public void supportsTargetClass() { Message<String> message = MessageBuilder.withPayload("ABC").build(); assertEquals("success-from", this.converter.fromMessage(message, String.class)); assertNull(this.converter.fromMessage(message, Integer.class)); }
@Test public void toMessageContentTypeHeader() { Message<?> message = this.converter.toMessage("ABC", null); assertEquals(MimeTypeUtils.TEXT_PLAIN, message.getHeaders().get(MessageHeaders.CONTENT_TYPE)); }
@Test public void supportsMimeType() { Message<String> message = MessageBuilder.withPayload( "ABC").setHeader(MessageHeaders.CONTENT_TYPE, MimeTypeUtils.TEXT_PLAIN).build(); assertEquals("success-from", this.converter.fromMessage(message, String.class)); }
@Test public void toMessageWithHeaders() { Map<String, Object> map = new HashMap<>(); map.put("foo", "bar"); MessageHeaders headers = new MessageHeaders(map); Message<?> message = this.converter.toMessage("ABC", headers); assertNotNull(message.getHeaders().getId()); assertNotNull(message.getHeaders().getTimestamp()); assertEquals(MimeTypeUtils.TEXT_PLAIN, message.getHeaders().get(MessageHeaders.CONTENT_TYPE)); assertEquals("bar", message.getHeaders().get("foo")); }
@Test public void canConvertFromStrictContentTypeMatch() { this.converter = new TestMessageConverter(Arrays.asList(MimeTypeUtils.TEXT_PLAIN)); this.converter.setStrictContentTypeMatch(true); Message<String> message = MessageBuilder.withPayload("ABC").build(); assertFalse(this.converter.canConvertFrom(message, String.class)); message = MessageBuilder.withPayload("ABC") .setHeader(MessageHeaders.CONTENT_TYPE, MimeTypeUtils.TEXT_PLAIN).build(); assertTrue(this.converter.canConvertFrom(message, String.class)); }