This is an automated email from the ASF dual-hosted git repository. acosentino pushed a commit to branch CAMEL-21626 in repository https://gitbox.apache.org/repos/asf/camel.git
commit e30dcd574aeb0e5eaea0001bf10753ba6bab4020 Author: Andrea Cosentino <[email protected]> AuthorDate: Tue Jan 21 12:29:23 2025 +0100 CAMEL-21626 - Camel-Hashicorp-Vault: Support Hashicorp Cloud deployment in properties function Signed-off-by: Andrea Cosentino <[email protected]> --- .../main/camel-main-configuration-metadata.json | 2 ++ .../vault/HashicorpVaultPropertiesFunction.java | 22 +++++++++++++++-- .../camel/vault/HashicorpVaultConfiguration.java | 26 ++++++++++++++++++++ .../HashicorpVaultConfigurationConfigurer.java | 6 +++++ ...corpVaultConfigurationPropertiesConfigurer.java | 8 +++++++ .../camel-main-configuration-metadata.json | 2 ++ core/camel-main/src/main/docs/main.adoc | 4 +++- .../HashicorpVaultConfigurationProperties.java | 18 +++++++++++++- .../java/org/apache/camel/main/MainVaultTest.java | 28 ++++++++++++++++++++++ 9 files changed, 112 insertions(+), 4 deletions(-) diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/main/camel-main-configuration-metadata.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/main/camel-main-configuration-metadata.json index 1e74936c353..5d75bf53c2a 100644 --- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/main/camel-main-configuration-metadata.json +++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/main/camel-main-configuration-metadata.json @@ -368,7 +368,9 @@ { "name": "camel.vault.gcp.serviceAccountKey", "description": "The Service Account Key location", "sourceType": "org.apache.camel.vault.GcpVaultConfiguration", "type": "string", "javaType": "java.lang.String" }, { "name": "camel.vault.gcp.subscriptionName", "description": "Define the Google Pubsub subscription Name to be used when checking for updates", "sourceType": "org.apache.camel.vault.GcpVaultConfiguration", "type": "string", "javaType": "java.lang.String" }, { "name": "camel.vault.gcp.useDefaultInstance", "description": "Define if we want to use the GCP Client Default Instance or not", "sourceType": "org.apache.camel.vault.GcpVaultConfiguration", "type": "boolean", "javaType": "boolean", "defaultValue": "false" }, + { "name": "camel.vault.hashicorp.cloud", "description": "Determine if the Hashicorp Vault is deployed on Hashicorp Cloud or not", "sourceType": "org.apache.camel.vault.HashicorpVaultConfiguration", "type": "boolean", "javaType": "boolean", "defaultValue": "false" }, { "name": "camel.vault.hashicorp.host", "description": "Host to access hashicorp vault", "sourceType": "org.apache.camel.vault.HashicorpVaultConfiguration", "type": "string", "javaType": "java.lang.String" }, + { "name": "camel.vault.hashicorp.namespace", "description": "If the Hashicorp Vault instance is deployed on Hashicorp Cloud, this field will determine the namespace", "sourceType": "org.apache.camel.vault.HashicorpVaultConfiguration", "type": "string", "javaType": "java.lang.String" }, { "name": "camel.vault.hashicorp.port", "description": "Port to access hashicorp vault", "sourceType": "org.apache.camel.vault.HashicorpVaultConfiguration", "type": "string", "javaType": "java.lang.String" }, { "name": "camel.vault.hashicorp.scheme", "description": "Scheme to access hashicorp vault", "sourceType": "org.apache.camel.vault.HashicorpVaultConfiguration", "type": "string", "javaType": "java.lang.String" }, { "name": "camel.vault.hashicorp.token", "description": "Token to access hashicorp vault", "sourceType": "org.apache.camel.vault.HashicorpVaultConfiguration", "type": "string", "javaType": "java.lang.String" }, 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 d4efea00e33..93bafc3685e 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 @@ -76,10 +76,16 @@ public class HashicorpVaultPropertiesFunction extends ServiceSupport implements = "CAMEL_HASHICORP_VAULT_PORT"; private static final String CAMEL_HASHICORP_VAULT_SCHEME_ENV = "CAMEL_HASHICORP_VAULT_SCHEME"; + private static final String CAMEL_HASHICORP_VAULT_CLOUD_ENV + = "CAMEL_HASHICORP_VAULT_CLOUD"; + private static final String CAMEL_HASHICORP_VAULT_NAMESPACE_ENV + = "CAMEL_HASHICORP_VAULT_NAMESPACE"; private CamelContext camelContext; private VaultTemplate client; private String engine; + private String namespace; + private boolean cloud; public HashicorpVaultPropertiesFunction() { super(); @@ -97,14 +103,19 @@ public class HashicorpVaultPropertiesFunction extends ServiceSupport implements String host = System.getenv(CAMEL_HASHICORP_VAULT_HOST_ENV); String port = System.getenv(CAMEL_HASHICORP_VAULT_PORT_ENV); String scheme = System.getenv(CAMEL_HASHICORP_VAULT_SCHEME_ENV); + namespace = System.getenv(CAMEL_HASHICORP_VAULT_NAMESPACE_ENV); if (ObjectHelper.isEmpty(token) && ObjectHelper.isEmpty(host) - && ObjectHelper.isEmpty(port) && ObjectHelper.isEmpty(scheme)) { + && ObjectHelper.isEmpty(port) && ObjectHelper.isEmpty(scheme) && ObjectHelper.isEmpty(namespace)) { HashicorpVaultConfiguration hashicorpVaultConfiguration = getCamelContext().getVaultConfiguration().hashicorp(); if (ObjectHelper.isNotEmpty(hashicorpVaultConfiguration)) { token = hashicorpVaultConfiguration.getToken(); host = hashicorpVaultConfiguration.getHost(); port = hashicorpVaultConfiguration.getPort(); scheme = hashicorpVaultConfiguration.getScheme(); + cloud = hashicorpVaultConfiguration.isCloud(); + if (hashicorpVaultConfiguration.isCloud()) { + namespace = hashicorpVaultConfiguration.getNamespace(); + } } } if (ObjectHelper.isNotEmpty(token) && ObjectHelper.isNotEmpty(host) @@ -195,7 +206,14 @@ public class HashicorpVaultPropertiesFunction extends ServiceSupport implements private String getSecretFromSource(String key, String subkey, String defaultValue, String version) { String returnValue = null; try { - String completePath = engine + "/" + "data" + "/" + key; + String completePath = ""; + if (!cloud) { + completePath = engine + "/" + "data" + "/" + key; + } else { + if (ObjectHelper.isNotEmpty(namespace)) { + completePath = namespace + "/" + engine + "/" + "data" + "/" + key; + } + } if (ObjectHelper.isNotEmpty(version)) { completePath = completePath + "?version=" + version; } diff --git a/core/camel-api/src/main/java/org/apache/camel/vault/HashicorpVaultConfiguration.java b/core/camel-api/src/main/java/org/apache/camel/vault/HashicorpVaultConfiguration.java index 6d3113f0dd7..26fa28aad5c 100644 --- a/core/camel-api/src/main/java/org/apache/camel/vault/HashicorpVaultConfiguration.java +++ b/core/camel-api/src/main/java/org/apache/camel/vault/HashicorpVaultConfiguration.java @@ -31,6 +31,10 @@ public class HashicorpVaultConfiguration extends VaultConfiguration { private String port; @Metadata private String scheme; + @Metadata + private boolean cloud; + @Metadata + private String namespace; public String getToken() { return token; @@ -75,4 +79,26 @@ public class HashicorpVaultConfiguration extends VaultConfiguration { public void setScheme(String scheme) { this.scheme = scheme; } + + public boolean isCloud() { + return cloud; + } + + /** + * Determine if the Hashicorp Vault is deployed on Hashicorp Cloud or not + */ + public void setCloud(boolean cloud) { + this.cloud = cloud; + } + + public String getNamespace() { + return namespace; + } + + /** + * If the Hashicorp Vault instance is deployed on Hashicorp Cloud, this field will determine the namespace + */ + public void setNamespace(String namespace) { + this.namespace = namespace; + } } diff --git a/core/camel-main/src/generated/java/org/apache/camel/main/HashicorpVaultConfigurationConfigurer.java b/core/camel-main/src/generated/java/org/apache/camel/main/HashicorpVaultConfigurationConfigurer.java index 92ff13367a3..31bcaa1ca32 100644 --- a/core/camel-main/src/generated/java/org/apache/camel/main/HashicorpVaultConfigurationConfigurer.java +++ b/core/camel-main/src/generated/java/org/apache/camel/main/HashicorpVaultConfigurationConfigurer.java @@ -27,6 +27,7 @@ public class HashicorpVaultConfigurationConfigurer extends org.apache.camel.supp case "awsVaultConfiguration": target.setAwsVaultConfiguration(property(camelContext, org.apache.camel.vault.AwsVaultConfiguration.class, value)); return true; case "azurevaultconfiguration": case "azureVaultConfiguration": target.setAzureVaultConfiguration(property(camelContext, org.apache.camel.vault.AzureVaultConfiguration.class, value)); return true; + case "cloud": target.setCloud(property(camelContext, boolean.class, value)); return true; case "gcpvaultconfiguration": case "gcpVaultConfiguration": target.setGcpVaultConfiguration(property(camelContext, org.apache.camel.vault.GcpVaultConfiguration.class, value)); return true; case "hashicorpvaultconfiguration": @@ -36,6 +37,7 @@ public class HashicorpVaultConfigurationConfigurer extends org.apache.camel.supp case "kubernetesConfigMapVaultConfiguration": target.setKubernetesConfigMapVaultConfiguration(property(camelContext, org.apache.camel.vault.KubernetesConfigMapVaultConfiguration.class, value)); return true; case "kubernetesvaultconfiguration": case "kubernetesVaultConfiguration": target.setKubernetesVaultConfiguration(property(camelContext, org.apache.camel.vault.KubernetesVaultConfiguration.class, value)); return true; + case "namespace": target.setNamespace(property(camelContext, java.lang.String.class, value)); return true; case "port": target.setPort(property(camelContext, java.lang.String.class, value)); return true; case "scheme": target.setScheme(property(camelContext, java.lang.String.class, value)); return true; case "token": target.setToken(property(camelContext, java.lang.String.class, value)); return true; @@ -50,6 +52,7 @@ public class HashicorpVaultConfigurationConfigurer extends org.apache.camel.supp case "awsVaultConfiguration": return org.apache.camel.vault.AwsVaultConfiguration.class; case "azurevaultconfiguration": case "azureVaultConfiguration": return org.apache.camel.vault.AzureVaultConfiguration.class; + case "cloud": return boolean.class; case "gcpvaultconfiguration": case "gcpVaultConfiguration": return org.apache.camel.vault.GcpVaultConfiguration.class; case "hashicorpvaultconfiguration": @@ -59,6 +62,7 @@ public class HashicorpVaultConfigurationConfigurer extends org.apache.camel.supp case "kubernetesConfigMapVaultConfiguration": return org.apache.camel.vault.KubernetesConfigMapVaultConfiguration.class; case "kubernetesvaultconfiguration": case "kubernetesVaultConfiguration": return org.apache.camel.vault.KubernetesVaultConfiguration.class; + case "namespace": return java.lang.String.class; case "port": return java.lang.String.class; case "scheme": return java.lang.String.class; case "token": return java.lang.String.class; @@ -74,6 +78,7 @@ public class HashicorpVaultConfigurationConfigurer extends org.apache.camel.supp case "awsVaultConfiguration": return target.getAwsVaultConfiguration(); case "azurevaultconfiguration": case "azureVaultConfiguration": return target.getAzureVaultConfiguration(); + case "cloud": return target.isCloud(); case "gcpvaultconfiguration": case "gcpVaultConfiguration": return target.getGcpVaultConfiguration(); case "hashicorpvaultconfiguration": @@ -83,6 +88,7 @@ public class HashicorpVaultConfigurationConfigurer extends org.apache.camel.supp case "kubernetesConfigMapVaultConfiguration": return target.getKubernetesConfigMapVaultConfiguration(); case "kubernetesvaultconfiguration": case "kubernetesVaultConfiguration": return target.getKubernetesVaultConfiguration(); + case "namespace": return target.getNamespace(); case "port": return target.getPort(); case "scheme": return target.getScheme(); case "token": return target.getToken(); diff --git a/core/camel-main/src/generated/java/org/apache/camel/main/HashicorpVaultConfigurationPropertiesConfigurer.java b/core/camel-main/src/generated/java/org/apache/camel/main/HashicorpVaultConfigurationPropertiesConfigurer.java index 2143ce68bdb..c6be0369655 100644 --- a/core/camel-main/src/generated/java/org/apache/camel/main/HashicorpVaultConfigurationPropertiesConfigurer.java +++ b/core/camel-main/src/generated/java/org/apache/camel/main/HashicorpVaultConfigurationPropertiesConfigurer.java @@ -24,11 +24,13 @@ public class HashicorpVaultConfigurationPropertiesConfigurer extends org.apache. Map<String, Object> map = new CaseInsensitiveMap(); map.put("AwsVaultConfiguration", org.apache.camel.vault.AwsVaultConfiguration.class); map.put("AzureVaultConfiguration", org.apache.camel.vault.AzureVaultConfiguration.class); + map.put("Cloud", boolean.class); map.put("GcpVaultConfiguration", org.apache.camel.vault.GcpVaultConfiguration.class); map.put("HashicorpVaultConfiguration", org.apache.camel.vault.HashicorpVaultConfiguration.class); map.put("Host", java.lang.String.class); map.put("KubernetesConfigMapVaultConfiguration", org.apache.camel.vault.KubernetesConfigMapVaultConfiguration.class); map.put("KubernetesVaultConfiguration", org.apache.camel.vault.KubernetesVaultConfiguration.class); + map.put("Namespace", java.lang.String.class); map.put("Port", java.lang.String.class); map.put("Scheme", java.lang.String.class); map.put("Token", java.lang.String.class); @@ -43,6 +45,7 @@ public class HashicorpVaultConfigurationPropertiesConfigurer extends org.apache. case "awsVaultConfiguration": target.setAwsVaultConfiguration(property(camelContext, org.apache.camel.vault.AwsVaultConfiguration.class, value)); return true; case "azurevaultconfiguration": case "azureVaultConfiguration": target.setAzureVaultConfiguration(property(camelContext, org.apache.camel.vault.AzureVaultConfiguration.class, value)); return true; + case "cloud": target.setCloud(property(camelContext, boolean.class, value)); return true; case "gcpvaultconfiguration": case "gcpVaultConfiguration": target.setGcpVaultConfiguration(property(camelContext, org.apache.camel.vault.GcpVaultConfiguration.class, value)); return true; case "hashicorpvaultconfiguration": @@ -52,6 +55,7 @@ public class HashicorpVaultConfigurationPropertiesConfigurer extends org.apache. case "kubernetesConfigMapVaultConfiguration": target.setKubernetesConfigMapVaultConfiguration(property(camelContext, org.apache.camel.vault.KubernetesConfigMapVaultConfiguration.class, value)); return true; case "kubernetesvaultconfiguration": case "kubernetesVaultConfiguration": target.setKubernetesVaultConfiguration(property(camelContext, org.apache.camel.vault.KubernetesVaultConfiguration.class, value)); return true; + case "namespace": target.setNamespace(property(camelContext, java.lang.String.class, value)); return true; case "port": target.setPort(property(camelContext, java.lang.String.class, value)); return true; case "scheme": target.setScheme(property(camelContext, java.lang.String.class, value)); return true; case "token": target.setToken(property(camelContext, java.lang.String.class, value)); return true; @@ -71,6 +75,7 @@ public class HashicorpVaultConfigurationPropertiesConfigurer extends org.apache. case "awsVaultConfiguration": return org.apache.camel.vault.AwsVaultConfiguration.class; case "azurevaultconfiguration": case "azureVaultConfiguration": return org.apache.camel.vault.AzureVaultConfiguration.class; + case "cloud": return boolean.class; case "gcpvaultconfiguration": case "gcpVaultConfiguration": return org.apache.camel.vault.GcpVaultConfiguration.class; case "hashicorpvaultconfiguration": @@ -80,6 +85,7 @@ public class HashicorpVaultConfigurationPropertiesConfigurer extends org.apache. case "kubernetesConfigMapVaultConfiguration": return org.apache.camel.vault.KubernetesConfigMapVaultConfiguration.class; case "kubernetesvaultconfiguration": case "kubernetesVaultConfiguration": return org.apache.camel.vault.KubernetesVaultConfiguration.class; + case "namespace": return java.lang.String.class; case "port": return java.lang.String.class; case "scheme": return java.lang.String.class; case "token": return java.lang.String.class; @@ -95,6 +101,7 @@ public class HashicorpVaultConfigurationPropertiesConfigurer extends org.apache. case "awsVaultConfiguration": return target.getAwsVaultConfiguration(); case "azurevaultconfiguration": case "azureVaultConfiguration": return target.getAzureVaultConfiguration(); + case "cloud": return target.isCloud(); case "gcpvaultconfiguration": case "gcpVaultConfiguration": return target.getGcpVaultConfiguration(); case "hashicorpvaultconfiguration": @@ -104,6 +111,7 @@ public class HashicorpVaultConfigurationPropertiesConfigurer extends org.apache. case "kubernetesConfigMapVaultConfiguration": return target.getKubernetesConfigMapVaultConfiguration(); case "kubernetesvaultconfiguration": case "kubernetesVaultConfiguration": return target.getKubernetesVaultConfiguration(); + case "namespace": return target.getNamespace(); case "port": return target.getPort(); case "scheme": return target.getScheme(); case "token": return target.getToken(); diff --git a/core/camel-main/src/generated/resources/META-INF/camel-main-configuration-metadata.json b/core/camel-main/src/generated/resources/META-INF/camel-main-configuration-metadata.json index 1e74936c353..5d75bf53c2a 100644 --- a/core/camel-main/src/generated/resources/META-INF/camel-main-configuration-metadata.json +++ b/core/camel-main/src/generated/resources/META-INF/camel-main-configuration-metadata.json @@ -368,7 +368,9 @@ { "name": "camel.vault.gcp.serviceAccountKey", "description": "The Service Account Key location", "sourceType": "org.apache.camel.vault.GcpVaultConfiguration", "type": "string", "javaType": "java.lang.String" }, { "name": "camel.vault.gcp.subscriptionName", "description": "Define the Google Pubsub subscription Name to be used when checking for updates", "sourceType": "org.apache.camel.vault.GcpVaultConfiguration", "type": "string", "javaType": "java.lang.String" }, { "name": "camel.vault.gcp.useDefaultInstance", "description": "Define if we want to use the GCP Client Default Instance or not", "sourceType": "org.apache.camel.vault.GcpVaultConfiguration", "type": "boolean", "javaType": "boolean", "defaultValue": "false" }, + { "name": "camel.vault.hashicorp.cloud", "description": "Determine if the Hashicorp Vault is deployed on Hashicorp Cloud or not", "sourceType": "org.apache.camel.vault.HashicorpVaultConfiguration", "type": "boolean", "javaType": "boolean", "defaultValue": "false" }, { "name": "camel.vault.hashicorp.host", "description": "Host to access hashicorp vault", "sourceType": "org.apache.camel.vault.HashicorpVaultConfiguration", "type": "string", "javaType": "java.lang.String" }, + { "name": "camel.vault.hashicorp.namespace", "description": "If the Hashicorp Vault instance is deployed on Hashicorp Cloud, this field will determine the namespace", "sourceType": "org.apache.camel.vault.HashicorpVaultConfiguration", "type": "string", "javaType": "java.lang.String" }, { "name": "camel.vault.hashicorp.port", "description": "Port to access hashicorp vault", "sourceType": "org.apache.camel.vault.HashicorpVaultConfiguration", "type": "string", "javaType": "java.lang.String" }, { "name": "camel.vault.hashicorp.scheme", "description": "Scheme to access hashicorp vault", "sourceType": "org.apache.camel.vault.HashicorpVaultConfiguration", "type": "string", "javaType": "java.lang.String" }, { "name": "camel.vault.hashicorp.token", "description": "Token to access hashicorp vault", "sourceType": "org.apache.camel.vault.HashicorpVaultConfiguration", "type": "string", "javaType": "java.lang.String" }, diff --git a/core/camel-main/src/main/docs/main.adoc b/core/camel-main/src/main/docs/main.adoc index 1442307f556..b771efc13b8 100644 --- a/core/camel-main/src/main/docs/main.adoc +++ b/core/camel-main/src/main/docs/main.adoc @@ -451,12 +451,14 @@ The camel.vault.kubernetescm supports 2 options, which are listed below. === Camel Hashicorp Vault configurations -The camel.vault.hashicorp supports 4 options, which are listed below. +The camel.vault.hashicorp supports 6 options, which are listed below. [width="100%",cols="2,5,^1,2",options="header"] |=== | Name | Description | Default | Type +| *camel.vault.hashicorp.cloud* | Determine if the Hashicorp Vault is deployed on Hashicorp Cloud or not | false | boolean | *camel.vault.hashicorp.host* | Host to access hashicorp vault | | String +| *camel.vault.hashicorp.namespace* | If the Hashicorp Vault instance is deployed on Hashicorp Cloud, this field will determine the namespace | | String | *camel.vault.hashicorp.port* | Port to access hashicorp vault | | String | *camel.vault.hashicorp.scheme* | Scheme to access hashicorp vault | | String | *camel.vault.hashicorp.token* | Token to access hashicorp vault | | String diff --git a/core/camel-main/src/main/java/org/apache/camel/main/HashicorpVaultConfigurationProperties.java b/core/camel-main/src/main/java/org/apache/camel/main/HashicorpVaultConfigurationProperties.java index 28c874b544b..d11827dc915 100644 --- a/core/camel-main/src/main/java/org/apache/camel/main/HashicorpVaultConfigurationProperties.java +++ b/core/camel-main/src/main/java/org/apache/camel/main/HashicorpVaultConfigurationProperties.java @@ -21,7 +21,7 @@ import org.apache.camel.spi.Configurer; import org.apache.camel.vault.HashicorpVaultConfiguration; /** - * Configuration for access to AWS Secret. + * Configuration for access to Hashicorp Vault Secret. */ @Configurer(extended = true) public class HashicorpVaultConfigurationProperties extends HashicorpVaultConfiguration implements BootstrapCloseable { @@ -81,4 +81,20 @@ public class HashicorpVaultConfigurationProperties extends HashicorpVaultConfigu return this; } + /** + * The Hashicorp Vault Cloud deployment + */ + public HashicorpVaultConfigurationProperties withCloud(boolean cloud) { + setCloud(cloud); + return this; + } + + /** + * The Hashicorp Vault Cloud deployment Namespace + */ + public HashicorpVaultConfigurationProperties withNamespace(String namespace) { + setNamespace(namespace); + return this; + } + } diff --git a/core/camel-main/src/test/java/org/apache/camel/main/MainVaultTest.java b/core/camel-main/src/test/java/org/apache/camel/main/MainVaultTest.java index 9263fe788cc..8cf2ea348df 100644 --- a/core/camel-main/src/test/java/org/apache/camel/main/MainVaultTest.java +++ b/core/camel-main/src/test/java/org/apache/camel/main/MainVaultTest.java @@ -335,6 +335,34 @@ public class MainVaultTest { Assertions.assertEquals("localhost", cfg.getHost()); Assertions.assertEquals("8200", cfg.getPort()); Assertions.assertEquals("https", cfg.getScheme()); + Assertions.assertFalse(cfg.isCloud()); + Assertions.assertNull(cfg.getNamespace()); + main.stop(); + } + + public void testMainHashicorpWithCloud() { + Main main = new Main(); + + main.addInitialProperty("camel.vault.hashicorp.token", "1111"); + main.addInitialProperty("camel.vault.hashicorp.host", "localhost"); + main.addInitialProperty("camel.vault.hashicorp.port", "8200"); + main.addInitialProperty("camel.vault.hashicorp.scheme", "https"); + main.addInitialProperty("camel.vault.hashicorp.cloud", "true"); + main.addInitialProperty("camel.vault.hashicorp.namespace", "admin"); + main.start(); + + CamelContext context = main.getCamelContext(); + assertNotNull(context); + + HashicorpVaultConfiguration cfg = context.getVaultConfiguration().hashicorp(); + assertNotNull(cfg); + + Assertions.assertEquals("1111", cfg.getToken()); + Assertions.assertEquals("localhost", cfg.getHost()); + Assertions.assertEquals("8200", cfg.getPort()); + Assertions.assertEquals("https", cfg.getScheme()); + Assertions.assertTrue(cfg.isCloud()); + Assertions.assertEquals("admin", cfg.getNamespace()); main.stop(); }
