Skip to content

Commit 816a379

Browse files
committed
Allow configuring S3 endpoint in tests
This is useful when testing manually against Dell ECS or other S3 compatible storage solution.
1 parent eb7ffab commit 816a379

File tree

1 file changed

+12
-0
lines changed

1 file changed

+12
-0
lines changed

lib/trino-filesystem-s3/src/test/java/io/trino/filesystem/s3/TestS3FileSystemAwsS3.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,11 @@
2828
import software.amazon.awssdk.services.s3.model.PutObjectRequest;
2929

3030
import java.io.IOException;
31+
import java.net.URI;
3132
import java.util.List;
3233

3334
import static com.google.common.collect.Iterables.getOnlyElement;
35+
import static io.trino.testing.SystemEnvironmentUtils.isEnvSet;
3436
import static io.trino.testing.SystemEnvironmentUtils.requireEnv;
3537
import static org.assertj.core.api.Assertions.assertThat;
3638

@@ -41,6 +43,7 @@ public class TestS3FileSystemAwsS3
4143
private String secretKey;
4244
private String region;
4345
private String bucket;
46+
private String endpoint;
4447

4548
@Override
4649
protected void initEnvironment()
@@ -50,6 +53,13 @@ protected void initEnvironment()
5053
region = requireEnv("AWS_REGION");
5154

5255
bucket = requireEnv("EMPTY_S3_BUCKET");
56+
57+
if (isEnvSet("AWS_ENDPOINT")) {
58+
endpoint = requireEnv("AWS_ENDPOINT");
59+
}
60+
else {
61+
endpoint = "https://s3." + region + ".amazonaws.com";
62+
}
5363
}
5464

5565
@Override
@@ -66,6 +76,7 @@ protected S3Client createS3Client()
6676
.region(Region.of(region))
6777
.responseChecksumValidation(ResponseChecksumValidation.WHEN_REQUIRED)
6878
.requestChecksumCalculation(RequestChecksumCalculation.WHEN_REQUIRED)
79+
.endpointOverride(URI.create(endpoint))
6980
.build();
7081
}
7182

@@ -76,6 +87,7 @@ protected S3FileSystemFactory createS3FileSystemFactory()
7687
.setAwsAccessKey(accessKey)
7788
.setAwsSecretKey(secretKey)
7889
.setRegion(region)
90+
.setEndpoint(endpoint)
7991
.setSupportsExclusiveCreate(true)
8092
.setStreamingPartSize(DataSize.valueOf("5.5MB")), new S3FileSystemStats());
8193
}

0 commit comments

Comments
 (0)