camel-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ningji...@apache.org
Subject camel git commit: CAMEL-8228 Added the MQTTBrigeTest into camel-mqtt
Date Tue, 13 Jan 2015 13:07:37 GMT
Repository: camel
Updated Branches:
  refs/heads/camel-2.14.x 6271d011f -> 933a0d2eb


CAMEL-8228 Added the MQTTBrigeTest into camel-mqtt


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

Branch: refs/heads/camel-2.14.x
Commit: 933a0d2eb01abb5c5fdc7fcc509589c83e61cb98
Parents: 6271d01
Author: Willem Jiang <willem.jiang@gmail.com>
Authored: Tue Jan 13 19:53:15 2015 +0800
Committer: Willem Jiang <willem.jiang@gmail.com>
Committed: Tue Jan 13 19:55:19 2015 +0800

----------------------------------------------------------------------
 .../camel/component/mqtt/MQTTBrigeTest.java     | 87 ++++++++++++++++++++
 1 file changed, 87 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/933a0d2e/components/camel-mqtt/src/test/java/org/apache/camel/component/mqtt/MQTTBrigeTest.java
----------------------------------------------------------------------
diff --git a/components/camel-mqtt/src/test/java/org/apache/camel/component/mqtt/MQTTBrigeTest.java
b/components/camel-mqtt/src/test/java/org/apache/camel/component/mqtt/MQTTBrigeTest.java
new file mode 100644
index 0000000..3732554
--- /dev/null
+++ b/components/camel-mqtt/src/test/java/org/apache/camel/component/mqtt/MQTTBrigeTest.java
@@ -0,0 +1,87 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.mqtt;
+
+import org.apache.camel.EndpointInject;
+import org.apache.camel.LoggingLevel;
+import org.apache.camel.Produce;
+import org.apache.camel.ProducerTemplate;
+import org.apache.camel.builder.RouteBuilder;
+import org.apache.camel.component.mock.MockEndpoint;
+import org.junit.Test;
+
+/**
+ * Tests bridging between two mqtt topic using Camel
+ * 
+ * @version
+ */
+public class MQTTBrigeTest extends MQTTBaseTest {
+    
+    @EndpointInject(uri = "mock:result")
+    protected MockEndpoint resultEndpoint;
+
+    @Produce(uri = "direct:start")
+    protected ProducerTemplate template;
+
+    @Produce(uri = "direct:startWorkaround")
+    protected ProducerTemplate workaroundTemplate;
+
+    
+
+    @Test
+    public void testMqttBridge() throws Exception {
+        String expectedBody = "Dummy!";
+
+        resultEndpoint.expectedBodiesReceived(expectedBody);
+
+        template.sendBody(expectedBody);
+
+        resultEndpoint.assertIsSatisfied();
+    }
+
+    @Test
+    public void testMqttBridgeWorkAround() throws Exception {
+        String expectedBody = "Dummy!";
+
+        resultEndpoint.expectedBodiesReceived(expectedBody);
+
+        workaroundTemplate.sendBody(expectedBody);
+
+        resultEndpoint.assertIsSatisfied();
+    }
+
+    @Override
+    protected RouteBuilder createRouteBuilder() {
+        return new RouteBuilder() {
+            public void configure() {
+                // Bridge message over two MQTT topics
+                from("direct:start").to("mqtt:foo?publishTopicName=test/topic1");
+                from("mqtt:foo?subscribeTopicName=test/topic1").to("log:testlogger?showAll=true")
+                    .to("mqtt:foo?publishTopicName=test/resulttopic")
+                    .log(LoggingLevel.ERROR, "Message processed");
+                // Bridge message over two MQTT topics with a seda in between
+                from("direct:startWorkaround").to("mqtt:foo?publishTopicName=test/topic2");
+                from("mqtt:foo?subscribeTopicName=test/topic2").to("log:testlogger?showAll=true")
+                    .to("seda:a");
+                from("seda:a").to("mqtt:foo?publishTopicName=test/resulttopic")
+                    .log(LoggingLevel.ERROR, "Message processed");
+                // Forward the result to a mock endpoint to test
+                from("mqtt:foo?subscribeTopicName=test/resulttopic").to("mock:result");
+            }
+        };
+    }
+}


Mime
View raw message