Repository: camel Updated Branches: refs/heads/master 96958f814 -> c8833ddf9
CAMEL-9495: camel-hipchat - Should require url for hipchat server Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/c8833ddf Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/c8833ddf Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/c8833ddf Branch: refs/heads/master Commit: c8833ddf991df2faaa22046481c8a3774bd7fbb1 Parents: 96958f8 Author: Claus Ibsen <davscl...@apache.org> Authored: Sat Jan 9 16:19:04 2016 +0100 Committer: Claus Ibsen <davscl...@apache.org> Committed: Sat Jan 9 16:19:04 2016 +0100 ---------------------------------------------------------------------- .../camel/component/hipchat/HipchatComponent.java | 9 ++++++++- .../component/hipchat/HipchatConfiguration.java | 11 ++++++----- .../hipchat/HipchatComponentConsumerTest.java | 4 ++-- .../hipchat/HipchatComponentMultipleUsersTest.java | 4 ++-- .../hipchat/HipchatComponentProducerTest.java | 2 +- .../component/hipchat/HipchatComponentTest.java | 16 +++++----------- .../component/hipchat/HipchatEndpointTest.java | 2 +- .../integration/HipchatConsumerIntegrationTest.java | 4 ++-- .../integration/HipchatProducerIntegrationTest.java | 4 ++-- 9 files changed, 29 insertions(+), 27 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/camel/blob/c8833ddf/components/camel-hipchat/src/main/java/org/apache/camel/component/hipchat/HipchatComponent.java ---------------------------------------------------------------------- diff --git a/components/camel-hipchat/src/main/java/org/apache/camel/component/hipchat/HipchatComponent.java b/components/camel-hipchat/src/main/java/org/apache/camel/component/hipchat/HipchatComponent.java index 10f634f..af063e8 100644 --- a/components/camel-hipchat/src/main/java/org/apache/camel/component/hipchat/HipchatComponent.java +++ b/components/camel-hipchat/src/main/java/org/apache/camel/component/hipchat/HipchatComponent.java @@ -23,6 +23,8 @@ import java.util.Map; import org.apache.camel.CamelContext; import org.apache.camel.Endpoint; import org.apache.camel.impl.UriEndpointComponent; +import org.apache.camel.util.ObjectHelper; +import org.apache.camel.util.URISupport; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -57,13 +59,18 @@ public class HipchatComponent extends UriEndpointComponent { return endpoint; } - private void parseUri(String uri, HipchatEndpoint endpoint) throws URISyntaxException { + private void parseUri(String uri, HipchatEndpoint endpoint) throws Exception { + // strip scheme + uri = ObjectHelper.after(uri, ":"); + uri = URISupport.normalizeUri(uri); + URI hipChatUri = new URI(uri); if (hipChatUri.getHost() != null) { endpoint.getConfiguration().setHost(hipChatUri.getHost()); if (hipChatUri.getPort() != -1) { endpoint.getConfiguration().setPort(hipChatUri.getPort()); } + endpoint.getConfiguration().setProtocol(hipChatUri.getScheme()); } } http://git-wip-us.apache.org/repos/asf/camel/blob/c8833ddf/components/camel-hipchat/src/main/java/org/apache/camel/component/hipchat/HipchatConfiguration.java ---------------------------------------------------------------------- diff --git a/components/camel-hipchat/src/main/java/org/apache/camel/component/hipchat/HipchatConfiguration.java b/components/camel-hipchat/src/main/java/org/apache/camel/component/hipchat/HipchatConfiguration.java index 21a00b6..6f54aed 100644 --- a/components/camel-hipchat/src/main/java/org/apache/camel/component/hipchat/HipchatConfiguration.java +++ b/components/camel-hipchat/src/main/java/org/apache/camel/component/hipchat/HipchatConfiguration.java @@ -16,15 +16,16 @@ */ package org.apache.camel.component.hipchat; +import org.apache.camel.spi.Metadata; import org.apache.camel.spi.UriParam; import org.apache.camel.spi.UriParams; import org.apache.camel.spi.UriPath; @UriParams public class HipchatConfiguration { - @UriPath(defaultValue = HipchatConstants.DEFAULT_PROTOCOL) - private String protocol = HipchatConstants.DEFAULT_PROTOCOL; - @UriPath(defaultValue = HipchatConstants.DEFAULT_HOST) + @UriPath @Metadata(required = "true") + private String protocol; + @UriPath @Metadata(required = "true") private String host = HipchatConstants.DEFAULT_HOST; @UriPath(defaultValue = "" + HipchatConstants.DEFAULT_PORT) private Integer port = HipchatConstants.DEFAULT_PORT; @@ -38,7 +39,7 @@ public class HipchatConfiguration { } /** - * The host for the hipchat server. Is by default api.hipchat.com + * The host for the hipchat server, such as api.hipchat.com */ public void setHost(String host) { this.host = host; @@ -60,7 +61,7 @@ public class HipchatConfiguration { } /** - * The protocol for the hipchat server. Is by default http. + * The protocol for the hipchat server, such as http. */ public void setProtocol(String protocol) { this.protocol = protocol; http://git-wip-us.apache.org/repos/asf/camel/blob/c8833ddf/components/camel-hipchat/src/test/java/org/apache/camel/component/hipchat/HipchatComponentConsumerTest.java ---------------------------------------------------------------------- diff --git a/components/camel-hipchat/src/test/java/org/apache/camel/component/hipchat/HipchatComponentConsumerTest.java b/components/camel-hipchat/src/test/java/org/apache/camel/component/hipchat/HipchatComponentConsumerTest.java index fc15346..0950ffd 100644 --- a/components/camel-hipchat/src/test/java/org/apache/camel/component/hipchat/HipchatComponentConsumerTest.java +++ b/components/camel-hipchat/src/test/java/org/apache/camel/component/hipchat/HipchatComponentConsumerTest.java @@ -38,7 +38,7 @@ import static org.mockito.Mockito.when; public class HipchatComponentConsumerTest extends CamelTestSupport { private CloseableHttpResponse closeableHttpResponse = mock(CloseableHttpResponse.class); - @EndpointInject(uri = "hipchat://?authToken=anything&consumeUsers=@AUser") + @EndpointInject(uri = "hipchat:http:api.hipchat.com?authToken=anything&consumeUsers=@AUser") private ProducerTemplate template; @EndpointInject(uri = "mock:result") @@ -202,7 +202,7 @@ public class HipchatComponentConsumerTest extends CamelTestSupport { return new RouteBuilder() { @Override public void configure() { - from("hipchat://?authToken=anything&consumeUsers=@AUser") + from("hipchat:http://api.hipchat.com?authToken=anything&consumeUsers=@AUser") .to("mock:result"); } }; http://git-wip-us.apache.org/repos/asf/camel/blob/c8833ddf/components/camel-hipchat/src/test/java/org/apache/camel/component/hipchat/HipchatComponentMultipleUsersTest.java ---------------------------------------------------------------------- diff --git a/components/camel-hipchat/src/test/java/org/apache/camel/component/hipchat/HipchatComponentMultipleUsersTest.java b/components/camel-hipchat/src/test/java/org/apache/camel/component/hipchat/HipchatComponentMultipleUsersTest.java index 301c100..b7a6116 100644 --- a/components/camel-hipchat/src/test/java/org/apache/camel/component/hipchat/HipchatComponentMultipleUsersTest.java +++ b/components/camel-hipchat/src/test/java/org/apache/camel/component/hipchat/HipchatComponentMultipleUsersTest.java @@ -40,7 +40,7 @@ import static org.mockito.Mockito.when; public class HipchatComponentMultipleUsersTest extends CamelTestSupport { private CloseableHttpResponse closeableHttpResponse = mock(CloseableHttpResponse.class); - @EndpointInject(uri = "hipchat://?authToken=anything&consumeUsers=@AUser") + @EndpointInject(uri = "hipchat:http://api.hipchat.com?authToken=anything&consumeUsers=@AUser") private ProducerTemplate template; @EndpointInject(uri = "mock:result") @@ -128,7 +128,7 @@ public class HipchatComponentMultipleUsersTest extends CamelTestSupport { return new RouteBuilder() { @Override public void configure() { - from("hipchat://?authToken=anything&consumeUsers=@AUser,@BUser") + from("hipchat:http://api.hipchat.com?authToken=anything&consumeUsers=@AUser,@BUser") .to("mock:result"); } }; http://git-wip-us.apache.org/repos/asf/camel/blob/c8833ddf/components/camel-hipchat/src/test/java/org/apache/camel/component/hipchat/HipchatComponentProducerTest.java ---------------------------------------------------------------------- diff --git a/components/camel-hipchat/src/test/java/org/apache/camel/component/hipchat/HipchatComponentProducerTest.java b/components/camel-hipchat/src/test/java/org/apache/camel/component/hipchat/HipchatComponentProducerTest.java index c78e301..c390abf 100644 --- a/components/camel-hipchat/src/test/java/org/apache/camel/component/hipchat/HipchatComponentProducerTest.java +++ b/components/camel-hipchat/src/test/java/org/apache/camel/component/hipchat/HipchatComponentProducerTest.java @@ -198,7 +198,7 @@ public class HipchatComponentProducerTest extends CamelTestSupport { @Override public void configure() { from("direct:start") - .to("hipchat://?authToken=anything") + .to("hipchat:http:api.hipchat.com?authToken=anything") .to("mock:result"); } }; http://git-wip-us.apache.org/repos/asf/camel/blob/c8833ddf/components/camel-hipchat/src/test/java/org/apache/camel/component/hipchat/HipchatComponentTest.java ---------------------------------------------------------------------- diff --git a/components/camel-hipchat/src/test/java/org/apache/camel/component/hipchat/HipchatComponentTest.java b/components/camel-hipchat/src/test/java/org/apache/camel/component/hipchat/HipchatComponentTest.java index e9891f9..7c030db 100644 --- a/components/camel-hipchat/src/test/java/org/apache/camel/component/hipchat/HipchatComponentTest.java +++ b/components/camel-hipchat/src/test/java/org/apache/camel/component/hipchat/HipchatComponentTest.java @@ -17,7 +17,6 @@ package org.apache.camel.component.hipchat; import java.util.Arrays; -import java.util.HashMap; import org.apache.camel.CamelContext; import org.junit.Test; @@ -29,12 +28,10 @@ import static org.junit.Assert.assertTrue; public class HipchatComponentTest { @Test - public void testUriParseNoPort() throws Exception { + public void testUriParseNoSlashAndNoPort() throws Exception { HipchatComponent component = new HipchatComponent(Mockito.mock(CamelContext.class)); - HashMap<String, Object> parameters = new HashMap<String, Object>(); - parameters.put("authToken", "token"); - parameters.put("protocol", "https"); - HipchatEndpoint endpoint = (HipchatEndpoint)component.createEndpoint("hipchat://localhost?authToken=token&protocol=https", "localhost", parameters); + HipchatEndpoint endpoint = (HipchatEndpoint) component.createEndpoint("hipchat:https:localhost?authToken=token"); + assertEquals("localhost", endpoint.getConfiguration().getHost()); assertEquals(new Integer(80), endpoint.getConfiguration().getPort()); assertEquals("https", endpoint.getConfiguration().getProtocol()); @@ -46,11 +43,8 @@ public class HipchatComponentTest { @Test public void testUriParseFull() throws Exception { HipchatComponent component = new HipchatComponent(Mockito.mock(CamelContext.class)); - HashMap<String, Object> parameters = new HashMap<String, Object>(); - parameters.put("authToken", "token"); - parameters.put("protocol", "https"); - parameters.put("consumeUsers", "@auser,@buser"); - HipchatEndpoint endpoint = (HipchatEndpoint)component.createEndpoint("hipchat://localhost:8080?authToken=token&protocol=https@consumeUsers=@auser,@buser", "localhost:8080", parameters); + HipchatEndpoint endpoint = (HipchatEndpoint) component.createEndpoint("hipchat:https://localhost:8080?authToken=token&consumeUsers=@auser,@buser"); + assertEquals("localhost", endpoint.getConfiguration().getHost()); assertEquals(new Integer(8080), endpoint.getConfiguration().getPort()); assertEquals("https", endpoint.getConfiguration().getProtocol()); http://git-wip-us.apache.org/repos/asf/camel/blob/c8833ddf/components/camel-hipchat/src/test/java/org/apache/camel/component/hipchat/HipchatEndpointTest.java ---------------------------------------------------------------------- diff --git a/components/camel-hipchat/src/test/java/org/apache/camel/component/hipchat/HipchatEndpointTest.java b/components/camel-hipchat/src/test/java/org/apache/camel/component/hipchat/HipchatEndpointTest.java index 429cada..37d2658 100644 --- a/components/camel-hipchat/src/test/java/org/apache/camel/component/hipchat/HipchatEndpointTest.java +++ b/components/camel-hipchat/src/test/java/org/apache/camel/component/hipchat/HipchatEndpointTest.java @@ -27,7 +27,7 @@ public class HipchatEndpointTest { @Test public void testCreateConsumer() throws Exception { HipchatComponent component = new HipchatComponent(Mockito.mock(CamelContext.class)); - HipchatEndpoint endpoint = new HipchatEndpoint("hipchat://?authKey=token", component); + HipchatEndpoint endpoint = new HipchatEndpoint("hipchat:http://api.hipchat.com?authKey=token", component); HipchatConsumer consumer = (HipchatConsumer)endpoint.createConsumer(new Processor() { @Override public void process(Exchange exchange) throws Exception { http://git-wip-us.apache.org/repos/asf/camel/blob/c8833ddf/components/camel-hipchat/src/test/java/org/apache/camel/component/hipchat/integration/HipchatConsumerIntegrationTest.java ---------------------------------------------------------------------- diff --git a/components/camel-hipchat/src/test/java/org/apache/camel/component/hipchat/integration/HipchatConsumerIntegrationTest.java b/components/camel-hipchat/src/test/java/org/apache/camel/component/hipchat/integration/HipchatConsumerIntegrationTest.java index d35149c..fa13aca 100644 --- a/components/camel-hipchat/src/test/java/org/apache/camel/component/hipchat/integration/HipchatConsumerIntegrationTest.java +++ b/components/camel-hipchat/src/test/java/org/apache/camel/component/hipchat/integration/HipchatConsumerIntegrationTest.java @@ -16,7 +16,6 @@ */ package org.apache.camel.component.hipchat.integration; - import org.apache.camel.EndpointInject; import org.apache.camel.Exchange; import org.apache.camel.Predicate; @@ -31,6 +30,7 @@ import org.junit.Test; @Ignore("Must be manually tested. Provide your own auth key, user, & room from https://www.hipchat.com/docs/apiv2/auth") public class HipchatConsumerIntegrationTest extends CamelTestSupport { + @EndpointInject(uri = "mock:result") private MockEndpoint result; @@ -52,7 +52,7 @@ public class HipchatConsumerIntegrationTest extends CamelTestSupport { return new RouteBuilder() { @Override public void configure() throws Exception { - String hipchatEndpointUri = "hipchat://?authToken=XXXX&consumeUsers=@ShreyasPurohit&delay=1000"; + String hipchatEndpointUri = "hipchat:http:api.hipchat.com?authToken=XXXX&consumeUsers=@ShreyasPurohit&delay=1000"; from(hipchatEndpointUri) .idempotentConsumer( http://git-wip-us.apache.org/repos/asf/camel/blob/c8833ddf/components/camel-hipchat/src/test/java/org/apache/camel/component/hipchat/integration/HipchatProducerIntegrationTest.java ---------------------------------------------------------------------- diff --git a/components/camel-hipchat/src/test/java/org/apache/camel/component/hipchat/integration/HipchatProducerIntegrationTest.java b/components/camel-hipchat/src/test/java/org/apache/camel/component/hipchat/integration/HipchatProducerIntegrationTest.java index 6f83930..071c0a1 100644 --- a/components/camel-hipchat/src/test/java/org/apache/camel/component/hipchat/integration/HipchatProducerIntegrationTest.java +++ b/components/camel-hipchat/src/test/java/org/apache/camel/component/hipchat/integration/HipchatProducerIntegrationTest.java @@ -16,7 +16,6 @@ */ package org.apache.camel.component.hipchat.integration; - import org.apache.camel.EndpointInject; import org.apache.camel.Exchange; import org.apache.camel.ExchangePattern; @@ -33,6 +32,7 @@ import org.junit.Test; @Ignore("Must be manually tested. Provide your own auth key, user, & room from https://www.hipchat.com/docs/apiv2/auth") public class HipchatProducerIntegrationTest extends CamelTestSupport { + @EndpointInject(uri = "direct:start") private ProducerTemplate template; @@ -81,7 +81,7 @@ public class HipchatProducerIntegrationTest extends CamelTestSupport { return new RouteBuilder() { @Override public void configure() throws Exception { - String hipchatEndpointUri = "hipchat://?authToken=XXXX"; + String hipchatEndpointUri = "hipchat:http:api.hipchat.com?authToken=XXXX"; from("direct:start") .to(hipchatEndpointUri)