This is an automated email from the ASF dual-hosted git repository. ppalaga pushed a commit to branch 2.7.x in repository https://gitbox.apache.org/repos/asf/camel-quarkus.git
commit 174cba8c2fd8c41df88fe3bdf87c75e1aa9c7303 Author: Peter Palaga <[email protected]> AuthorDate: Wed Apr 20 03:57:51 2022 +0200 Ensure the S3 download link really works (#3734) --- .../component/aws2/s3/it/Aws2S3Resource.java | 2 +- .../quarkus/component/aws2/s3/it/Aws2S3Test.java | 28 +++++++++++++++++++--- 2 files changed, 26 insertions(+), 4 deletions(-) diff --git a/integration-test-groups/aws2/aws2-s3/src/main/java/org/apache/camel/quarkus/component/aws2/s3/it/Aws2S3Resource.java b/integration-test-groups/aws2/aws2-s3/src/main/java/org/apache/camel/quarkus/component/aws2/s3/it/Aws2S3Resource.java index 674aba4147..e2b9680254 100644 --- a/integration-test-groups/aws2/aws2-s3/src/main/java/org/apache/camel/quarkus/component/aws2/s3/it/Aws2S3Resource.java +++ b/integration-test-groups/aws2/aws2-s3/src/main/java/org/apache/camel/quarkus/component/aws2/s3/it/Aws2S3Resource.java @@ -235,7 +235,7 @@ public class Aws2S3Resource { } String link = producerTemplate.requestBodyAndHeader( - componentUri(bucket, AWS2S3Operations.createDownloadLink) + "&accessKey=xxx&secretKey=yyy®ion=eu-west-1", + componentUri(bucket, AWS2S3Operations.createDownloadLink), null, AWS2S3Constants.KEY, key, diff --git a/integration-test-groups/aws2/aws2-s3/src/test/java/org/apache/camel/quarkus/component/aws2/s3/it/Aws2S3Test.java b/integration-test-groups/aws2/aws2-s3/src/test/java/org/apache/camel/quarkus/component/aws2/s3/it/Aws2S3Test.java index fd81560af9..4cd2c26d85 100644 --- a/integration-test-groups/aws2/aws2-s3/src/test/java/org/apache/camel/quarkus/component/aws2/s3/it/Aws2S3Test.java +++ b/integration-test-groups/aws2/aws2-s3/src/test/java/org/apache/camel/quarkus/component/aws2/s3/it/Aws2S3Test.java @@ -16,6 +16,7 @@ */ package org.apache.camel.quarkus.component.aws2.s3.it; +import java.net.URI; import java.util.Locale; import java.util.UUID; import java.util.stream.Stream; @@ -292,12 +293,33 @@ class Aws2S3Test { // Create createObject(oid, blobContent); - // Download link - RestAssured.given() + // Get the download link + final String downloadLink = RestAssured.given() .contentType(ContentType.TEXT) .get("/aws2/s3/downloadlink/" + oid) .then() - .statusCode(200); + .statusCode(200) + .extract().body().asString(); + + final URI downloadUri = new URI(downloadLink); + + // Make sure that the download link works + // Note that localstack produces a real AWS link so when testing against localstack, + // the link won't work + final String realKey = System.getenv("AWS_ACCESS_KEY"); + final String realSecret = System.getenv("AWS_SECRET_KEY"); + final String realRegion = System.getenv("AWS_REGION"); + final boolean realCredentialsProvided = realKey != null && realSecret != null && realRegion != null; + if (realCredentialsProvided) { + RestAssured.given() + .log().all() + .contentType(ContentType.TEXT) + .port(downloadUri.getPort()) + .get(downloadLink) + .then() + .statusCode(200) + .body(is(blobContent)); + } } finally { // Delete
