use of com.adaptris.core.services.metadata.PayloadFromTemplateService in project interlok by adaptris.
the class MultiProducerWorkflowTest method testToString.
@Test
public void testToString() throws Exception {
MockMessageProducer mock1 = new MockMessageProducer();
MockMessageProducer mock2 = new MockMessageProducer();
MockChannel channel = createChannel(Arrays.asList(new AdaptrisMessageProducer[] { mock1, mock2 }), Arrays.asList(new Service[] { new PayloadFromTemplateService().withTemplate(MODIFIED_PAYLOAD) }));
MultiProducerWorkflow workflow = (MultiProducerWorkflow) channel.getWorkflowList().get(0);
assertNotNull(workflow.toString());
}
use of com.adaptris.core.services.metadata.PayloadFromTemplateService in project interlok by adaptris.
the class MultiProducerWorkflowTest method testHandleAdditionalProducerProduceException.
@Test
public void testHandleAdditionalProducerProduceException() throws Exception {
MockMessageProducer mock1 = new MockMessageProducer() {
@Override
protected void doProduce(AdaptrisMessage msg, String endpoint) throws ProduceException {
throw new ProduceException();
}
};
MockMessageProducer mock2 = new MockMessageProducer();
MockChannel channel = createChannel(Arrays.asList(new AdaptrisMessageProducer[] { mock1, mock2 }), Arrays.asList(new Service[] { new PayloadFromTemplateService().withTemplate(MODIFIED_PAYLOAD) }));
try {
MultiProducerWorkflow workflow = (MultiProducerWorkflow) channel.getWorkflowList().get(0);
workflow.setUseProcessedMessage(false);
channel.prepare();
channel.requestStart();
AdaptrisMessage msg = AdaptrisMessageFactory.getDefaultInstance().newMessage(ORIGINAL_PAYLOAD);
workflow.onAdaptrisMessage(msg);
assertEquals(0, mock1.getMessages().size());
assertEquals(1, mock2.getMessages().size());
assertEquals(ORIGINAL_PAYLOAD, mock2.getMessages().get(0).getContent());
} finally {
channel.requestClose();
}
}
use of com.adaptris.core.services.metadata.PayloadFromTemplateService in project interlok by adaptris.
the class MultiProducerWorkflowTest method testUseOriginalMessage.
@Test
public void testUseOriginalMessage() throws Exception {
MockMessageProducer mock1 = new MockMessageProducer();
MockMessageProducer mock2 = new MockMessageProducer();
MockChannel channel = createChannel(Arrays.asList(new AdaptrisMessageProducer[] { mock1, mock2 }), Arrays.asList(new Service[] { new PayloadFromTemplateService().withTemplate(MODIFIED_PAYLOAD) }));
try {
MultiProducerWorkflow workflow = (MultiProducerWorkflow) channel.getWorkflowList().get(0);
workflow.setUseProcessedMessage(false);
channel.prepare();
channel.requestStart();
AdaptrisMessage msg = AdaptrisMessageFactory.getDefaultInstance().newMessage(ORIGINAL_PAYLOAD);
workflow.onAdaptrisMessage(msg);
assertEquals(1, mock1.getMessages().size());
assertEquals(ORIGINAL_PAYLOAD, mock1.getMessages().get(0).getContent());
assertEquals(1, mock2.getMessages().size());
assertEquals(ORIGINAL_PAYLOAD, mock2.getMessages().get(0).getContent());
} finally {
channel.requestClose();
}
}
use of com.adaptris.core.services.metadata.PayloadFromTemplateService in project interlok by adaptris.
the class MultiProducerWorkflowTest method testHandleProduceException.
@Test
public void testHandleProduceException() throws Exception {
MockMessageProducer mock1 = new MockMessageProducer();
MockMessageProducer mock2 = new MockMessageProducer();
MockMessageProducer meh = new MockMessageProducer();
MockChannel channel = createChannel(Arrays.asList(new AdaptrisMessageProducer[] { mock1, mock2 }), Arrays.asList(new Service[] { new PayloadFromTemplateService().withTemplate(MODIFIED_PAYLOAD) }));
channel.setMessageErrorHandler(new StandardProcessingExceptionHandler(new ServiceList(new ArrayList(Arrays.asList(new Service[] { new StandaloneProducer(meh) })))));
try {
MultiProducerWorkflow workflow = (MultiProducerWorkflow) channel.getWorkflowList().get(0);
workflow.setProducer(new MockMessageProducer() {
@Override
protected void doProduce(AdaptrisMessage msg, String endpoint) throws ProduceException {
throw new ProduceException();
}
});
workflow.setUseProcessedMessage(false);
channel.prepare();
channel.requestStart();
AdaptrisMessage msg = AdaptrisMessageFactory.getDefaultInstance().newMessage(ORIGINAL_PAYLOAD);
workflow.onAdaptrisMessage(msg);
assertEquals(0, mock1.getMessages().size());
assertEquals(0, mock2.getMessages().size());
assertEquals(1, meh.getMessages().size());
assertEquals(ORIGINAL_PAYLOAD, meh.getMessages().get(0).getContent());
} finally {
channel.requestClose();
}
}
use of com.adaptris.core.services.metadata.PayloadFromTemplateService in project interlok by adaptris.
the class MultiProducerWorkflowTest method testHandleRuntimeException.
@Test
public void testHandleRuntimeException() throws Exception {
MockMessageProducer mock1 = new MockMessageProducer();
MockMessageProducer mock2 = new MockMessageProducer();
MockMessageProducer meh = new MockMessageProducer();
MockChannel channel = createChannel(Arrays.asList(new AdaptrisMessageProducer[] { mock1, mock2 }), Arrays.asList(new Service[] { new PayloadFromTemplateService().withTemplate(MODIFIED_PAYLOAD) }));
channel.setMessageErrorHandler(new StandardProcessingExceptionHandler(new ServiceList(new ArrayList(Arrays.asList(new Service[] { new StandaloneProducer(meh) })))));
try {
MultiProducerWorkflow workflow = (MultiProducerWorkflow) channel.getWorkflowList().get(0);
workflow.setUseProcessedMessage(false);
workflow.setProducer(new MockMessageProducer() {
@Override
protected void doProduce(AdaptrisMessage msg, String endpoint) throws ProduceException {
throw new RuntimeException();
}
});
channel.prepare();
channel.requestStart();
AdaptrisMessage msg = AdaptrisMessageFactory.getDefaultInstance().newMessage(ORIGINAL_PAYLOAD);
workflow.onAdaptrisMessage(msg);
assertEquals(0, mock1.getMessages().size());
assertEquals(0, mock2.getMessages().size());
assertEquals(1, meh.getMessages().size());
assertEquals(ORIGINAL_PAYLOAD, meh.getMessages().get(0).getContent());
} finally {
channel.requestClose();
}
}
Aggregations