You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ac...@apache.org on 2018/07/25 09:51:06 UTC

[camel] branch master updated (6467b7a -> 2c5a2d3)

This is an automated email from the ASF dual-hosted git repository.

acosentino pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git.


    from 6467b7a  Upgrade Jgroups to version 4.0.13.Final
     new 86af324  CAMEL-12238 - Camel-AWS: Create an IAM component, createAccessKey operation
     new fee53c2  CAMEL-12238 - Camel-AWS: Create an IAM component, deleteAccessKey operation
     new 2c5a2d3  CAMEL-12238 - Updated docs

The 3 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../camel-aws/src/main/docs/aws-iam-component.adoc |  2 +
 .../camel/component/aws/iam/IAMOperations.java     |  3 +-
 .../camel/component/aws/iam/IAMProducer.java       | 44 ++++++++++++++++++++++
 .../component/aws/iam/AmazonIAMClientMock.java     | 10 ++++-
 .../component/aws/iam/IAMProducerSpringTest.java   | 39 +++++++++++++++++++
 .../camel/component/aws/iam/IAMProducerTest.java   | 41 ++++++++++++++++++++
 .../aws/iam/IAMComponentSpringTest-context.xml     | 10 +++++
 7 files changed, 146 insertions(+), 3 deletions(-)


[camel] 03/03: CAMEL-12238 - Updated docs

Posted by ac...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

acosentino pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 2c5a2d35829f01ed83904caa735b51f5a394d9bc
Author: Andrea Cosentino <an...@gmail.com>
AuthorDate: Wed Jul 25 11:50:39 2018 +0200

    CAMEL-12238 - Updated docs
---
 components/camel-aws/src/main/docs/aws-iam-component.adoc | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/components/camel-aws/src/main/docs/aws-iam-component.adoc b/components/camel-aws/src/main/docs/aws-iam-component.adoc
index 24d970c..73098af 100644
--- a/components/camel-aws/src/main/docs/aws-iam-component.adoc
+++ b/components/camel-aws/src/main/docs/aws-iam-component.adoc
@@ -138,6 +138,8 @@ Camel-AWS IAM component provides the following operation on the producer side:
 - createUser
 - deleteUser
 - listUsers
+- createAccessKey
+- deleteAccessKey
 
 Dependencies
 


[camel] 02/03: CAMEL-12238 - Camel-AWS: Create an IAM component, deleteAccessKey operation

Posted by ac...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

acosentino pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git

commit fee53c2b07c777ca9143b6bcb59416aac51acd11
Author: Andrea Cosentino <an...@gmail.com>
AuthorDate: Wed Jul 25 11:48:03 2018 +0200

    CAMEL-12238 - Camel-AWS: Create an IAM component, deleteAccessKey operation
---
 .../camel/component/aws/iam/IAMOperations.java     |  2 +-
 .../camel/component/aws/iam/IAMProducer.java       | 22 ++++++++++++++++++++++
 .../component/aws/iam/AmazonIAMClientMock.java     |  3 ++-
 .../component/aws/iam/IAMProducerSpringTest.java   | 19 +++++++++++++++++++
 .../camel/component/aws/iam/IAMProducerTest.java   | 20 ++++++++++++++++++++
 .../aws/iam/IAMComponentSpringTest-context.xml     |  5 +++++
 6 files changed, 69 insertions(+), 2 deletions(-)

diff --git a/components/camel-aws/src/main/java/org/apache/camel/component/aws/iam/IAMOperations.java b/components/camel-aws/src/main/java/org/apache/camel/component/aws/iam/IAMOperations.java
index a2ff19e..eead44c 100644
--- a/components/camel-aws/src/main/java/org/apache/camel/component/aws/iam/IAMOperations.java
+++ b/components/camel-aws/src/main/java/org/apache/camel/component/aws/iam/IAMOperations.java
@@ -19,5 +19,5 @@ package org.apache.camel.component.aws.iam;
 public enum IAMOperations {
 
     listAccessKeys, createUser, deleteUser, listUsers,
-    createAccessKey
+    createAccessKey, deleteAccessKey
 }
