You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2016/11/09 11:14:44 UTC

camel git commit: CAMEL-9597 update tests to use Mockito instead of jsendnsca stub

Repository: camel
Updated Branches:
  refs/heads/master f501f021d -> cdef307d4


CAMEL-9597 update tests to use Mockito instead of jsendnsca stub


Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/cdef307d
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/cdef307d
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/cdef307d

Branch: refs/heads/master
Commit: cdef307d49720c65a32ff7169ecdb79596f2802e
Parents: f501f02
Author: Kevin Earls <ke...@kevinearls.com>
Authored: Wed Nov 9 12:09:42 2016 +0100
Committer: Kevin Earls <ke...@kevinearls.com>
Committed: Wed Nov 9 12:09:42 2016 +0100

----------------------------------------------------------------------
 components/camel-nagios/pom.xml                 |  12 +-
 .../component/nagios/NagiosEventNotifier.java   |  12 +-
 .../component/nagios/NagiosAsyncSendTest.java   |  25 +++-
 .../nagios/NagiosEventNotifierTest.java         |  45 ++----
 .../camel/component/nagios/NagiosTest.java      | 138 +++++++------------
 .../nagios/NagiosXorEncryptionTest.java         |  63 ++++-----
 6 files changed, 124 insertions(+), 171 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/cdef307d/components/camel-nagios/pom.xml
----------------------------------------------------------------------
diff --git a/components/camel-nagios/pom.xml b/components/camel-nagios/pom.xml
index 14d542e..b8cdb54 100644
--- a/components/camel-nagios/pom.xml
+++ b/components/camel-nagios/pom.xml
@@ -65,12 +65,6 @@
 
     <!-- test dependencies -->
     <dependency>
-      <groupId>com.googlecode</groupId>
-      <artifactId>jsendnsca-test</artifactId>
-      <scope>test</scope>
-      <version>${jsendnsca-version}</version>
-    </dependency>
-    <dependency>
       <groupId>org.apache.camel</groupId>
       <artifactId>camel-test</artifactId>
       <optional>true</optional>
@@ -80,7 +74,11 @@
       <groupId>junit</groupId>
       <artifactId>junit</artifactId>
       <scope>test</scope>
-    </dependency>   
+    </dependency>
+    <dependency>
+      <groupId>org.mockito</groupId>
+      <artifactId>mockito-core</artifactId>
+    </dependency>
     <dependency>
       <groupId>org.apache.logging.log4j</groupId>
       <artifactId>log4j-api</artifactId>

