Guest User

Untitled

a guest
Oct 22nd, 2018
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.47 KB | None | 0 0
  1. public class CamelValidationTest extends CamelTestSupport {
  2. private static final String DEAD_LETTER_QUEUE = "seda:errors";
  3. private static final String OUT_QUEUE = "vm:in";
  4. private static final String IN_QUEUE = "vm:out";
  5.  
  6. private class Data {
  7. @Pattern(regexp="[a-z]+")
  8. private final String text;
  9.  
  10. public Data(String text) {
  11. this.text = text;
  12. }
  13.  
  14. public String getText() {
  15. return text;
  16. }
  17. }
  18.  
  19. @Override
  20. protected RouteBuilder createRouteBuilder() throws Exception {
  21. return new RouteBuilder() {
  22. @Override
  23. public void configure() throws Exception {
  24. errorHandler(deadLetterChannel(DEAD_LETTER_QUEUE));
  25. from(IN_QUEUE).to("bean-validator://v").to(OUT_QUEUE).end();
  26. }
  27. };
  28. }
  29.  
  30. @Test
  31. public void readFromOutQueue() throws Exception {
  32. // given
  33. ProducerTemplate producerTemplate = context.createProducerTemplate();
  34. Data cdm = new Data("test");
  35.  
  36. // when
  37. producerTemplate.sendBody(IN_QUEUE, ExchangePattern.InOnly, cdm);
  38.  
  39. // then
  40. Data data = consumer.receiveBody(OUT_QUEUE, Data.class);
  41. assertEquals(cdm.getText(), data.getText());
  42. }
  43.  
  44. @Test
  45. public void shouldPutMessageToDeadLetterQueueWhenValidationFailed() throws Exception {
  46. // given
  47. ProducerTemplate producerTemplate = context.createProducerTemplate();
  48. Data cdm = new Data("1");
  49.  
  50. // when
  51. producerTemplate.sendBody(IN_QUEUE, ExchangePattern.InOnly, cdm);
  52.  
  53. // then
  54. Data data = consumer.receiveBody(DEAD_LETTER_QUEUE, Data.class);
  55. assertEquals(cdm.getText(), data.getText());
  56. }
  57. }
Add Comment
Please, Sign In to add comment