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

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

commit dfb8faab175c753ffe067f2978947bae4fa06467
Author: Andrea Cosentino <anco...@gmail.com>
AuthorDate: Mon Sep 9 14:33:06 2024 +0200

    CAMEL-21179 - Secret Properties Functions: Supporting secret name 
containing "/" - Hashicorp Vault
    
    Signed-off-by: Andrea Cosentino <anco...@gmail.com>
---
 .../vault/HashicorpVaultPropertiesFunction.java    |   6 +-
 .../HashicorpVaultPropertiesSourceNoEnvTestIT.java |  33 +-
 .../HashicorpVaultPropertiesSourceTestIT.java      | 484 ---------------------
 3 files changed, 30 insertions(+), 493 deletions(-)

diff --git 
a/components/camel-hashicorp-vault/src/main/java/org/apache/camel/component/hashicorp/vault/HashicorpVaultPropertiesFunction.java
 
b/components/camel-hashicorp-vault/src/main/java/org/apache/camel/component/hashicorp/vault/HashicorpVaultPropertiesFunction.java
index 598c14ae226..b54be20e34e 100644
--- 
a/components/camel-hashicorp-vault/src/main/java/org/apache/camel/component/hashicorp/vault/HashicorpVaultPropertiesFunction.java
+++ 
b/components/camel-hashicorp-vault/src/main/java/org/apache/camel/component/hashicorp/vault/HashicorpVaultPropertiesFunction.java
@@ -126,11 +126,11 @@ public class HashicorpVaultPropertiesFunction extends 
ServiceSupport implements
         String returnValue = null;
         String defaultValue = null;
         String version = null;
