Search in sources :

Example 6 with JsonOutboundMessageMapper

use of org.springframework.integration.support.json.JsonOutboundMessageMapper in project spring-integration by spring-projects.

the class JsonOutboundMessageMapperTests method testFromMessageWithHeadersAndBeanPayload.

@Test
public void testFromMessageWithHeadersAndBeanPayload() throws Exception {
    TestBean payload = new TestBean();
    Message<TestBean> testMessage = MessageBuilder.withPayload(payload).build();
    JsonOutboundMessageMapper mapper = new JsonOutboundMessageMapper();
    String result = mapper.fromMessage(testMessage);
    assertTrue(result.contains("\"headers\":{"));
    assertTrue(result.contains("\"timestamp\":" + testMessage.getHeaders().getTimestamp()));
    assertTrue(result.contains("\"id\":\"" + testMessage.getHeaders().getId() + "\""));
    TestBean parsedPayload = extractJsonPayloadToTestBean(result);
    assertEquals(payload, parsedPayload);
}
Also used : JsonOutboundMessageMapper(org.springframework.integration.support.json.JsonOutboundMessageMapper) Test(org.junit.Test)

Example 7 with JsonOutboundMessageMapper

use of org.springframework.integration.support.json.JsonOutboundMessageMapper in project spring-integration by spring-projects.

the class StoredProcOutboundGatewayWithSpelIntegrationTests method testInt2865SqlReturnType.

@Test
@Transactional
public void testInt2865SqlReturnType() throws Exception {
    Mockito.reset(this.clobSqlReturnType);
    Message<String> testMessage = MessageBuilder.withPayload("TEST").setHeader("FOO", "BAR").build();
    String messageId = testMessage.getHeaders().getId().toString();
    String jsonMessage = new JsonOutboundMessageMapper().fromMessage(testMessage);
    this.jdbcTemplate.update("INSERT INTO json_message VALUES (?,?)", messageId, jsonMessage);
    this.getMessageChannel.send(new GenericMessage<String>(messageId));
    Message<?> resultMessage = this.output2Channel.receive(10000);
    assertNotNull(resultMessage);
    Object resultPayload = resultMessage.getPayload();
    assertTrue(resultPayload instanceof String);
    Message<?> message = new JsonInboundMessageMapper(String.class, new Jackson2JsonMessageParser()).toMessage((String) resultPayload);
    assertEquals(testMessage.getPayload(), message.getPayload());
    assertEquals(testMessage.getHeaders().get("FOO"), message.getHeaders().get("FOO"));
    Mockito.verify(clobSqlReturnType).getTypeValue(Mockito.any(CallableStatement.class), Mockito.eq(2), Mockito.eq(JdbcTypesEnum.CLOB.getCode()), Mockito.eq((String) null));
}
Also used : JsonInboundMessageMapper(org.springframework.integration.support.json.JsonInboundMessageMapper) Jackson2JsonMessageParser(org.springframework.integration.support.json.Jackson2JsonMessageParser) CallableStatement(java.sql.CallableStatement) JsonOutboundMessageMapper(org.springframework.integration.support.json.JsonOutboundMessageMapper) Test(org.junit.Test) Transactional(org.springframework.transaction.annotation.Transactional)

Aggregations

Test (org.junit.Test)7 JsonOutboundMessageMapper (org.springframework.integration.support.json.JsonOutboundMessageMapper)7 JsonInboundMessageMapper (org.springframework.integration.support.json.JsonInboundMessageMapper)2 CallableStatement (java.sql.CallableStatement)1 Jackson2JsonMessageParser (org.springframework.integration.support.json.Jackson2JsonMessageParser)1 Transactional (org.springframework.transaction.annotation.Transactional)1