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 2017/04/06 10:59:49 UTC

[3/3] camel git commit: CAMEL-11113 added unit tests

CAMEL-11113 added unit tests


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

Branch: refs/heads/master
Commit: d7f23195a4fe55d45b7125dbf1ecaa04043c5f08
Parents: 994bea0
Author: Zoran Regvart <zr...@apache.org>
Authored: Wed Apr 5 16:01:33 2017 +0200
Committer: Claus Ibsen <da...@apache.org>
Committed: Thu Apr 6 12:59:05 2017 +0200

----------------------------------------------------------------------
 .../camel/catalog/AbstractCamelCatalog.java     |   2 +-
 .../camel/catalog/AbstractCamelCatalogTest.java | 104 +++++++++++++++++++
 .../camel/catalog/AbstractCamelCatalog.java     |   2 +-
 3 files changed, 106 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/d7f23195/camel-core/src/main/java/org/apache/camel/catalog/AbstractCamelCatalog.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/catalog/AbstractCamelCatalog.java b/camel-core/src/main/java/org/apache/camel/catalog/AbstractCamelCatalog.java
index 6c1e3d4..7fd25c8 100644
--- a/camel-core/src/main/java/org/apache/camel/catalog/AbstractCamelCatalog.java
+++ b/camel-core/src/main/java/org/apache/camel/catalog/AbstractCamelCatalog.java
@@ -872,7 +872,7 @@ public abstract class AbstractCamelCatalog {
         return doAsEndpointUri(scheme, properties, "&amp;", encode);
     }
 
-    private String doAsEndpointUri(String scheme, Map<String, String> properties, String ampersand, boolean encode) throws URISyntaxException {
+    String doAsEndpointUri(String scheme, Map<String, String> properties, String ampersand, boolean encode) throws URISyntaxException {
         String json = jsonSchemaResolver.getComponentJSonSchema(scheme);
         if (json == null) {
             throw new IllegalArgumentException("Cannot find endpoint with scheme " + scheme);

http://git-wip-us.apache.org/repos/asf/camel/blob/d7f23195/camel-core/src/test/java/org/apache/camel/catalog/AbstractCamelCatalogTest.java
----------------------------------------------------------------------
diff --git a/camel-core/src/test/java/org/apache/camel/catalog/AbstractCamelCatalogTest.java b/camel-core/src/test/java/org/apache/camel/catalog/AbstractCamelCatalogTest.java
new file mode 100644
index 0000000..ed7e997
--- /dev/null
+++ b/camel-core/src/test/java/org/apache/camel/catalog/AbstractCamelCatalogTest.java
@@ -0,0 +1,104 @@
+/**
+ * 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.catalog;
+
+import java.net.URISyntaxException;
+import java.util.HashMap;
+import java.util.Map;
+
+import org.junit.Before;
+import org.junit.Test;
+
+import static org.easymock.EasyMock.expect;
+import static org.easymock.EasyMock.mock;
+import static org.easymock.EasyMock.replay;
+import static org.junit.Assert.assertEquals;
+
+public class AbstractCamelCatalogTest {
+
+    AbstractCamelCatalog catalog = new AbstractCamelCatalog() {
+    };
+
+    JSonSchemaResolver resolver;
+
+    @Before
+    public void setupMockCatalog() {
+        resolver = mock(JSonSchemaResolver.class);
+
+        catalog.setJSonSchemaResolver(resolver);
+    }
+
+    @Test
+    public void shouldConstructEndpointUris() throws URISyntaxException {
+        expect(resolver.getComponentJSonSchema("comp")).andReturn("{\n"//
+            + "  \"component\": {\n"//
+            + "    \"syntax\": \"comp:param1:param2\"\n"//
+            + "  }\n"//
+            + "}");
+
+        replay(resolver);
+
+        final Map<String, String> properties = new HashMap<>();
+        properties.put("param1", "value1");
+        properties.put("param2", "value2");
+        properties.put("param3", "value3");
+
+        final String endpointUri = catalog.doAsEndpointUri("comp", properties, "&", false);
+
+        assertEquals("comp:value1:value2?param3=value3", endpointUri);
+    }
+
+    @Test
+    public void shouldConstructEndpointUrisWithPropertyPlaceholders() throws URISyntaxException {
+        expect(resolver.getComponentJSonSchema("comp")).andReturn("{\n"//
+            + "  \"component\": {\n"//
+            + "    \"syntax\": \"comp:param1:param2\"\n"//
+            + "  }\n"//
+            + "}");
+
+        replay(resolver);
+
+        final Map<String, String> properties = new HashMap<>();
+        properties.put("param1", "{{prop1}}");
+        properties.put("param2", "{{prop2}}");
+        properties.put("param3", "{{prop3}}");
+
+        final String endpointUri = catalog.doAsEndpointUri("comp", properties, "&", false);
+
+        assertEquals("comp:{{prop1}}:{{prop2}}?param3={{prop3}}", endpointUri);
+    }
+
+    @Test
+    public void shouldConstructEndpointUrisWhenValuesContainTokens() throws URISyntaxException {
+        expect(resolver.getComponentJSonSchema("comp")).andReturn("{\n"//
+            + "  \"component\": {\n"//
+            + "    \"syntax\": \"comp:param1:param2\"\n"//
+            + "  }\n"//
+            + "}");
+
+        replay(resolver);
+
+        final Map<String, String> properties = new HashMap<>();
+        properties.put("param1", "{value1}");
+        properties.put("param2", "/value2/");
+        properties.put("param3", "/value3/{param}");
+
+        final String endpointUri = catalog.doAsEndpointUri("comp", properties, "&", false);
+
+        assertEquals("comp:{value1}:/value2/?param3=/value3/{param}", endpointUri);
+    }
+}

http://git-wip-us.apache.org/repos/asf/camel/blob/d7f23195/platforms/camel-catalog/src/main/java/org/apache/camel/catalog/AbstractCamelCatalog.java
----------------------------------------------------------------------
diff --git a/platforms/camel-catalog/src/main/java/org/apache/camel/catalog/AbstractCamelCatalog.java b/platforms/camel-catalog/src/main/java/org/apache/camel/catalog/AbstractCamelCatalog.java
index 6c1e3d4..7fd25c8 100644
--- a/platforms/camel-catalog/src/main/java/org/apache/camel/catalog/AbstractCamelCatalog.java
+++ b/platforms/camel-catalog/src/main/java/org/apache/camel/catalog/AbstractCamelCatalog.java
@@ -872,7 +872,7 @@ public abstract class AbstractCamelCatalog {
         return doAsEndpointUri(scheme, properties, "&amp;", encode);
     }
 
-    private String doAsEndpointUri(String scheme, Map<String, String> properties, String ampersand, boolean encode) throws URISyntaxException {
+    String doAsEndpointUri(String scheme, Map<String, String> properties, String ampersand, boolean encode) throws URISyntaxException {
         String json = jsonSchemaResolver.getComponentJSonSchema(scheme);
         if (json == null) {
             throw new IllegalArgumentException("Cannot find endpoint with scheme " + scheme);