I have been using Spring Integration DSL to implement some messaging processing flow.
How can I actually unit test a single IntegrationFlow, can anyone provide me with an example on how to unit test i.e. transform part of this bean:
@Bean public IntegrationFlow transformMessage(){ return message -> message .transform(new GenericTransformer<Message<String>, Message<String>>() { @Override public Message<String> transform(Message<String> message) { MutableMessageHeaders headers = new MutableMessageHeaders(message.getHeaders()); headers.put("Content-Type", "application/json"); headers.put("Accept", "application/json"); String payload = "Long message"; ObjectMapper mapper = new ObjectMapper(); HashMap<String, String> map = new HashMap<>(); map.put("payload", payload); String jsonString = null; try { jsonInString = mapper.writeValueAsString(map); } catch (JsonProcessingException e) { logger.error("Error:" + e.getMessage()); } Message<String> request = new GenericMessage<String>(jsonString , headers); return request; } }) .handle(makeHttpRequestToValidateAcdrMessage()) .enrichHeaders(h -> h.header("someHeader", "blah", true)) .channel("entrypoint"); } How can I test it?
Regards!