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 2024/08/21 08:28:14 UTC

(camel) branch CAMEL-21101 created (now af6e2850fbe)

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

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


      at af6e2850fbe CAMEL-21101 - Camel-Hashicorp-Vault: Get Secret operation doesn't take into account the secretPath configuration parameter

This branch includes the following new commits:

     new af6e2850fbe CAMEL-21101 - Camel-Hashicorp-Vault: Get Secret operation doesn't take into account the secretPath configuration parameter

The 1 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.



(camel) 01/01: CAMEL-21101 - Camel-Hashicorp-Vault: Get Secret operation doesn't take into account the secretPath configuration parameter

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

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

commit af6e2850fbe171b1d162fa81bf6e22958777839b
Author: Andrea Cosentino <an...@gmail.com>
AuthorDate: Wed Aug 21 10:27:09 2024 +0200

    CAMEL-21101 - Camel-Hashicorp-Vault: Get Secret operation doesn't take into account the secretPath configuration parameter
    
    Signed-off-by: Andrea Cosentino <an...@gmail.com>
---
 .../component/hashicorp/vault/HashicorpVaultProducer.java    |  2 ++
 .../operations/HashicorpProducerCreateSecretIT.java          | 12 ++++++++++++
 2 files changed, 14 insertions(+)

diff --git a/components/camel-hashicorp-vault/src/main/java/org/apache/camel/component/hashicorp/vault/HashicorpVaultProducer.java b/components/camel-hashicorp-vault/src/main/java/org/apache/camel/component/hashicorp/vault/HashicorpVaultProducer.java
index 1be686a7544..571e5002334 100644
--- a/components/camel-hashicorp-vault/src/main/java/org/apache/camel/component/hashicorp/vault/HashicorpVaultProducer.java
+++ b/components/camel-hashicorp-vault/src/main/java/org/apache/camel/component/hashicorp/vault/HashicorpVaultProducer.java
@@ -65,6 +65,8 @@ public class HashicorpVaultProducer extends DefaultProducer {
         String secretVersion = null;
         if (ObjectHelper.isNotEmpty(exchange.getMessage().getHeader(HashicorpVaultConstants.SECRET_PATH))) {
             secretPath = exchange.getMessage().getHeader(HashicorpVaultConstants.SECRET_PATH, String.class);
+        } else if (ObjectHelper.isNotEmpty(getEndpoint().getConfiguration().getSecretPath())) {
+            secretPath = getConfiguration().getSecretPath();
         } else {
             throw new IllegalArgumentException("Secret Path must be specified");
         }
diff --git a/components/camel-hashicorp-vault/src/test/java/org/apache/camel/component/hashicorp/vault/integration/operations/HashicorpProducerCreateSecretIT.java b/components/camel-hashicorp-vault/src/test/java/org/apache/camel/component/hashicorp/vault/integration/operations/HashicorpProducerCreateSecretIT.java
index da1e1797d23..34d828b6bfc 100644
--- a/components/camel-hashicorp-vault/src/test/java/org/apache/camel/component/hashicorp/vault/integration/operations/HashicorpProducerCreateSecretIT.java
+++ b/components/camel-hashicorp-vault/src/test/java/org/apache/camel/component/hashicorp/vault/integration/operations/HashicorpProducerCreateSecretIT.java
@@ -39,6 +39,9 @@ public class HashicorpProducerCreateSecretIT extends HashicorpVaultBase {
     @EndpointInject("mock:result-read")
     private MockEndpoint mockRead;
 
+    @EndpointInject("mock:result-read-with-param")
+    private MockEndpoint mockReadWithParam;
+
     @Test
     public void createSecretTest() throws InterruptedException {
 
@@ -58,11 +61,15 @@ public class HashicorpProducerCreateSecretIT extends HashicorpVaultBase {
                 exchange.getMessage().setHeader(HashicorpVaultConstants.SECRET_PATH, "test");
             }
         });
+        exchange = template.request("direct:readSecretWithPathParam", null);
 
         MockEndpoint.assertIsSatisfied(context);
         Exchange ret = mockRead.getExchanges().get(0);
         assertNotNull(ret);
         assertEquals("30", ((Map) ret.getMessage().getBody(Map.class).get("data")).get("integer"));
+        Exchange retWithParam = mockReadWithParam.getExchanges().get(0);
+        assertNotNull(retWithParam);
+        assertEquals("30", ((Map) retWithParam.getMessage().getBody(Map.class).get("data")).get("integer"));
     }
 
     @Override
@@ -79,6 +86,11 @@ public class HashicorpProducerCreateSecretIT extends HashicorpVaultBase {
                         .toF("hashicorp-vault://secret?operation=getSecret&token=RAW(%s)&host=%s&port=%s&scheme=http",
                                 service.token(), service.host(), service.port())
                         .to("mock:result-read");
+
+                from("direct:readSecretWithPathParam")
+                        .toF("hashicorp-vault://secret?operation=getSecret&token=RAW(%s)&host=%s&port=%s&scheme=http&secretPath=test",
+                                service.token(), service.host(), service.port())
+                        .to("mock:result-read-with-param");
             }
         };
     }