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;

Reply via email to