title: How do I mock an Amazon SQS endpoint when testing a Camel application
body: <p>I am writing a Spring Boot application that uses Camel to listen to an SQS queue. Route definition:</p>
  
  <pre><code>from("aws-sqs://my-s3-notification-queue" +
      "?amazonSQSClient=#sqsClient" +
      "&amp;deleteAfterRead=false")
      .unmarshal().json(JsonLibrary.Jackson, S3EventNotification.class)
      .bean(s3NotificationHandler);
  </code></pre>
  
  <p><code>sqsClient</code> is defined as a <code>@Bean</code> in a <code>@Configuration</code> file.</p>
  
  <p>When running tests, I would like to mock the SQS endpoint so that I don't actually connect to AWS. How do I do this? I've tried writing my tests like</p>
  
  <pre><code>@RunWith(CamelSpringBootRunner.class)
  @SpringBootTest
  @MockEndpoints
  public class ApplicationTests {
  
      @Test
      public void contextLoads() {
      }
  
  }
  </code></pre>
  
  <p>This should work if I'm reading the docs correctly, but it still tries to connect to AWS. What am I missing?</p>