diff --git a/components/camel-aws/src/main/java/org/apache/camel/component/aws/iam/IAMProducer.java b/components/camel-aws/src/main/java/org/apache/camel/component/aws/iam/IAMProducer.java
index ca5f38c..1db7864 100644
--- a/components/camel-aws/src/main/java/org/apache/camel/component/aws/iam/IAMProducer.java
+++ b/components/camel-aws/src/main/java/org/apache/camel/component/aws/iam/IAMProducer.java
@@ -22,6 +22,8 @@ import com.amazonaws.services.identitymanagement.model.CreateAccessKeyRequest;
 import com.amazonaws.services.identitymanagement.model.CreateAccessKeyResult;
 import com.amazonaws.services.identitymanagement.model.CreateUserRequest;
 import com.amazonaws.services.identitymanagement.model.CreateUserResult;
+import com.amazonaws.services.identitymanagement.model.DeleteAccessKeyRequest;
+import com.amazonaws.services.identitymanagement.model.DeleteAccessKeyResult;
 import com.amazonaws.services.identitymanagement.model.DeleteUserRequest;
 import com.amazonaws.services.identitymanagement.model.DeleteUserResult;
 import com.amazonaws.services.identitymanagement.model.ListAccessKeysResult;
@@ -60,6 +62,9 @@ public class IAMProducer extends DefaultProducer {
         case createAccessKey:
             createAccessKey(getEndpoint().getIamClient(), exchange);
             break;
+        case deleteAccessKey:
+            deleteAccessKey(getEndpoint().getIamClient(), exchange);
+            break;
         case createUser:
             createUser(getEndpoint().getIamClient(), exchange);
             break;
@@ -173,4 +178,21 @@ public class IAMProducer extends DefaultProducer {
         Message message = getMessageForResponse(exchange);
         message.setBody(result);
     }
+    
+    private void deleteAccessKey(AmazonIdentityManagement iamClient, Exchange exchange) {
+        DeleteAccessKeyRequest request = new DeleteAccessKeyRequest();
+        if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(IAMConstants.USERNAME))) {
+            String userName = exchange.getIn().getHeader(IAMConstants.USERNAME, String.class);
+            request.withUserName(userName);
+        }
+        DeleteAccessKeyResult result;
+        try {
+            result = iamClient.deleteAccessKey(request);
+        } catch (AmazonServiceException ase) {
+            LOG.trace("Delete Access Key command returned the error code {}", ase.getErrorCode());
+            throw ase;
+        }
+        Message message = getMessageForResponse(exchange);
+        message.setBody(result);
+    }
 }
