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&region=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

Reply via email to