title: How to mock AMQP consumers in Camel testing?
body: <p>Say I have the following route:</p>
  
  <pre><code>from(rabbitMQUri)
      .to(myCustomerProcessor)
      .choice()
          .when(shouldGotoA)
              .to(fizz)
          .when(shouldGotoB)
              .to(buzz)
          .otherwise()
              .to(foo);
  </code></pre>
  
  <p>Let's pretend that <code>myCustomProcessor</code> tunes <code>shouldGotoA</code> and <code>shouldGotoB</code> according to the message consumed from RabbitMQ.</p>
  
  <p>I would like to unit test 3 scenarios:</p>
  
  <ol>
  <li>A "<em>fizz</em>" message is consumed and <code>shouldGotoA</code> is set to true, which executes the first <code>when(...)</code>.</li>
  <li>A "<em>buzz</em>" message is consumed and <code>shouldGotoB</code> is set to true, which executes the second <code>when(...)</code>.</li>
  <li>A "<em>foo</em>" message is consumed and the <code>otherwise()</code> is executed.</li>
  </ol>
  
  <p>My question is: how do I mock/stub the RabbitMQ endpoint so that the route executes as it normally will in production, but so that I don't have to actually connect the test to a RabbitMQ server? I need some kind of "mock message" producer.</p>
  
  <p>A code example or snippet would be <em>extremely helpful</em> and very much so appreciated!</p>