http://git-wip-us.apache.org/repos/asf/camel/blob/cdef307d/components/camel-nagios/src/main/java/org/apache/camel/component/nagios/NagiosEventNotifier.java
----------------------------------------------------------------------
diff --git a/components/camel-nagios/src/main/java/org/apache/camel/component/nagios/NagiosEventNotifier.java b/components/camel-nagios/src/main/java/org/apache/camel/component/nagios/NagiosEventNotifier.java
index eff2e3c..3f99f7f 100644
--- a/components/camel-nagios/src/main/java/org/apache/camel/component/nagios/NagiosEventNotifier.java
+++ b/components/camel-nagios/src/main/java/org/apache/camel/component/nagios/NagiosEventNotifier.java
@@ -44,6 +44,14 @@ public class NagiosEventNotifier extends EventNotifierSupport {
     private String serviceName = "Camel";
     private String hostName = "localhost";
 
+    public NagiosEventNotifier() {
+
+    }
+
+    public NagiosEventNotifier(NagiosPassiveCheckSender sender) {
+        this.sender = sender;
+    }
+
     public void notify(EventObject eventObject) throws Exception {
         // create message payload to send
         String message = eventObject.toString();
@@ -122,7 +130,9 @@ public class NagiosEventNotifier extends EventNotifierSupport {
         if (nagiosSettings == null) {
             nagiosSettings = configuration.getNagiosSettings();
         }
-        sender = new NagiosPassiveCheckSender(nagiosSettings);
+        if (sender == null) {
+            sender = new NagiosPassiveCheckSender(nagiosSettings);
+        }
 
         log.info("Using " + configuration);
     }

http://git-wip-us.apache.org/repos/asf/camel/blob/cdef307d/components/camel-nagios/src/test/java/org/apache/camel/component/nagios/NagiosAsyncSendTest.java
----------------------------------------------------------------------
diff --git a/components/camel-nagios/src/test/java/org/apache/camel/component/nagios/NagiosAsyncSendTest.java b/components/camel-nagios/src/test/java/org/apache/camel/component/nagios/NagiosAsyncSendTest.java
index ed6bef4..cf3ff35 100644
--- a/components/camel-nagios/src/test/java/org/apache/camel/component/nagios/NagiosAsyncSendTest.java
+++ b/components/camel-nagios/src/test/java/org/apache/camel/component/nagios/NagiosAsyncSendTest.java
@@ -16,21 +16,40 @@
  */
 package org.apache.camel.component.nagios;
 
+import com.googlecode.jsendnsca.core.NagiosPassiveCheckSender;
+import com.googlecode.jsendnsca.core.NonBlockingNagiosPassiveCheckSender;
+import org.apache.camel.Producer;
 import org.apache.camel.builder.RouteBuilder;
+import org.junit.BeforeClass;
+import org.mockito.Mock;
+import org.mockito.Mockito;
 
 /**
  * @version 
  */
 public class NagiosAsyncSendTest extends NagiosTest {
 
+    @BeforeClass
+    public static void setSender() {
+        nagiosPassiveCheckSender =  Mockito.mock(NonBlockingNagiosPassiveCheckSender.class);
+    }
+
     @Override
     protected RouteBuilder createRouteBuilder() throws Exception {
         return new RouteBuilder() {
             @Override
             public void configure() throws Exception {
-                // START SNIPPET: e1
-                from("direct:start").to("nagios:127.0.0.1:25667?password=secret&sendSync=false").to("mock:result");
-                // END SNIPPET: e1
+                String uri = "nagios:127.0.0.1:25664?password=secret&sendSync=false";
+
+                NagiosComponent nagiosComponent = new NagiosComponent();
+                nagiosComponent.setCamelContext(context);
+                NagiosEndpoint nagiousEndpoint = (NagiosEndpoint) nagiosComponent.createEndpoint(uri);
+                nagiousEndpoint.setSender(nagiosPassiveCheckSender);
+                Producer nagiosProducer = nagiousEndpoint.createProducer();
+
+                from("direct:start")
+                        .to(nagiousEndpoint)
+                        .to("mock:result");
             }
         };
     }

http://git-wip-us.apache.org/repos/asf/camel/blob/cdef307d/components/camel-nagios/src/test/java/org/apache/camel/component/nagios/NagiosEventNotifierTest.java
----------------------------------------------------------------------
diff --git a/components/camel-nagios/src/test/java/org/apache/camel/component/nagios/NagiosEventNotifierTest.java b/components/camel-nagios/src/test/java/org/apache/camel/component/nagios/NagiosEventNotifierTest.java
index ce72f93..6c75998 100644
--- a/components/camel-nagios/src/test/java/org/apache/camel/component/nagios/NagiosEventNotifierTest.java
+++ b/components/camel-nagios/src/test/java/org/apache/camel/component/nagios/NagiosEventNotifierTest.java
@@ -19,20 +19,26 @@ package org.apache.camel.component.nagios;
 import java.util.List;
 
 import com.googlecode.jsendnsca.core.MessagePayload;
-import com.googlecode.jsendnsca.core.mocks.NagiosNscaStub;
+import com.googlecode.jsendnsca.core.NagiosPassiveCheckSender;
 import org.apache.camel.CamelContext;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.test.junit4.CamelTestSupport;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
+import org.mockito.Mock;
+import org.mockito.Mockito;
 
+import static org.mockito.Mockito.*;
 /**
  * @version 
  */
 public class NagiosEventNotifierTest extends CamelTestSupport {
     protected boolean canRun;
-    private NagiosNscaStub nagios;
+
+    @Mock
+    private NagiosPassiveCheckSender nagiosPassiveCheckSender = Mockito.mock(NagiosPassiveCheckSender.class);
+
 
     @Override
     protected boolean useJmx() {
@@ -43,33 +49,12 @@ public class NagiosEventNotifierTest extends CamelTestSupport {
     @Override
     public void setUp() throws Exception {
         canRun = true;
-
-        nagios = new NagiosNscaStub(25669, "password");
-        try {
-            nagios.start();
-        } catch (Exception e) {
-            log.warn("Error starting NagiosNscaStub. This exception is ignored.", e);
-            canRun = false;
-        }
-
         super.setUp();
     }
 
-    @After
-    @Override
-    public void tearDown() throws Exception {
-        super.tearDown();
-        try {
-            nagios.stop();
-        } catch (Exception e) {
-            // ignore
-            log.warn("Error stopping NagiosNscaStub. This exception is ignored.", e);
-        }
-    }
-
     @Override
     protected CamelContext createCamelContext() throws Exception {
-        NagiosEventNotifier notifier = new NagiosEventNotifier();
+        NagiosEventNotifier notifier = new NagiosEventNotifier(nagiosPassiveCheckSender);
         notifier.getConfiguration().setHost("localhost");
         notifier.getConfiguration().setPort(25669);
         notifier.getConfiguration().setPassword("password");
@@ -93,11 +78,7 @@ public class NagiosEventNotifierTest extends CamelTestSupport {
 
         context.stop();
 
-        // sleep a little to let nagios stub process the payloads
-        Thread.sleep(2000);
-
-        List<MessagePayload> events = nagios.getMessagePayloadList();
-        assertTrue("Should be 11+ events, was: " + events.size(), events.size() >= 11);
+        verify(nagiosPassiveCheckSender, atLeast(11)).send(any(MessagePayload.class));
     }
 
     @Test
@@ -115,11 +96,7 @@ public class NagiosEventNotifierTest extends CamelTestSupport {
 
         context.stop();
 
-        // sleep a little to let nagios stub process the payloads
-        Thread.sleep(2000);
-
-        List<MessagePayload> events = nagios.getMessagePayloadList();
-        assertTrue("Should be 9+ events, was: " + events.size(), events.size() >= 9);
+        verify(nagiosPassiveCheckSender, atLeast(9)).send(any(MessagePayload.class));
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/camel/blob/cdef307d/components/camel-nagios/src/test/java/org/apache/camel/component/nagios/NagiosTest.java
----------------------------------------------------------------------
diff --git a/components/camel-nagios/src/test/java/org/apache/camel/component/nagios/NagiosTest.java b/components/camel-nagios/src/test/java/org/apache/camel/component/nagios/NagiosTest.java
index 69382b2..1f4e3b9 100644
--- a/components/camel-nagios/src/test/java/org/apache/camel/component/nagios/NagiosTest.java
+++ b/components/camel-nagios/src/test/java/org/apache/camel/component/nagios/NagiosTest.java
@@ -19,50 +19,46 @@ package org.apache.camel.component.nagios;
 import java.util.HashMap;
 import java.util.Map;
 
+import com.googlecode.jsendnsca.core.INagiosPassiveCheckSender;
 import com.googlecode.jsendnsca.core.Level;
 import com.googlecode.jsendnsca.core.MessagePayload;
-import com.googlecode.jsendnsca.core.mocks.NagiosNscaStub;
+import com.googlecode.jsendnsca.core.NagiosPassiveCheckSender;
+import org.apache.camel.Producer;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
 import org.apache.camel.test.junit4.CamelTestSupport;
 import org.junit.After;
 import org.junit.Before;
+import org.junit.BeforeClass;
 import org.junit.Test;
+import org.mockito.Mock;
+import org.mockito.Mockito;
+
+import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.verify;
+
 
 /**
  * @version 
  */
 public class NagiosTest extends CamelTestSupport {
+    @Mock
+    protected static INagiosPassiveCheckSender nagiosPassiveCheckSender;
+
     protected boolean canRun;
-    private NagiosNscaStub nagios;
-    
+
+    @BeforeClass
+    public static void setSender() {
+        nagiosPassiveCheckSender =  Mockito.mock(NagiosPassiveCheckSender.class);
+    }
+
     @Before
     @Override
     public void setUp() throws Exception {
         canRun = true;
-
-        nagios = new NagiosNscaStub(25667, "secret");
-        try {
-            nagios.start();
-        } catch (Exception e) {
-            log.warn("Error starting NagiosNscaStub. This exception is ignored.", e);
-            canRun = false;
-        }
-
         super.setUp();
     }
 
-    @After
-    @Override
-    public void tearDown() throws Exception {
-        super.tearDown();
-        try {
-            nagios.stop();
-        } catch (Exception e) {
-            // ignore
-            log.warn("Error stopping NagiosNscaStub. This exception is ignored.", e);
-        }
-    }
 
     @Test
     public void testSendToNagios() throws Exception {
@@ -70,24 +66,18 @@ public class NagiosTest extends CamelTestSupport {
             return;
         }
 
+        MessagePayload expectedPayload = new MessagePayload("localhost", Level.OK.ordinal(), context.getName(),  "Hello Nagios");
+
         MockEndpoint mock = getMockEndpoint("mock:result");
         mock.expectedMessageCount(1);
         mock.allMessages().body().isInstanceOf(String.class);
+        mock.expectedBodiesReceived("Hello Nagios");
 
         template.sendBody("direct:start", "Hello Nagios");
 
         assertMockEndpointsSatisfied();
 
-        // sleep a little to let nagios stub process the payloads
-        Thread.sleep(2000);
-
-        assertEquals(1, nagios.getMessagePayloadList().size());
-
-        MessagePayload payload = nagios.getMessagePayloadList().get(0);
-        assertEquals("Hello Nagios", payload.getMessage());
-        assertEquals("localhost", payload.getHostname());
-        assertEquals(Level.OK.ordinal(), payload.getLevel());
-        assertEquals(context.getName(), payload.getServiceName());
+        verify(nagiosPassiveCheckSender, times(1)).send(expectedPayload);
     }
 
     @Test
@@ -96,35 +86,21 @@ public class NagiosTest extends CamelTestSupport {
             return;
         }
 
+        MessagePayload expectedPayload1 = new MessagePayload("localhost", Level.OK.ordinal(), context.getName(),  "Hello Nagios");
+        MessagePayload expectedPayload2 = new MessagePayload("localhost", Level.OK.ordinal(), context.getName(),  "Bye Nagios");
+
         MockEndpoint mock = getMockEndpoint("mock:result");
         mock.expectedMessageCount(2);
         mock.allMessages().body().isInstanceOf(String.class);
+        mock.expectedBodiesReceived("Hello Nagios", "Bye Nagios");
 
         template.sendBody("direct:start", "Hello Nagios");
         template.sendBody("direct:start", "Bye Nagios");
 
         assertMockEndpointsSatisfied();
 
-        // sleep a little to let nagios stub process the payloads
-        Thread.sleep(3000);
-
-        assertEquals(2, nagios.getMessagePayloadList().size());
-
-        MessagePayload payload = nagios.getMessagePayloadList().get(0);
-        MessagePayload payload2 = nagios.getMessagePayloadList().get(1);
-
-        assertEquals("localhost", payload.getHostname());
-        assertEquals(Level.OK.ordinal(), payload.getLevel());
-        assertEquals(context.getName(), payload.getServiceName());
-        assertEquals("localhost", payload2.getHostname());
-        assertEquals(Level.OK.ordinal(), payload2.getLevel());
-        assertEquals(context.getName(), payload2.getServiceName());
-
-        // when using async they may arrive in different order
-        boolean hello = "Hello Nagios".equals(payload.getMessage()) || "Hello Nagios".equals(payload2.getMessage());
-        boolean bye = "Bye Nagios".equals(payload.getMessage()) || "Bye Nagios".equals(payload2.getMessage());
-        assertTrue("Should have received Hello Nagios message", hello);
-        assertTrue("Should have received Bye Nagios message", bye);
+        verify(nagiosPassiveCheckSender).send(expectedPayload1);
+        verify(nagiosPassiveCheckSender).send(expectedPayload2);
     }
 
     @Test
@@ -133,23 +109,16 @@ public class NagiosTest extends CamelTestSupport {
             return;
         }
 
+        MessagePayload expectedPayload1 = new MessagePayload("localhost", Level.WARNING.ordinal(), context.getName(),  "Hello Nagios");
+
         MockEndpoint mock = getMockEndpoint("mock:result");
         mock.expectedMessageCount(1);
+        mock.expectedBodiesReceived("Hello Nagios");
 
         template.sendBodyAndHeader("direct:start", "Hello Nagios", NagiosConstants.LEVEL, Level.WARNING);
 
         assertMockEndpointsSatisfied();
-
-        // sleep a little to let nagios stub process the payloads
-        Thread.sleep(2000);
-
-        assertEquals(1, nagios.getMessagePayloadList().size());
-
-        MessagePayload payload = nagios.getMessagePayloadList().get(0);
-        assertEquals("Hello Nagios", payload.getMessage());
-        assertEquals("localhost", payload.getHostname());
-        assertEquals(Level.WARNING.ordinal(), payload.getLevel());
-        assertEquals(context.getName(), payload.getServiceName());
+        verify(nagiosPassiveCheckSender).send(expectedPayload1);
     }
 
     @Test
@@ -158,23 +127,16 @@ public class NagiosTest extends CamelTestSupport {
             return;
         }
 
+        MessagePayload expectedPayload1 = new MessagePayload("localhost", Level.WARNING.ordinal(), context.getName(),  "Hello Nagios");
         MockEndpoint mock = getMockEndpoint("mock:result");
         mock.expectedMessageCount(1);
+        mock.expectedBodiesReceived("Hello Nagios");
 
         template.sendBodyAndHeader("direct:start", "Hello Nagios", NagiosConstants.LEVEL, "WARNING");
 
         assertMockEndpointsSatisfied();
 
-        // sleep a little to let nagios stub process the payloads
-        Thread.sleep(2000);
-
-        assertEquals(1, nagios.getMessagePayloadList().size());
-
-        MessagePayload payload = nagios.getMessagePayloadList().get(0);
-        assertEquals("Hello Nagios", payload.getMessage());
-        assertEquals("localhost", payload.getHostname());
-        assertEquals(Level.WARNING.ordinal(), payload.getLevel());
-        assertEquals(context.getName(), payload.getServiceName());
+        verify(nagiosPassiveCheckSender).send(expectedPayload1);
     }
 
     @Test
@@ -183,8 +145,10 @@ public class NagiosTest extends CamelTestSupport {
             return;
         }
 
+        MessagePayload expectedPayload1 = new MessagePayload("myHost", Level.CRITICAL.ordinal(), "myService",  "Hello Nagios");
         MockEndpoint mock = getMockEndpoint("mock:result");
         mock.expectedMessageCount(1);
+        mock.expectedBodiesReceived("Hello Nagios");
 
         Map<String, Object> headers = new HashMap<String, Object>();
         headers.put(NagiosConstants.LEVEL, "CRITICAL");
@@ -193,17 +157,7 @@ public class NagiosTest extends CamelTestSupport {
         template.sendBodyAndHeaders("direct:start", "Hello Nagios", headers);
 
         assertMockEndpointsSatisfied();
-
-        // sleep a little to let nagios stub process the payloads
-        Thread.sleep(2000);
-
-        assertEquals(1, nagios.getMessagePayloadList().size());
-
-        MessagePayload payload = nagios.getMessagePayloadList().get(0);
-        assertEquals("Hello Nagios", payload.getMessage());
-        assertEquals("myHost", payload.getHostname());
-        assertEquals(Level.CRITICAL.ordinal(), payload.getLevel());
-        assertEquals("myService", payload.getServiceName());
+        verify(nagiosPassiveCheckSender).send(expectedPayload1);
     }
 
     @Override
@@ -211,9 +165,17 @@ public class NagiosTest extends CamelTestSupport {
         return new RouteBuilder() {
             @Override
             public void configure() throws Exception {
-                // START SNIPPET: e1
-                from("direct:start").to("nagios:127.0.0.1:25667?password=secret").to("mock:result");
-                // END SNIPPET: e1
+                String uri = "nagios:127.0.0.1:25664?password=secret";
+
+                NagiosComponent nagiosComponent = new NagiosComponent();
+                nagiosComponent.setCamelContext(context);
+                NagiosEndpoint nagiousEndpoint = (NagiosEndpoint) nagiosComponent.createEndpoint(uri);
+                nagiousEndpoint.setSender(nagiosPassiveCheckSender);
+                Producer nagiosProducer = nagiousEndpoint.createProducer();
+
+                from("direct:start")
+                        .to(nagiousEndpoint)
+                        .to("mock:result");
             }
         };
     }

http://git-wip-us.apache.org/repos/asf/camel/blob/cdef307d/components/camel-nagios/src/test/java/org/apache/camel/component/nagios/NagiosXorEncryptionTest.java
----------------------------------------------------------------------
diff --git a/components/camel-nagios/src/test/java/org/apache/camel/component/nagios/NagiosXorEncryptionTest.java b/components/camel-nagios/src/test/java/org/apache/camel/component/nagios/NagiosXorEncryptionTest.java
index be7ffe4..4147a43 100644
--- a/components/camel-nagios/src/test/java/org/apache/camel/component/nagios/NagiosXorEncryptionTest.java
+++ b/components/camel-nagios/src/test/java/org/apache/camel/component/nagios/NagiosXorEncryptionTest.java
@@ -18,55 +18,43 @@ package org.apache.camel.component.nagios;
 
 import com.googlecode.jsendnsca.core.Level;
 import com.googlecode.jsendnsca.core.MessagePayload;
-import com.googlecode.jsendnsca.core.mocks.NagiosNscaStub;
+import com.googlecode.jsendnsca.core.NagiosPassiveCheckSender;
+import org.apache.camel.Producer;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
 import org.apache.camel.test.junit4.CamelTestSupport;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
+import org.mockito.Mock;
+import org.mockito.Mockito;
+
+import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.verify;
 
 /**
  * @version 
  */
 public class NagiosXorEncryptionTest extends CamelTestSupport {
     protected boolean canRun;
-    private NagiosNscaStub nagios;
-    
+
+    @Mock
+    private NagiosPassiveCheckSender nagiosPassiveCheckSender = Mockito.mock(NagiosPassiveCheckSender.class);
+
     @Before
     @Override
     public void setUp() throws Exception {
         canRun = true;
-
-        nagios = new NagiosNscaStub(25664, "secret");
-        try {
-            nagios.start();
-        } catch (Exception e) {
-            log.warn("Error starting NagiosNscaStub. This exception is ignored.", e);
-            canRun = false;
-        }
-
         super.setUp();
     }
-
-    @After
-    @Override
-    public void tearDown() throws Exception {
-        super.tearDown();
-        try {
-            nagios.stop();
-        } catch (Exception e) {
-            // ignore
-            log.warn("Error stopping NagiosNscaStub. This exception is ignored.", e);
-        }
-    }
-
+    
     @Test
     public void testSendToNagios() throws Exception {
         if (!canRun) {
             return;
         }
 
+        MessagePayload expectedPayload = new MessagePayload("localhost", Level.OK.ordinal(), context.getName(),  "Hello Nagios");
         MockEndpoint mock = getMockEndpoint("mock:result");
         mock.expectedMessageCount(1);
         mock.allMessages().body().isInstanceOf(String.class);
@@ -75,16 +63,7 @@ public class NagiosXorEncryptionTest extends CamelTestSupport {
 
         assertMockEndpointsSatisfied();
 
-        // sleep a little to let nagios stub process the payloads
-        Thread.sleep(2000);
-
-        assertEquals(1, nagios.getMessagePayloadList().size());
-
-        MessagePayload payload = nagios.getMessagePayloadList().get(0);
-        assertEquals("Hello Nagios", payload.getMessage());
-        assertEquals("localhost", payload.getHostname());
-        assertEquals(Level.OK.ordinal(), payload.getLevel());
-        assertEquals(context.getName(), payload.getServiceName());
+        verify(nagiosPassiveCheckSender, times(1)).send(expectedPayload);
     }
 
     @Override
@@ -92,9 +71,17 @@ public class NagiosXorEncryptionTest extends CamelTestSupport {
         return new RouteBuilder() {
             @Override
             public void configure() throws Exception {
-                // START SNIPPET: e1
-                from("direct:start").to("nagios:127.0.0.1:25664?password=secret&encryptionMethod=Xor").to("mock:result");
-                // END SNIPPET: e1
+                String uri = "nagios:127.0.0.1:25664?password=secret&encryptionMethod=Xor";
+
+                NagiosComponent nagiosComponent = new NagiosComponent();
+                nagiosComponent.setCamelContext(context);
+                NagiosEndpoint nagiousEndpoint = (NagiosEndpoint) nagiosComponent.createEndpoint(uri);
+                nagiousEndpoint.setSender(nagiosPassiveCheckSender);
+                Producer nagiosProducer = nagiousEndpoint.createProducer();
+
+                from("direct:start")
+                        .to(nagiousEndpoint)
+                        .to("mock:result");
             }
         };
     }