diff --git a/components/camel-aws/src/test/java/org/apache/camel/component/aws/iam/AmazonIAMClientMock.java b/components/camel-aws/src/test/java/org/apache/camel/component/aws/iam/AmazonIAMClientMock.java
index 56ec407..4393fc8 100644
--- a/components/camel-aws/src/test/java/org/apache/camel/component/aws/iam/AmazonIAMClientMock.java
+++ b/components/camel-aws/src/test/java/org/apache/camel/component/aws/iam/AmazonIAMClientMock.java
@@ -164,7 +164,8 @@ public class AmazonIAMClientMock extends AmazonIdentityManagementClient {
 
     @Override
     public DeleteAccessKeyResult deleteAccessKey(DeleteAccessKeyRequest deleteAccessKeyRequest) {
-        throw new UnsupportedOperationException();
+        DeleteAccessKeyResult res = new DeleteAccessKeyResult();
+        return res;
     }
 
     @Override
diff --git a/components/camel-aws/src/test/java/org/apache/camel/component/aws/iam/IAMProducerSpringTest.java b/components/camel-aws/src/test/java/org/apache/camel/component/aws/iam/IAMProducerSpringTest.java
index 8fc4638..a0e5c15 100644
--- a/components/camel-aws/src/test/java/org/apache/camel/component/aws/iam/IAMProducerSpringTest.java
+++ b/components/camel-aws/src/test/java/org/apache/camel/component/aws/iam/IAMProducerSpringTest.java
@@ -18,6 +18,7 @@ package org.apache.camel.component.aws.iam;
 
 import com.amazonaws.services.identitymanagement.model.CreateAccessKeyResult;
 import com.amazonaws.services.identitymanagement.model.CreateUserResult;
+import com.amazonaws.services.identitymanagement.model.DeleteAccessKeyResult;
 import com.amazonaws.services.identitymanagement.model.DeleteUserResult;
 import com.amazonaws.services.identitymanagement.model.ListAccessKeysResult;
 import com.amazonaws.services.identitymanagement.model.ListUsersResult;
@@ -125,6 +126,24 @@ public class IAMProducerSpringTest extends CamelSpringTestSupport {
         assertEquals("test", resultGet.getAccessKey().getAccessKeyId());
         assertEquals("testSecret", resultGet.getAccessKey().getSecretAccessKey());
     }
+    
+    @Test
+    public void iamDeleteAccessKeyTest() throws Exception {
+
+        mock.expectedMessageCount(1);
+        Exchange exchange = template.request("direct:deleteAccessKey", new Processor() {
+            @Override
+            public void process(Exchange exchange) throws Exception {
+                exchange.getIn().setHeader(IAMConstants.OPERATION, IAMOperations.deleteAccessKey);
+                exchange.getIn().setHeader(IAMConstants.USERNAME, "test");
+            }
+        });
+
+        assertMockEndpointsSatisfied();
+
+        DeleteAccessKeyResult resultGet = (DeleteAccessKeyResult)exchange.getIn().getBody();
+        assertNotNull(resultGet);
+    }
 
     @Override
     protected ClassPathXmlApplicationContext createApplicationContext() {
diff --git a/components/camel-aws/src/test/java/org/apache/camel/component/aws/iam/IAMProducerTest.java b/components/camel-aws/src/test/java/org/apache/camel/component/aws/iam/IAMProducerTest.java
index 66bcc2d..9b3d9cf 100644
--- a/components/camel-aws/src/test/java/org/apache/camel/component/aws/iam/IAMProducerTest.java
+++ b/components/camel-aws/src/test/java/org/apache/camel/component/aws/iam/IAMProducerTest.java
@@ -18,6 +18,7 @@ package org.apache.camel.component.aws.iam;
 
 import com.amazonaws.services.identitymanagement.model.CreateAccessKeyResult;
 import com.amazonaws.services.identitymanagement.model.CreateUserResult;
+import com.amazonaws.services.identitymanagement.model.DeleteAccessKeyResult;
 import com.amazonaws.services.identitymanagement.model.DeleteUserResult;
 import com.amazonaws.services.identitymanagement.model.ListAccessKeysResult;
 import com.amazonaws.services.identitymanagement.model.ListUsersResult;
@@ -126,6 +127,24 @@ public class IAMProducerTest extends CamelTestSupport {
         assertEquals("test", resultGet.getAccessKey().getAccessKeyId());
         assertEquals("testSecret", resultGet.getAccessKey().getSecretAccessKey());
     }
+    
+    @Test
+    public void iamDeleteAccessKeyTest() throws Exception {
+
+        mock.expectedMessageCount(1);
+        Exchange exchange = template.request("direct:deleteAccessKey", new Processor() {
+            @Override
+            public void process(Exchange exchange) throws Exception {
+                exchange.getIn().setHeader(IAMConstants.OPERATION, IAMOperations.deleteAccessKey);
+                exchange.getIn().setHeader(IAMConstants.USERNAME, "test");
+            }
+        });
+
+        assertMockEndpointsSatisfied();
+
+        DeleteAccessKeyResult resultGet = (DeleteAccessKeyResult)exchange.getIn().getBody();
+        assertNotNull(resultGet);
+    }
 
     @Override
     protected JndiRegistry createRegistry() throws Exception {
@@ -148,6 +167,7 @@ public class IAMProducerTest extends CamelTestSupport {
                 from("direct:deleteUser").to("aws-iam://test?iamClient=#amazonIAMClient&operation=deleteUser").to("mock:result");
                 from("direct:listUsers").to("aws-iam://test?iamClient=#amazonIAMClient&operation=listUsers").to("mock:result");
                 from("direct:createAccessKey").to("aws-iam://test?iamClient=#amazonIAMClient&operation=createAccessKey").to("mock:result");
+                from("direct:deleteAccessKey").to("aws-iam://test?iamClient=#amazonIAMClient&operation=deleteAccessKey").to("mock:result");
             }
         };
     }
diff --git a/components/camel-aws/src/test/resources/org/apache/camel/component/aws/iam/IAMComponentSpringTest-context.xml b/components/camel-aws/src/test/resources/org/apache/camel/component/aws/iam/IAMComponentSpringTest-context.xml
index 0411c96..dbb216d 100644
--- a/components/camel-aws/src/test/resources/org/apache/camel/component/aws/iam/IAMComponentSpringTest-context.xml
+++ b/components/camel-aws/src/test/resources/org/apache/camel/component/aws/iam/IAMComponentSpringTest-context.xml
@@ -49,6 +49,11 @@
             <to uri="aws-iam://Test?iamClient=#amazonIAMClient&amp;operation=createAccessKey"/>
             <to uri="mock:result"/>
         </route>
+        <route>
+            <from uri="direct:deleteAccessKey"/>
+            <to uri="aws-iam://Test?iamClient=#amazonIAMClient&amp;operation=deleteAccessKey"/>
+            <to uri="mock:result"/>
+        </route>
     </camelContext>
     
     <bean id="amazonIAMClient" class="org.apache.camel.component.aws.iam.AmazonIAMClientMock"/>


[camel] 01/03: CAMEL-12238 - Camel-AWS: Create an IAM component, createAccessKey operation

Posted by ac...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

acosentino pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 86af324ddbe5518ff3890cbbe55aabb163d04ee7
Author: Andrea Cosentino <an...@gmail.com>
AuthorDate: Wed Jul 25 11:29:54 2018 +0200

    CAMEL-12238 - Camel-AWS: Create an IAM component, createAccessKey operation
---
 .../camel/component/aws/iam/IAMOperations.java     |  3 ++-
 .../camel/component/aws/iam/IAMProducer.java       | 22 ++++++++++++++++++++++
 .../component/aws/iam/AmazonIAMClientMock.java     |  7 ++++++-
 .../component/aws/iam/IAMProducerSpringTest.java   | 20 ++++++++++++++++++++
 .../camel/component/aws/iam/IAMProducerTest.java   | 21 +++++++++++++++++++++
 .../aws/iam/IAMComponentSpringTest-context.xml     |  5 +++++
 6 files changed, 76 insertions(+), 2 deletions(-)

diff --git a/components/camel-aws/src/main/java/org/apache/camel/component/aws/iam/IAMOperations.java b/components/camel-aws/src/main/java/org/apache/camel/component/aws/iam/IAMOperations.java
index 1ee3536..a2ff19e 100644
--- a/components/camel-aws/src/main/java/org/apache/camel/component/aws/iam/IAMOperations.java
+++ b/components/camel-aws/src/main/java/org/apache/camel/component/aws/iam/IAMOperations.java
@@ -18,5 +18,6 @@ package org.apache.camel.component.aws.iam;
 
 public enum IAMOperations {
 
-    listAccessKeys, createUser, deleteUser, listUsers
+    listAccessKeys, createUser, deleteUser, listUsers,
+    createAccessKey
 }
diff --git a/components/camel-aws/src/main/java/org/apache/camel/component/aws/iam/IAMProducer.java b/components/camel-aws/src/main/java/org/apache/camel/component/aws/iam/IAMProducer.java
index 785bd11..ca5f38c 100644
--- a/components/camel-aws/src/main/java/org/apache/camel/component/aws/iam/IAMProducer.java
+++ b/components/camel-aws/src/main/java/org/apache/camel/component/aws/iam/IAMProducer.java
@@ -18,6 +18,8 @@ package org.apache.camel.component.aws.iam;
 
 import com.amazonaws.AmazonServiceException;
 import com.amazonaws.services.identitymanagement.AmazonIdentityManagement;
+import com.amazonaws.services.identitymanagement.model.CreateAccessKeyRequest;
+import com.amazonaws.services.identitymanagement.model.CreateAccessKeyResult;
 import com.amazonaws.services.identitymanagement.model.CreateUserRequest;
 import com.amazonaws.services.identitymanagement.model.CreateUserResult;
 import com.amazonaws.services.identitymanagement.model.DeleteUserRequest;
@@ -55,6 +57,9 @@ public class IAMProducer extends DefaultProducer {
         case listAccessKeys:
             listAccessKeys(getEndpoint().getIamClient(), exchange);
             break;
+        case createAccessKey:
+            createAccessKey(getEndpoint().getIamClient(), exchange);
+            break;
         case createUser:
             createUser(getEndpoint().getIamClient(), exchange);
             break;
@@ -151,4 +156,21 @@ public class IAMProducer extends DefaultProducer {
         Message message = getMessageForResponse(exchange);
         message.setBody(result);
     }
+    
+    private void createAccessKey(AmazonIdentityManagement iamClient, Exchange exchange) {
+        CreateAccessKeyRequest request = new CreateAccessKeyRequest();
+        if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(IAMConstants.USERNAME))) {
+            String userName = exchange.getIn().getHeader(IAMConstants.USERNAME, String.class);
+            request.withUserName(userName);
+        }
+        CreateAccessKeyResult result;
+        try {
+            result = iamClient.createAccessKey(request);
+        } catch (AmazonServiceException ase) {
+            LOG.trace("Create Access Key command returned the error code {}", ase.getErrorCode());
+            throw ase;
+        }
+        Message message = getMessageForResponse(exchange);
+        message.setBody(result);
+    }
 }
