Repository: camel Updated Branches: refs/heads/camel-2.14.x cae427c95 -> 7d8fa1025 refs/heads/camel-2.15.x 5f7ff0dfc -> 8c0b089a9 refs/heads/master 60f734192 -> 84d73b9f8
CAMEL-8902: Fixed Facebook endpoint configuration to support no arg URIs Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/7d8fa102 Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/7d8fa102 Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/7d8fa102 Branch: refs/heads/camel-2.14.x Commit: 7d8fa1025ac13f83225509b283ba0589dcde24e1 Parents: cae427c Author: Dhiraj Bokde <dhira...@yahoo.com> Authored: Wed Jun 24 23:52:21 2015 -0700 Committer: Dhiraj Bokde <dhira...@yahoo.com> Committed: Wed Jun 24 23:54:06 2015 -0700 ---------------------------------------------------------------------- .../component/facebook/FacebookComponent.java | 8 +++ .../facebook/FacebookEndpointTest.java | 63 ++++++++++++++++++++ 2 files changed, 71 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/camel/blob/7d8fa102/components/camel-facebook/src/main/java/org/apache/camel/component/facebook/FacebookComponent.java ---------------------------------------------------------------------- diff --git a/components/camel-facebook/src/main/java/org/apache/camel/component/facebook/FacebookComponent.java b/components/camel-facebook/src/main/java/org/apache/camel/component/facebook/FacebookComponent.java index 43e281e..121b3cb 100644 --- a/components/camel-facebook/src/main/java/org/apache/camel/component/facebook/FacebookComponent.java +++ b/components/camel-facebook/src/main/java/org/apache/camel/component/facebook/FacebookComponent.java @@ -55,8 +55,16 @@ public class FacebookComponent extends UriEndpointComponent { protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception { FacebookEndpointConfiguration config = copyComponentProperties(); final FacebookEndpoint endpoint = new FacebookEndpoint(uri, this, remaining, config); + // set endpoint property inBody so that it's available in initState() setProperties(endpoint, parameters); + + // configure endpoint properties + endpoint.configureProperties(parameters); + + // validate parameters + validateParameters(uri, parameters, null); + return endpoint; } http://git-wip-us.apache.org/repos/asf/camel/blob/7d8fa102/components/camel-facebook/src/test/java/org/apache/camel/component/facebook/FacebookEndpointTest.java ---------------------------------------------------------------------- diff --git a/components/camel-facebook/src/test/java/org/apache/camel/component/facebook/FacebookEndpointTest.java b/components/camel-facebook/src/test/java/org/apache/camel/component/facebook/FacebookEndpointTest.java new file mode 100644 index 0000000..03c9ec3 --- /dev/null +++ b/components/camel-facebook/src/test/java/org/apache/camel/component/facebook/FacebookEndpointTest.java @@ -0,0 +1,63 @@ +/** + * 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.facebook; + +import org.apache.camel.CamelContext; +import org.apache.camel.builder.RouteBuilder; +import org.apache.camel.component.mock.MockEndpoint; +import org.junit.Test; + +/** + * Test preconfigured Facebook component. + */ +public class FacebookEndpointTest extends CamelFacebookTestSupport { + + public FacebookEndpointTest() throws Exception { + } + + @Test + public void testNoArgsEndpoint() throws Exception { + final MockEndpoint mockEndpoint = getMockEndpoint("mock://testNoArgs"); + mockEndpoint.expectedMessageCount(1); + + template().requestBodyAndHeader("direct:testNoArgs", null, + FacebookConstants.FACEBOOK_PROPERTY_PREFIX + "userId", "me"); + + mockEndpoint.assertIsSatisfied(); + } + + @Override + protected CamelContext createCamelContext() throws Exception { + final CamelContext camelContext = super.createCamelContext(); + final FacebookComponent component = new FacebookComponent(); + component.setConfiguration(getConfiguration()); + camelContext.addComponent("facebook", component); + return camelContext; + } + + @Override + protected RouteBuilder createRouteBuilder() throws Exception { + return new RouteBuilder() { + @Override + public void configure() throws Exception { + from("direct:testNoArgs") + .to("facebook://user") + .to("mock://testNoArgs"); + } + }; + } +}