-        if (remainder.contains("/")) {
-            String keyRemainder = StringHelper.before(remainder, "/");
+        if (remainder.contains("#")) {
+            String keyRemainder = StringHelper.before(remainder, "#");
             engine = StringHelper.before(keyRemainder, ":");
             key = StringHelper.after(keyRemainder, ":");
-            subkey = StringHelper.after(remainder, "/");
+            subkey = StringHelper.after(remainder, "#");
             defaultValue = StringHelper.after(subkey, ":");
             if (ObjectHelper.isNotEmpty(defaultValue)) {
                 if (defaultValue.contains("@")) {
diff --git 
a/components/camel-hashicorp-vault/src/test/java/org/apache/camel/component/hashicorp/vault/integration/HashicorpVaultPropertiesSourceNoEnvTestIT.java
 
b/components/camel-hashicorp-vault/src/test/java/org/apache/camel/component/hashicorp/vault/integration/HashicorpVaultPropertiesSourceNoEnvTestIT.java
index 5dbcd03426f..75262b38e0a 100644
--- 
a/components/camel-hashicorp-vault/src/test/java/org/apache/camel/component/hashicorp/vault/integration/HashicorpVaultPropertiesSourceNoEnvTestIT.java
+++ 
b/components/camel-hashicorp-vault/src/test/java/org/apache/camel/component/hashicorp/vault/integration/HashicorpVaultPropertiesSourceNoEnvTestIT.java
@@ -66,7 +66,7 @@ public class HashicorpVaultPropertiesSourceNoEnvTestIT 
extends CamelTestSupport
         context.addRoutes(new RouteBuilder() {
             @Override
             public void configure() {
-                
from("direct:start").setBody(simple("{{hashicorp:secret:hello/id}}")).to("mock:bar");
+                
from("direct:start").setBody(simple("{{hashicorp:secret:hello#id}}")).to("mock:bar");
             }
         });
         context.start();
@@ -87,8 +87,8 @@ public class HashicorpVaultPropertiesSourceNoEnvTestIT 
extends CamelTestSupport
         context.addRoutes(new RouteBuilder() {
             @Override
             public void configure() {
-                
from("direct:username").setBody(simple("{{hashicorp:secret:hello/username}}")).to("mock:bar");
-                
from("direct:password").setBody(simple("{{hashicorp:secret:hello/password}}")).to("mock:bar");
+                
from("direct:username").setBody(simple("{{hashicorp:secret:hello#username}}")).to("mock:bar");
+                
from("direct:password").setBody(simple("{{hashicorp:secret:hello#password}}")).to("mock:bar");
             }
         });
         context.start();
@@ -374,7 +374,7 @@ public class HashicorpVaultPropertiesSourceNoEnvTestIT 
extends CamelTestSupport
         context.addRoutes(new RouteBuilder() {
             @Override
             public void configure() {
-                
from("direct:version").setBody(simple("{{hashicorp:secret:hello/id@1}}")).to("mock:bar");
+                
from("direct:version").setBody(simple("{{hashicorp:secret:hello#id@1}}")).to("mock:bar");
             }
         });
         context.start();
@@ -477,7 +477,7 @@ public class HashicorpVaultPropertiesSourceNoEnvTestIT 
extends CamelTestSupport
         context.addRoutes(new RouteBuilder() {
             @Override
             public void configure() {
-                
from("direct:version").setBody(simple("{{hashicorp:secret:hello/id:pippo@1}}"))
+                
from("direct:version").setBody(simple("{{hashicorp:secret:hello#id:pippo@1}}"))
                         .to("mock:bar");
             }
         });
@@ -489,6 +489,27 @@ public class HashicorpVaultPropertiesSourceNoEnvTestIT 
extends CamelTestSupport
         MockEndpoint.assertIsSatisfied(context);
     }
 
+    @Test
+    public void 
testPropertiesWithVersionFieldAndDefaultValueFunctionWithNotExistentVersion() 
throws Exception {
+        
context.getVaultConfiguration().hashicorp().setToken(System.getProperty("camel.vault.hashicorp.token"));
+        
context.getVaultConfiguration().hashicorp().setHost(System.getProperty("camel.vault.hashicorp.host"));
+        
context.getVaultConfiguration().hashicorp().setPort(System.getProperty("camel.vault.hashicorp.port"));
+        
context.getVaultConfiguration().hashicorp().setScheme(System.getProperty("camel.vault.hashicorp.scheme"));
+        context.addRoutes(new RouteBuilder() {
+            @Override
+            public void configure() {
+                
from("direct:version").setBody(simple("{{hashicorp:secret:hello#id:pippo@2}}"))
+                        .to("mock:bar");
+            }
+        });
+        context.start();
+
+        getMockEndpoint("mock:bar").expectedBodiesReceived("pippo");
+
+        template.sendBody("direct:version", "Hello World");
+        MockEndpoint.assertIsSatisfied(context);
+    }
+
     @Test
     public void testPropertiesWithDoubleEngines() throws Exception {
         
context.getVaultConfiguration().hashicorp().setToken(System.getProperty("camel.vault.hashicorp.token"));
@@ -507,7 +528,7 @@ public class HashicorpVaultPropertiesSourceNoEnvTestIT 
extends CamelTestSupport
         });
         context.start();
 
-        getMockEndpoint("mock:bar").expectedBodiesReceived("{id=21}", 
"{id=22}");
+        getMockEndpoint("mock:bar").expectedBodiesReceived("{id=21}", 
"{id=21}");
 
         template.sendBody("direct:engine1", "Hello World");
         template.sendBody("direct:engine2", "Hello World");
diff --git 
a/components/camel-hashicorp-vault/src/test/java/org/apache/camel/component/hashicorp/vault/integration/HashicorpVaultPropertiesSourceTestIT.java
 
b/components/camel-hashicorp-vault/src/test/java/org/apache/camel/component/hashicorp/vault/integration/HashicorpVaultPropertiesSourceTestIT.java
deleted file mode 100644
index a85c929cd9d..00000000000
--- 
a/components/camel-hashicorp-vault/src/test/java/org/apache/camel/component/hashicorp/vault/integration/HashicorpVaultPropertiesSourceTestIT.java
+++ /dev/null
@@ -1,484 +0,0 @@
-/*
- * 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.hashicorp.vault.integration;
-
-import org.apache.camel.FailedToCreateRouteException;
-import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.test.junit5.CamelTestSupport;
-import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.condition.EnabledIfEnvironmentVariable;
-
-import static org.junit.jupiter.api.Assertions.assertThrows;
-
-public class HashicorpVaultPropertiesSourceTestIT extends CamelTestSupport {
-
-    @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_TOKEN", 
matches = ".*")
-    @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_HOST", 
matches = ".*")
-    @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_PORT", 
matches = ".*")
-    @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_SCHEME", 
matches = ".*")
-    @Test
-    public void testFunctio() throws Exception {
-        context.addRoutes(new RouteBuilder() {
-            @Override
-            public void configure() {
-                
from("direct:start").setBody(simple("{{hashicorp:secret:hello}}")).to("mock:bar");
-            }
-        });
-        context.start();
-
-        getMockEndpoint("mock:bar").expectedBodiesReceived("{id=21, 
password=password, username=admin}");
-
-        template.sendBody("direct:start", "Hello World");
-
-        MockEndpoint.assertIsSatisfied(context);
-    }
-
-    @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_TOKEN", 
matches = ".*")
-    @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_HOST", 
matches = ".*")
-    @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_PORT", 
matches = ".*")
-    @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_SCHEME", 
matches = ".*")
-    @Test
-    public void testFunctionWithField() throws Exception {
-        context.addRoutes(new RouteBuilder() {
-            @Override
-            public void configure() {
-                
from("direct:start").setBody(simple("{{hashicorp:secret:hello/id}}")).to("mock:bar");
-            }
-        });
-        context.start();
-
-        getMockEndpoint("mock:bar").expectedBodiesReceived("21");
-
-        template.sendBody("direct:start", "Hello World");
-
-        MockEndpoint.assertIsSatisfied(context);
-    }
-
-    @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_TOKEN", 
matches = ".*")
-    @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_HOST", 
matches = ".*")
-    @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_PORT", 
matches = ".*")
-    @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_SCHEME", 
matches = ".*")
-    @Test
-    public void testComplexCustomPropertiesFunction() throws Exception {
-        context.addRoutes(new RouteBuilder() {
-            @Override
-            public void configure() {
-                
from("direct:username").setBody(simple("{{hashicorp:secret:hello/username}}")).to("mock:bar");
-                
from("direct:password").setBody(simple("{{hashicorp:secret:hello/password}}")).to("mock:bar");
-            }
-        });
-        context.start();
-
-        getMockEndpoint("mock:bar").expectedBodiesReceived("admin", 
"password");
-
-        template.sendBody("direct:username", "Hello World");
-        template.sendBody("direct:password", "Hello World");
-        MockEndpoint.assertIsSatisfied(context);
-    }
-
-    @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_TOKEN", 
matches = ".*")
-    @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_HOST", 
matches = ".*")
-    @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_PORT", 
matches = ".*")
-    @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_SCHEME", 
matches = ".*")
-    @Test
-    public void testComplexNoSubkeyPropertiesFunction() {
-        Exception exception = assertThrows(FailedToCreateRouteException.class, 
() -> {
-            context.addRoutes(new RouteBuilder() {
-                @Override
-                public void configure() {
-                    
from("direct:username").setBody(simple("{{hashicorp:database_sample/not_existent}}")).to("mock:bar");
-                }
-            });
-            context.start();
-
-            getMockEndpoint("mock:bar").expectedBodiesReceived("admin");
-
-            template.sendBody("direct:username", "Hello World");
-            MockEndpoint.assertIsSatisfied(context);
-        });
-    }
-
-    @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_TOKEN", 
matches = ".*")
-    @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_HOST", 
matches = ".*")
-    @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_PORT", 
matches = ".*")
-    @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_SCHEME", 
matches = ".*")
-    @Test
-    public void testComplexCustomPropertiesDefaultValueFunction() throws 
Exception {
-        context.addRoutes(new RouteBuilder() {
-            @Override
-            public void configure() {
-                
from("direct:username").setBody(simple("{{hashicorp:secret:hello/additional1:admin}}")).to("mock:bar");
-                
from("direct:password").setBody(simple("{{hashicorp:secret:hello/additional2:secret}}")).to("mock:bar");
-            }
-        });
-        context.start();
-
-        getMockEndpoint("mock:bar").expectedBodiesReceived("admin", "secret");
-
-        template.sendBody("direct:username", "Hello World");
-        template.sendBody("direct:password", "Hello World");
-        MockEndpoint.assertIsSatisfied(context);
-    }
-
-    @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_TOKEN", 
matches = ".*")
-    @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_HOST", 
matches = ".*")
-    @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_PORT", 
matches = ".*")
-    @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_SCHEME", 
matches = ".*")
-    @Test
-    public void testComplexCustomPropertiesDefaultValueExceptionFunction() 
throws Exception {
-        context.addRoutes(new RouteBuilder() {
-            @Override
-            public void configure() {
-                
from("direct:username").setBody(simple("{{hashicorp:secret:test-3/additional1:admin}}")).to("mock:bar");
-                
from("direct:password").setBody(simple("{{hashicorp:secret:test-3/additional2:secret}}")).to("mock:bar");
-            }
-        });
-        context.start();
-
-        getMockEndpoint("mock:bar").expectedBodiesReceived("admin", "secret");
-
-        template.sendBody("direct:username", "Hello World");
-        template.sendBody("direct:password", "Hello World");
-        MockEndpoint.assertIsSatisfied(context);
-    }
-
-    @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_TOKEN", 
matches = ".*")
-    @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_HOST", 
matches = ".*")
-    @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_PORT", 
matches = ".*")
-    @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_SCHEME", 
matches = ".*")
-    @Test
-    public void testComplexCustomPropertiesExceptionFunction() {
-        Exception exception = assertThrows(FailedToCreateRouteException.class, 
() -> {
-            context.addRoutes(new RouteBuilder() {
-                @Override
-                public void configure() {
-                    
from("direct:username").setBody(simple("{{hashicorp:secret:test-3/additional1}}")).to("mock:bar");
-                    
from("direct:password").setBody(simple("{{hashicorp:secret:test-3/additional2}}")).to("mock:bar");
-                }
-            });
-            context.start();
-
-            getMockEndpoint("mock:bar").expectedBodiesReceived("admin", 
"secret");
-
-            template.sendBody("direct:username", "Hello World");
-            template.sendBody("direct:password", "Hello World");
-            MockEndpoint.assertIsSatisfied(context);
-        });
-    }
-
-    @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_TOKEN", 
matches = ".*")
-    @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_HOST", 
matches = ".*")
-    @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_PORT", 
matches = ".*")
-    @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_SCHEME", 
matches = ".*")
-    @Test
-    public void testComplexSimpleDefaultValueExceptionFunction() throws 
Exception {
-        context.addRoutes(new RouteBuilder() {
-            @Override
-            public void configure() {
-                
from("direct:username").setBody(simple("{{hashicorp:secret:hello-2:admin}}")).to("mock:bar");
-                
from("direct:password").setBody(simple("{{hashicorp:secret:hello-1:pwd}}")).to("mock:bar");
-            }
-        });
-        context.start();
-
-        getMockEndpoint("mock:bar").expectedBodiesReceived("admin", "pwd");
-
-        template.sendBody("direct:username", "Hello World");
-        template.sendBody("direct:password", "Hello World");
-        MockEndpoint.assertIsSatisfied(context);
-    }
-
-    @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_TOKEN", 
matches = ".*")
-    @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_HOST", 
matches = ".*")
-    @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_PORT", 
matches = ".*")
-    @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_SCHEME", 
matches = ".*")
-    @Test
-    public void testComplexSimpleNoDefaultValueExceptionFunction() {
-        Exception exception = assertThrows(FailedToCreateRouteException.class, 
() -> {
-            context.addRoutes(new RouteBuilder() {
-                @Override
-                public void configure() {
-                    
from("direct:username").setBody(simple("{{hashicorp:secret:secretsuper}}")).to("mock:bar");
-                }
-            });
-            context.start();
-
-            getMockEndpoint("mock:bar").expectedBodiesReceived("admin");
-
-            template.sendBody("direct:username", "Hello World");
-            MockEndpoint.assertIsSatisfied(context);
-        });
-    }
-
-    @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_TOKEN", 
matches = ".*")
-    @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_HOST", 
matches = ".*")
-    @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_PORT", 
matches = ".*")
-    @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_SCHEME", 
matches = ".*")
-    @Test
-    public void testComplexCustomPropertiesNoDefaultValueFunction() {
-        Exception exception = assertThrows(FailedToCreateRouteException.class, 
() -> {
-            context.addRoutes(new RouteBuilder() {
-                @Override
-                public void configure() {
-                    
from("direct:username").setBody(simple("{{hashicorp:secret:postgresql/additional1}}")).to("mock:bar");
-                    
from("direct:password").setBody(simple("{{hashicorp:secret:postgresql/additional2}}")).to("mock:bar");
-                }
-            });
-            context.start();
-
-            getMockEndpoint("mock:bar").expectedBodiesReceived("admin", 
"secret");
-
-            template.sendBody("direct:username", "Hello World");
-            template.sendBody("direct:password", "Hello World");
-            MockEndpoint.assertIsSatisfied(context);
-        });
-    }
-
-    @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_TOKEN", 
matches = ".*")
-    @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_HOST", 
matches = ".*")
-    @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_PORT", 
matches = ".*")
-    @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_SCHEME", 
matches = ".*")
-    @Test
-    public void testComplexCustomPropertiesNotExistentDefaultValueFunction() 
throws Exception {
-        context.addRoutes(new RouteBuilder() {
-            @Override
-            public void configure() {
-                
from("direct:username").setBody(simple("{{hashicorp:secret:newsecret/additional1:admin}}")).to("mock:bar");
-            }
-        });
-        context.start();
-
-        getMockEndpoint("mock:bar").expectedBodiesReceived("admin");
-
-        template.sendBody("direct:username", "Hello World");
-        MockEndpoint.assertIsSatisfied(context);
-    }
-
-    @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_TOKEN", 
matches = ".*")
-    @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_HOST", 
matches = ".*")
-    @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_PORT", 
matches = ".*")
-    @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_SCHEME", 
matches = ".*")
-    @Test
-    public void testComplexCustomPropertiesDefaultCredsDefaultValueFunction() 
throws Exception {
-        context.addRoutes(new RouteBuilder() {
-            @Override
-            public void configure() {
-                
from("direct:username").setBody(simple("{{hashicorp:secret:newsecret/additional1:admin}}")).to("mock:bar");
-            }
-        });
-        context.start();
-
-        getMockEndpoint("mock:bar").expectedBodiesReceived("admin");
-
-        template.sendBody("direct:username", "Hello World");
-        MockEndpoint.assertIsSatisfied(context);
-    }
-
-    @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_TOKEN", 
matches = ".*")
-    @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_HOST", 
matches = ".*")
-    @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_PORT", 
matches = ".*")
-    @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_SCHEME", 
matches = ".*")
-    @Test
-    public void testPropertiesWithDefaultFunction() throws Exception {
-        context.addRoutes(new RouteBuilder() {
-            @Override
-            public void configure() {
-                
from("direct:username").setBody(simple("{{hashicorp:secret:postgresql/username:oscerd}}")).to("mock:bar");
-                
from("direct:password").setBody(simple("{{hashicorp:secret:postgresql/password:password}}")).to("mock:bar");
-            }
-        });
-        context.start();
-
-        getMockEndpoint("mock:bar").expectedBodiesReceived("oscerd", 
"password");
-
-        template.sendBody("direct:username", "Hello World");
-        template.sendBody("direct:password", "Hello World");
-        MockEndpoint.assertIsSatisfied(context);
-    }
-
-    @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_TOKEN", 
matches = ".*")
-    @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_HOST", 
matches = ".*")
-    @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_PORT", 
matches = ".*")
-    @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_SCHEME", 
matches = ".*")
-    @Test
-    public void testPropertiesWithDefaultNotExistentFunction() throws 
Exception {
-        context.addRoutes(new RouteBuilder() {
-            @Override
-            public void configure() {
-                
from("direct:username").setBody(simple("{{hashicorp:secret:db_sample/username:oscerd}}")).to("mock:bar");
-                
from("direct:password").setBody(simple("{{hashicorp:secret:db_sample/password:password}}")).to("mock:bar");
-            }
-        });
-        context.start();
-
-        getMockEndpoint("mock:bar").expectedBodiesReceived("oscerd", 
"password");
-
-        template.sendBody("direct:username", "Hello World");
-        template.sendBody("direct:password", "Hello World");
-        MockEndpoint.assertIsSatisfied(context);
-    }
-
-    @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_TOKEN", 
matches = ".*")
-    @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_HOST", 
matches = ".*")
-    @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_PORT", 
matches = ".*")
-    @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_SCHEME", 
matches = ".*")
-    @Test
-    public void testPropertiesWithVersionFunction() throws Exception {
-        context.addRoutes(new RouteBuilder() {
-            @Override
-            public void configure() {
-                
from("direct:version").setBody(simple("{{hashicorp:secret:hello/id@1}}")).to("mock:bar");
-            }
-        });
-        context.start();
-
-        getMockEndpoint("mock:bar").expectedBodiesReceived("21");
-
-        template.sendBody("direct:version", "Hello World");
-        MockEndpoint.assertIsSatisfied(context);
-    }
-
-    @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_TOKEN", 
matches = ".*")
-    @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_HOST", 
matches = ".*")
-    @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_PORT", 
matches = ".*")
-    @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_SCHEME", 
matches = ".*")
-    @Test
-    public void testPropertiesWithVersionAndNoFieldFunction() throws Exception 
{
-        context.addRoutes(new RouteBuilder() {
-            @Override
-            public void configure() {
-                
from("direct:version").setBody(simple("{{hashicorp:secret:hello@1}}")).to("mock:bar");
-            }
-        });
-        context.start();
-
-        getMockEndpoint("mock:bar").expectedBodiesReceived("{id=21, 
password=password, username=admin}");
-
-        template.sendBody("direct:version", "Hello World");
-        MockEndpoint.assertIsSatisfied(context);
-    }
-
-    @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_TOKEN", 
matches = ".*")
-    @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_HOST", 
matches = ".*")
-    @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_PORT", 
matches = ".*")
-    @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_SCHEME", 
matches = ".*")
-    @Test
-    public void testPropertiesWithVersionNoFieldAndDefaultValueFunction() 
throws Exception {
-        context.addRoutes(new RouteBuilder() {
-            @Override
-            public void configure() {
-                
from("direct:version").setBody(simple("{{hashicorp:secret:hello:pippo@1}}"))
-                        .to("mock:bar");
-            }
-        });
-        context.start();
-
-        getMockEndpoint("mock:bar").expectedBodiesReceived("{id=21, 
password=password, username=admin}");
-
-        template.sendBody("direct:version", "Hello World");
-        MockEndpoint.assertIsSatisfied(context);
-    }
-
-    @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_TOKEN", 
matches = ".*")
-    @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_HOST", 
matches = ".*")
-    @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_PORT", 
matches = ".*")
-    @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_SCHEME", 
matches = ".*")
-    @Test
-    public void 
testPropertiesWithVersionNoFieldDefaultValueNotExistentSecretFunction() throws 
Exception {
-        context.addRoutes(new RouteBuilder() {
-            @Override
-            public void configure() {
-                
from("direct:version").setBody(simple("{{hashicorp:secret:hello-3:pippo@4}}"))
-                        .to("mock:bar");
-            }
-        });
-        context.start();
-
-        getMockEndpoint("mock:bar").expectedBodiesReceived("pippo");
-
-        template.sendBody("direct:version", "Hello World");
-        MockEndpoint.assertIsSatisfied(context);
-    }
-
-    @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_TOKEN", 
matches = ".*")
-    @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_HOST", 
matches = ".*")
-    @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_PORT", 
matches = ".*")
-    @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_SCHEME", 
matches = ".*")
-    @Test
-    public void 
testPropertiesWithVersionNoFieldDefaultValueNotExistentVersionFunction() throws 
Exception {
-        context.addRoutes(new RouteBuilder() {
-            @Override
-            public void configure() {
-                
from("direct:version").setBody(simple("{{hashicorp:secret:hello:pippo@4}}"))
-                        .to("mock:bar");
-            }
-        });
-        context.start();
-
-        getMockEndpoint("mock:bar").expectedBodiesReceived("pippo");
-
-        template.sendBody("direct:version", "Hello World");
-        MockEndpoint.assertIsSatisfied(context);
-    }
-
-    @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_TOKEN", 
matches = ".*")
-    @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_HOST", 
matches = ".*")
-    @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_PORT", 
matches = ".*")
-    @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_SCHEME", 
matches = ".*")
-    @Test
-    public void testPropertiesWithVersionFieldAndDefaultValueFunction() throws 
Exception {
-        context.addRoutes(new RouteBuilder() {
-            @Override
-            public void configure() {
-                
from("direct:version").setBody(simple("{{hashicorp:secret:hello/id:pippo@1}}"))
-                        .to("mock:bar");
-            }
-        });
-        context.start();
-
-        getMockEndpoint("mock:bar").expectedBodiesReceived("21");
-
-        template.sendBody("direct:version", "Hello World");
-        MockEndpoint.assertIsSatisfied(context);
-    }
-
-    @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_TOKEN", 
matches = ".*")
-    @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_HOST", 
matches = ".*")
-    @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_PORT", 
matches = ".*")
-    @EnabledIfEnvironmentVariable(named = "CAMEL_HASHICORP_VAULT_SCHEME", 
matches = ".*")
-    @Test
-    public void testPropertiesWithDoubleEngines() throws Exception {
-        context.addRoutes(new RouteBuilder() {
-            @Override
-            public void configure() {
-                
from("direct:engine1").setBody(simple("{{hashicorp:secretengine1:hello}}"))
-                        .to("mock:bar");
-
-                
from("direct:engine2").setBody(simple("{{hashicorp:secretengine2:hello}}"))
-                        .to("mock:bar");
-            }
-        });
-        context.start();
-
-        getMockEndpoint("mock:bar").expectedBodiesReceived("{id=21}", 
"{id=22}");
-
-        template.sendBody("direct:engine1", "Hello World");
-        template.sendBody("direct:engine2", "Hello World");
-        MockEndpoint.assertIsSatisfied(context);
-    }
-}

Reply via email to