This is an automated email from the ASF dual-hosted git repository. davsclaus pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/master by this push: new aebe4f6 CAMEL-15345: camel-twitter - Should validate that mandatory access token has been configured when creating endpoint to fail fast. aebe4f6 is described below commit aebe4f6d325c08c9cc8d40f5ceb36d47948f463c Author: Claus Ibsen <claus.ib...@gmail.com> AuthorDate: Tue Jul 28 15:13:22 2020 +0200 CAMEL-15345: camel-twitter - Should validate that mandatory access token has been configured when creating endpoint to fail fast. --- .../camel/component/twitter/AbstractTwitterComponent.java | 5 ++++- .../camel/component/twitter/AbstractTwitterEndpoint.java | 1 - .../camel/component/twitter/UriConfigurationTest.java | 15 +++++++++++---- 3 files changed, 15 insertions(+), 6 deletions(-) diff --git a/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/AbstractTwitterComponent.java b/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/AbstractTwitterComponent.java index 9d8c5a1..a042dc7 100644 --- a/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/AbstractTwitterComponent.java +++ b/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/AbstractTwitterComponent.java @@ -71,7 +71,10 @@ public abstract class AbstractTwitterComponent extends DefaultComponent { // and then override from parameters setProperties(properties, parameters); - return doCreateEndpoint(properties, uri, remaining, parameters); + Endpoint answer = doCreateEndpoint(properties, uri, remaining, parameters); + // ensure properties have been configured with required options + properties.checkComplete(); + return answer; } protected abstract Endpoint doCreateEndpoint(TwitterConfiguration properties, String uri, String remaining, Map<String, Object> parameters) throws Exception; diff --git a/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/AbstractTwitterEndpoint.java b/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/AbstractTwitterEndpoint.java index 705e3dd..ecb5591 100644 --- a/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/AbstractTwitterEndpoint.java +++ b/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/AbstractTwitterEndpoint.java @@ -53,7 +53,6 @@ public abstract class AbstractTwitterEndpoint extends DefaultPollingEndpoint imp } @Override - @ManagedAttribute public TwitterConfiguration getProperties() { return properties; } diff --git a/components/camel-twitter/src/test/java/org/apache/camel/component/twitter/UriConfigurationTest.java b/components/camel-twitter/src/test/java/org/apache/camel/component/twitter/UriConfigurationTest.java index 8f02df9..d2497b5 100644 --- a/components/camel-twitter/src/test/java/org/apache/camel/component/twitter/UriConfigurationTest.java +++ b/components/camel-twitter/src/test/java/org/apache/camel/component/twitter/UriConfigurationTest.java @@ -47,7 +47,7 @@ public class UriConfigurationTest { @Test public void testPageSetting() throws Exception { - Endpoint endpoint = context.getEndpoint("twitter-search:foo?count=50&numberOfPages=2"); + Endpoint endpoint = context.getEndpoint("twitter-search:foo?count=50&numberOfPages=2&" + support.getUriTokens()); assertTrue(endpoint instanceof TwitterSearchEndpoint, "Endpoint not a TwitterSearchEndpoint: " + endpoint); TwitterSearchEndpoint twitterEndpoint = (TwitterSearchEndpoint) endpoint; @@ -57,7 +57,7 @@ public class UriConfigurationTest { @Test public void testHttpProxySetting() throws Exception { - Endpoint endpoint = context.getEndpoint("twitter-search:foo?httpProxyHost=example.com&httpProxyPort=3338&httpProxyUser=test&httpProxyPassword=pwd"); + Endpoint endpoint = context.getEndpoint("twitter-search:foo?httpProxyHost=example.com&httpProxyPort=3338&httpProxyUser=test&httpProxyPassword=pwd&" + support.getUriTokens()); assertTrue(endpoint instanceof TwitterSearchEndpoint, "Endpoint not a TwitterSearchEndpoint: " + endpoint); TwitterSearchEndpoint twitterEndpoint = (TwitterSearchEndpoint) endpoint; @@ -69,18 +69,25 @@ public class UriConfigurationTest { @Test public void testDirectMessageEndpoint() throws Exception { - Endpoint endpoint = context.getEndpoint("twitter-directmessage:foo"); + Endpoint endpoint = context.getEndpoint("twitter-directmessage:foo?" + support.getUriTokens()); assertTrue(endpoint instanceof TwitterDirectMessageEndpoint, "Endpoint not a TwitterDirectMessageEndpoint: " + endpoint); } @Test public void testSearchEndpoint() throws Exception { - Endpoint endpoint = context.getEndpoint("twitter-search:foo"); + Endpoint endpoint = context.getEndpoint("twitter-search:foo?" + support.getUriTokens()); assertTrue(endpoint instanceof TwitterSearchEndpoint, "Endpoint not a TwitterSearchEndpoint: " + endpoint); } @Test public void testTimelineEndpoint() throws Exception { + // set on component level instead + AbstractTwitterComponent twitter = context.getComponent("twitter-timeline", AbstractTwitterComponent.class); + twitter.setAccessToken(support.accessToken); + twitter.setAccessTokenSecret(support.accessTokenSecret); + twitter.setConsumerKey(support.consumerKey); + twitter.setConsumerSecret(support.consumerSecret); + Endpoint endpoint = context.getEndpoint("twitter-timeline:home"); assertTrue(endpoint instanceof TwitterTimelineEndpoint, "Endpoint not a TwitterTimelineEndpoint: " + endpoint); TwitterTimelineEndpoint timelineEndpoint = (TwitterTimelineEndpoint)endpoint;