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 5d1ddc37c326bc848f127e0d0bce303c1e95cfd4 Author: Andrea Cosentino <[email protected]> AuthorDate: Mon Mar 15 11:24:54 2021 +0100 CAMEL-16323 - Create a Camel-AWS-Secret-Manager component - getSecret operation --- .../aws/secretsmanager/SecretsManagerProducer.java | 78 ++++++++++------------ ...etsManagerGetSecretProducerIntegrationTest.java | 3 +- 2 files changed, 38 insertions(+), 43 deletions(-) diff --git a/components/camel-aws/camel-aws-secrets-manager/src/main/java/org/apache/camel/component/aws/secretsmanager/SecretsManagerProducer.java b/components/camel-aws/camel-aws-secrets-manager/src/main/java/org/apache/camel/component/aws/secretsmanager/SecretsManagerProducer.java index ffffc3f..3bed29a 100644 --- a/components/camel-aws/camel-aws-secrets-manager/src/main/java/org/apache/camel/component/aws/secretsmanager/SecretsManagerProducer.java +++ b/components/camel-aws/camel-aws-secrets-manager/src/main/java/org/apache/camel/component/aws/secretsmanager/SecretsManagerProducer.java @@ -70,8 +70,8 @@ public class SecretsManagerProducer extends DefaultProducer { } private SecretsManagerOperations determineOperation(Exchange exchange) { - SecretsManagerOperations operation - = exchange.getIn().getHeader(SecretsManagerConstants.OPERATION, SecretsManagerOperations.class); + SecretsManagerOperations operation = exchange.getIn().getHeader(SecretsManagerConstants.OPERATION, + SecretsManagerOperations.class); if (operation == null) { operation = getConfiguration().getOperation(); } @@ -85,8 +85,8 @@ public class SecretsManagerProducer extends DefaultProducer { @Override public String toString() { if (secretsManagerProducerToString == null) { - secretsManagerProducerToString - = "SecretsManagerProducer[" + URISupport.sanitizeUri(getEndpoint().getEndpointUri()) + "]"; + secretsManagerProducerToString = "SecretsManagerProducer[" + + URISupport.sanitizeUri(getEndpoint().getEndpointUri()) + "]"; } return secretsManagerProducerToString; } @@ -96,7 +96,8 @@ public class SecretsManagerProducer extends DefaultProducer { return (SecretsManagerEndpoint) super.getEndpoint(); } - private void listSecrets(SecretsManagerClient secretsManagerClient, Exchange exchange) throws InvalidPayloadException { + private void listSecrets(SecretsManagerClient secretsManagerClient, Exchange exchange) + throws InvalidPayloadException { if (getConfiguration().isPojoRequest()) { Object payload = exchange.getIn().getMandatoryBody(); if (payload instanceof ListSecretsRequest) { @@ -130,52 +131,47 @@ public class SecretsManagerProducer extends DefaultProducer { } } - private void createSecret(SecretsManagerClient secretsManagerClient, Exchange exchange) throws InvalidPayloadException { + private void createSecret(SecretsManagerClient secretsManagerClient, Exchange exchange) + throws InvalidPayloadException { + CreateSecretRequest request = null; + CreateSecretResponse result; if (getConfiguration().isPojoRequest()) { Object payload = exchange.getIn().getMandatoryBody(); if (payload instanceof CreateSecretRequest) { - CreateSecretResponse result; - try { - CreateSecretRequest request = (CreateSecretRequest) payload; - result = secretsManagerClient.createSecret(request); - } catch (AwsServiceException ase) { - LOG.trace("Create Secret command returned the error code {}", ase.awsErrorDetails().errorCode()); - throw ase; - } - Message message = getMessageForResponse(exchange); - message.setBody(result); + request = (CreateSecretRequest) payload; } } else { CreateSecretRequest.Builder builder = CreateSecretRequest.builder(); - CreateSecretResponse result; - try { - String payload = exchange.getIn().getMandatoryBody(String.class); - if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(SecretsManagerConstants.SECRET_NAME))) { - String secretName = exchange.getIn().getHeader(SecretsManagerConstants.SECRET_NAME, String.class); - builder.name(secretName); - } else { - throw new IllegalArgumentException("Secret Name must be specified"); - } - if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(SecretsManagerConstants.SECRET_DESCRIPTION))) { - String descr = exchange.getIn().getHeader(SecretsManagerConstants.SECRET_DESCRIPTION, String.class); - builder.description(descr); - } - if (getConfiguration().isBinaryPayload()) { - builder.secretBinary(SdkBytes.fromUtf8String(Base64.getEncoder().encodeToString(payload.getBytes()))); - } else { - builder.secretString((String) payload); - } - result = secretsManagerClient.createSecret(builder.build()); - } catch (AwsServiceException ase) { - LOG.trace("Create Secret command returned the error code {}", ase.awsErrorDetails().errorCode()); - throw ase; + String payload = exchange.getIn().getMandatoryBody(String.class); + if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(SecretsManagerConstants.SECRET_NAME))) { + String secretName = exchange.getIn().getHeader(SecretsManagerConstants.SECRET_NAME, String.class); + builder.name(secretName); + } else { + throw new IllegalArgumentException("Secret Name must be specified"); } - Message message = getMessageForResponse(exchange); - message.setBody(result); + if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(SecretsManagerConstants.SECRET_DESCRIPTION))) { + String descr = exchange.getIn().getHeader(SecretsManagerConstants.SECRET_DESCRIPTION, String.class); + builder.description(descr); + } + if (getConfiguration().isBinaryPayload()) { + builder.secretBinary(SdkBytes.fromUtf8String(Base64.getEncoder().encodeToString(payload.getBytes()))); + } else { + builder.secretString((String) payload); + } + request = builder.build(); + } + try { + result = secretsManagerClient.createSecret(request); + } catch (AwsServiceException ase) { + LOG.trace("Create Secret command returned the error code {}", ase.awsErrorDetails().errorCode()); + throw ase; } + Message message = getMessageForResponse(exchange); + message.setBody(result); } - private void getSecret(SecretsManagerClient secretsManagerClient, Exchange exchange) throws InvalidPayloadException { + private void getSecret(SecretsManagerClient secretsManagerClient, Exchange exchange) + throws InvalidPayloadException { if (getConfiguration().isPojoRequest()) { Object payload = exchange.getIn().getMandatoryBody(); if (payload instanceof GetSecretValueRequest) { diff --git a/components/camel-aws/camel-aws-secrets-manager/src/test/java/org/apache/camel/component/aws/secretsmanager/integration/SecretsManagerGetSecretProducerIntegrationTest.java b/components/camel-aws/camel-aws-secrets-manager/src/test/java/org/apache/camel/component/aws/secretsmanager/integration/SecretsManagerGetSecretProducerIntegrationTest.java index e031c60..2744ef3 100644 --- a/components/camel-aws/camel-aws-secrets-manager/src/test/java/org/apache/camel/component/aws/secretsmanager/integration/SecretsManagerGetSecretProducerIntegrationTest.java +++ b/components/camel-aws/camel-aws-secrets-manager/src/test/java/org/apache/camel/component/aws/secretsmanager/integration/SecretsManagerGetSecretProducerIntegrationTest.java @@ -23,12 +23,11 @@ import org.apache.camel.builder.RouteBuilder; import org.apache.camel.component.aws.secretsmanager.SecretsManagerConstants; import org.apache.camel.component.mock.MockEndpoint; import org.apache.camel.test.junit5.CamelTestSupport; -import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.assertNotNull; -@Disabled("This test must be manually started, you need to specify AWS Credentials") +//@Disabled("This test must be manually started, you need to specify AWS Credentials") public class SecretsManagerGetSecretProducerIntegrationTest extends CamelTestSupport { @EndpointInject("mock:result")
