Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class CamelValidationTest extends CamelTestSupport {
- private static final String DEAD_LETTER_QUEUE = "seda:errors";
- private static final String OUT_QUEUE = "vm:in";
- private static final String IN_QUEUE = "vm:out";
- private class Data {
- @Pattern(regexp="[a-z]+")
- private final String text;
- public Data(String text) {
- this.text = text;
- }
- public String getText() {
- return text;
- }
- }
- @Override
- protected RouteBuilder createRouteBuilder() throws Exception {
- return new RouteBuilder() {
- @Override
- public void configure() throws Exception {
- errorHandler(deadLetterChannel(DEAD_LETTER_QUEUE));
- from(IN_QUEUE).to("bean-validator://v").to(OUT_QUEUE).end();
- }
- };
- }
- @Test
- public void readFromOutQueue() throws Exception {
- // given
- ProducerTemplate producerTemplate = context.createProducerTemplate();
- Data cdm = new Data("test");
- // when
- producerTemplate.sendBody(IN_QUEUE, ExchangePattern.InOnly, cdm);
- // then
- Data data = consumer.receiveBody(OUT_QUEUE, Data.class);
- assertEquals(cdm.getText(), data.getText());
- }
- @Test
- public void shouldPutMessageToDeadLetterQueueWhenValidationFailed() throws Exception {
- // given
- ProducerTemplate producerTemplate = context.createProducerTemplate();
- Data cdm = new Data("1");
- // when
- producerTemplate.sendBody(IN_QUEUE, ExchangePattern.InOnly, cdm);
- // then
- Data data = consumer.receiveBody(DEAD_LETTER_QUEUE, Data.class);
- assertEquals(cdm.getText(), data.getText());
- }
- }
Add Comment
Please, Sign In to add comment