diff --git a/components/camel-aws/src/test/java/org/apache/camel/component/aws/iam/AmazonIAMClientMock.java b/components/camel-aws/src/test/java/org/apache/camel/component/aws/iam/AmazonIAMClientMock.java
index 5ed1077..56ec407 100644
--- a/components/camel-aws/src/test/java/org/apache/camel/component/aws/iam/AmazonIAMClientMock.java
+++ b/components/camel-aws/src/test/java/org/apache/camel/component/aws/iam/AmazonIAMClientMock.java
@@ -75,7 +75,12 @@ public class AmazonIAMClientMock extends AmazonIdentityManagementClient {
 
     @Override
     public CreateAccessKeyResult createAccessKey(CreateAccessKeyRequest createAccessKeyRequest) {
-        throw new UnsupportedOperationException();
+        CreateAccessKeyResult res = new CreateAccessKeyResult();
+        AccessKey key = new AccessKey();
+        key.setAccessKeyId("test");
+        key.setSecretAccessKey("testSecret");
+        res.setAccessKey(key);
+        return res;
     }
 
     @Override
diff --git a/components/camel-aws/src/test/java/org/apache/camel/component/aws/iam/IAMProducerSpringTest.java b/components/camel-aws/src/test/java/org/apache/camel/component/aws/iam/IAMProducerSpringTest.java
index 701b8a7..8fc4638 100644
--- a/components/camel-aws/src/test/java/org/apache/camel/component/aws/iam/IAMProducerSpringTest.java
+++ b/components/camel-aws/src/test/java/org/apache/camel/component/aws/iam/IAMProducerSpringTest.java
@@ -16,6 +16,7 @@
  */
 package org.apache.camel.component.aws.iam;
 
+import com.amazonaws.services.identitymanagement.model.CreateAccessKeyResult;
 import com.amazonaws.services.identitymanagement.model.CreateUserResult;
 import com.amazonaws.services.identitymanagement.model.DeleteUserResult;
 import com.amazonaws.services.identitymanagement.model.ListAccessKeysResult;
@@ -105,6 +106,25 @@ public class IAMProducerSpringTest extends CamelSpringTestSupport {
         assertEquals(1, resultGet.getUsers().size());
         assertEquals("test", resultGet.getUsers().get(0).getUserName());
     }
+    
+    @Test
+    public void iamCreateAccessKeyTest() throws Exception {
+
+        mock.expectedMessageCount(1);
+        Exchange exchange = template.request("direct:createAccessKey", new Processor() {
+            @Override
+            public void process(Exchange exchange) throws Exception {
+                exchange.getIn().setHeader(IAMConstants.OPERATION, IAMOperations.createAccessKey);
+                exchange.getIn().setHeader(IAMConstants.USERNAME, "test");
+            }
+        });
+
+        assertMockEndpointsSatisfied();
+
+        CreateAccessKeyResult resultGet = (CreateAccessKeyResult) exchange.getIn().getBody();
+        assertEquals("test", resultGet.getAccessKey().getAccessKeyId());
+        assertEquals("testSecret", resultGet.getAccessKey().getSecretAccessKey());
+    }
 
     @Override
     protected ClassPathXmlApplicationContext createApplicationContext() {
diff --git a/components/camel-aws/src/test/java/org/apache/camel/component/aws/iam/IAMProducerTest.java b/components/camel-aws/src/test/java/org/apache/camel/component/aws/iam/IAMProducerTest.java
index 4f9dada..66bcc2d 100644
--- a/components/camel-aws/src/test/java/org/apache/camel/component/aws/iam/IAMProducerTest.java
+++ b/components/camel-aws/src/test/java/org/apache/camel/component/aws/iam/IAMProducerTest.java
@@ -16,6 +16,7 @@
  */
 package org.apache.camel.component.aws.iam;
 
+import com.amazonaws.services.identitymanagement.model.CreateAccessKeyResult;
 import com.amazonaws.services.identitymanagement.model.CreateUserResult;
 import com.amazonaws.services.identitymanagement.model.DeleteUserResult;
 import com.amazonaws.services.identitymanagement.model.ListAccessKeysResult;
@@ -106,6 +107,25 @@ public class IAMProducerTest extends CamelTestSupport {
         assertEquals(1, resultGet.getUsers().size());
         assertEquals("test", resultGet.getUsers().get(0).getUserName());
     }
+    
+    @Test
+    public void iamCreateAccessKeyTest() throws Exception {
+
+        mock.expectedMessageCount(1);
+        Exchange exchange = template.request("direct:createAccessKey", new Processor() {
+            @Override
+            public void process(Exchange exchange) throws Exception {
+                exchange.getIn().setHeader(IAMConstants.OPERATION, IAMOperations.createAccessKey);
+                exchange.getIn().setHeader(IAMConstants.USERNAME, "test");
+            }
+        });
+
+        assertMockEndpointsSatisfied();
+
+        CreateAccessKeyResult resultGet = (CreateAccessKeyResult) exchange.getIn().getBody();
+        assertEquals("test", resultGet.getAccessKey().getAccessKeyId());
+        assertEquals("testSecret", resultGet.getAccessKey().getSecretAccessKey());
+    }
 
     @Override
     protected JndiRegistry createRegistry() throws Exception {
@@ -127,6 +147,7 @@ public class IAMProducerTest extends CamelTestSupport {
                 from("direct:createUser").to("aws-iam://test?iamClient=#amazonIAMClient&operation=createUser").to("mock:result");
                 from("direct:deleteUser").to("aws-iam://test?iamClient=#amazonIAMClient&operation=deleteUser").to("mock:result");
                 from("direct:listUsers").to("aws-iam://test?iamClient=#amazonIAMClient&operation=listUsers").to("mock:result");
+                from("direct:createAccessKey").to("aws-iam://test?iamClient=#amazonIAMClient&operation=createAccessKey").to("mock:result");
             }
         };
     }
diff --git a/components/camel-aws/src/test/resources/org/apache/camel/component/aws/iam/IAMComponentSpringTest-context.xml b/components/camel-aws/src/test/resources/org/apache/camel/component/aws/iam/IAMComponentSpringTest-context.xml
index 8d3cd52..0411c96 100644
--- a/components/camel-aws/src/test/resources/org/apache/camel/component/aws/iam/IAMComponentSpringTest-context.xml
+++ b/components/camel-aws/src/test/resources/org/apache/camel/component/aws/iam/IAMComponentSpringTest-context.xml
@@ -44,6 +44,11 @@
             <to uri="aws-iam://Test?iamClient=#amazonIAMClient&amp;operation=listUsers"/>
             <to uri="mock:result"/>
         </route>
+        <route>
+            <from uri="direct:createAccessKey"/>
+            <to uri="aws-iam://Test?iamClient=#amazonIAMClient&amp;operation=createAccessKey"/>
+            <to uri="mock:result"/>
+        </route>
     </camelContext>
     
     <bean id="amazonIAMClient" class="org.apache.camel.component.aws.iam.AmazonIAMClientMock"/>