Advertisement
Guest User

Untitled

a guest
Dec 6th, 2012
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.56 KB | None | 0 0
  1. package testIntercept;
  2.  
  3. import org.apache.camel.Exchange;
  4. import org.apache.camel.Processor;
  5. import org.apache.camel.builder.AdviceWithRouteBuilder;
  6. import org.apache.camel.builder.RouteBuilder;
  7. import org.apache.camel.test.junit4.CamelTestSupport;
  8. import org.junit.Assert;
  9. import org.junit.Test;
  10.  
  11. public class IsUseAdviceWithJUnit4Test extends CamelTestSupport {
  12.  
  13. private String simpleProvider = "http4:fakeHTTPADDRESS.com:80?throwExceptionOnFailure=false";
  14. private String providerWithParameter = "http4:fakeHTTPADDRESS.com:80?throwExceptionOnFailure=false&httpClient.cookiePolicy=ignoreCookies";
  15. private boolean messageIntercepted;
  16.  
  17. @Test
  18. public void testHttp4WithoutHttpClientParameter() throws Exception {
  19. doTestHttp4Parameter(simpleProvider);
  20. }
  21.  
  22. /**
  23. * This test will fail even if the message is never received by the Endpoint.
  24. * @throws Exception
  25. */
  26. @Test
  27. public void testHttp4WithHttpClientParameter() throws Exception {
  28. doTestHttp4Parameter(providerWithParameter);
  29. }
  30.  
  31. public void doTestHttp4Parameter(final String provider) throws Exception {
  32.  
  33. messageIntercepted = false;
  34.  
  35. context.addRoutes(new RouteBuilder() {
  36. @Override
  37. public void configure() throws Exception {
  38.  
  39. from("direct:start")
  40. .to(provider)
  41. .to("mock:result");
  42. }
  43. });
  44.  
  45. context.start();
  46.  
  47. // advice the first route using the inlined route builder
  48. context.getRouteDefinitions().get(0).adviceWith(context, new AdviceWithRouteBuilder() {
  49. @Override
  50. public void configure() throws Exception {
  51.  
  52. interceptSendToEndpoint(simpleProvider)
  53. .skipSendToOriginalEndpoint()
  54. .process(new Processor() {
  55. @Override
  56. public void process(Exchange exchange) throws Exception {
  57. messageIntercepted = true;
  58. }
  59. })
  60. .to("mock:advised");
  61. }
  62. });
  63.  
  64. getMockEndpoint("mock:advised").expectedMessageCount(1);
  65. getMockEndpoint("mock:result").expectedMessageCount(1);
  66.  
  67. template.sendBody("direct:start", "Hello World");
  68.  
  69. assertMockEndpointsSatisfied();
  70.  
  71. Assert.assertTrue(messageIntercepted);
  72. }
  73.  
  74. @Override
  75. public boolean isUseRouteBuilder() {
  76. return false;
  77. }
  78. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement