From 5989fa22de851ff5f7e88db713c86d071edf7444 Mon Sep 17 00:00:00 2001 From: Pablo Arteaga Date: Tue, 4 Jun 2024 10:14:51 +0200 Subject: [PATCH] Rebase --- .../proxy/server/TestRemoteSessionProxiedRequests.java | 2 +- .../s3/proxy/server/credentials/TestAssumingRoles.java | 2 +- .../proxy/server/testing/TestingS3ClientProvider.java | 10 ++++------ .../io/trino/s3/proxy/server/testing/TestingUtil.java | 4 +--- 4 files changed, 7 insertions(+), 11 deletions(-) diff --git a/trino-s3-proxy/src/test/java/io/trino/s3/proxy/server/TestRemoteSessionProxiedRequests.java b/trino-s3-proxy/src/test/java/io/trino/s3/proxy/server/TestRemoteSessionProxiedRequests.java index 80744e40..8b3cd100 100644 --- a/trino-s3-proxy/src/test/java/io/trino/s3/proxy/server/TestRemoteSessionProxiedRequests.java +++ b/trino-s3-proxy/src/test/java/io/trino/s3/proxy/server/TestRemoteSessionProxiedRequests.java @@ -41,7 +41,7 @@ private static S3Client buildInternalClient(Credentials credentials, TestingHttp { AwsBasicCredentials awsBasicCredentials = AwsBasicCredentials.create(credentials.emulated().accessKey(), credentials.emulated().secretKey()); - return clientBuilder(httpServer) + return clientBuilder(httpServer.getBaseUrl()) .credentialsProvider(() -> awsBasicCredentials) .build(); } diff --git a/trino-s3-proxy/src/test/java/io/trino/s3/proxy/server/credentials/TestAssumingRoles.java b/trino-s3-proxy/src/test/java/io/trino/s3/proxy/server/credentials/TestAssumingRoles.java index 4212a220..55f78043 100644 --- a/trino-s3-proxy/src/test/java/io/trino/s3/proxy/server/credentials/TestAssumingRoles.java +++ b/trino-s3-proxy/src/test/java/io/trino/s3/proxy/server/credentials/TestAssumingRoles.java @@ -62,7 +62,7 @@ public void testStsSession() EmulatedAssumedRole emulatedAssumedRole = credentialsController.assumeEmulatedRole(testingCredentials.emulated(), "us-east-1", ARN, Optional.empty(), Optional.empty(), Optional.empty()) .orElseThrow(() -> new RuntimeException("Failed to assume role")); - try (S3Client client = clientBuilder(httpServer) + try (S3Client client = clientBuilder(httpServer.getBaseUrl()) .credentialsProvider(() -> AwsSessionCredentials.create(emulatedAssumedRole.credential().accessKey(), emulatedAssumedRole.credential().secretKey(), emulatedAssumedRole.session())) .build()) { // valid assumed role session - should work diff --git a/trino-s3-proxy/src/test/java/io/trino/s3/proxy/server/testing/TestingS3ClientProvider.java b/trino-s3-proxy/src/test/java/io/trino/s3/proxy/server/testing/TestingS3ClientProvider.java index aaf03fb8..fdbfb9a5 100644 --- a/trino-s3-proxy/src/test/java/io/trino/s3/proxy/server/testing/TestingS3ClientProvider.java +++ b/trino-s3-proxy/src/test/java/io/trino/s3/proxy/server/testing/TestingS3ClientProvider.java @@ -19,6 +19,7 @@ import io.airlift.http.server.testing.TestingHttpServer; import io.trino.s3.proxy.server.credentials.Credential; import io.trino.s3.proxy.server.credentials.Credentials; +import io.trino.s3.proxy.server.rest.TrinoS3ProxyResource; import io.trino.s3.proxy.server.testing.TestingUtil.ForTesting; import jakarta.ws.rs.core.UriBuilder; import software.amazon.awssdk.auth.credentials.AwsBasicCredentials; @@ -41,7 +42,6 @@ public class TestingS3ClientProvider { private final URI proxyUri; private final Credential testingCredentials; - private final TestingHttpServer httpServer; private final boolean forcePathStyle; @Retention(RUNTIME) @@ -50,11 +50,9 @@ public class TestingS3ClientProvider public @interface ForS3ClientProvider {} @Inject - public TestingS3ClientProvider(TestingTrinoS3ProxyServer trinoS3ProxyServer, TestingHttpServer testingHttpServer, @ForTesting Credentials testingCredentials, @ForS3ClientProvider Optional hostName) + public TestingS3ClientProvider(TestingHttpServer httpServer, @ForTesting Credentials testingCredentials, @ForS3ClientProvider Optional hostName) { - // TODO below - httpServer = testingHttpServer; - URI localProxyServerUri = trinoS3ProxyServer.getInjector().getInstance(TestingHttpServer.class).getBaseUrl(); + URI localProxyServerUri = httpServer.getBaseUrl(); this.proxyUri = requireNonNull(hostName, "hostName is null") .map(serverHostName -> UriBuilder.newInstance().host(serverHostName).port(localProxyServerUri.getPort()).scheme("http").path(TrinoS3ProxyResource.class).build()) .orElse(UriBuilder.fromUri(localProxyServerUri).path(TrinoS3ProxyResource.class).build()); @@ -67,7 +65,7 @@ public S3Client get() { AwsBasicCredentials awsBasicCredentials = AwsBasicCredentials.create(testingCredentials.accessKey(), testingCredentials.secretKey()); - return clientBuilder(httpServer) + return clientBuilder(proxyUri) .credentialsProvider(() -> awsBasicCredentials) .forcePathStyle(forcePathStyle) .build(); diff --git a/trino-s3-proxy/src/test/java/io/trino/s3/proxy/server/testing/TestingUtil.java b/trino-s3-proxy/src/test/java/io/trino/s3/proxy/server/testing/TestingUtil.java index 9a2e674f..c33e1a5b 100644 --- a/trino-s3-proxy/src/test/java/io/trino/s3/proxy/server/testing/TestingUtil.java +++ b/trino-s3-proxy/src/test/java/io/trino/s3/proxy/server/testing/TestingUtil.java @@ -14,7 +14,6 @@ package io.trino.s3.proxy.server.testing; import com.google.inject.BindingAnnotation; -import io.airlift.http.server.testing.TestingHttpServer; import io.trino.s3.proxy.server.credentials.Credential; import io.trino.s3.proxy.server.credentials.Credentials; import io.trino.s3.proxy.server.rest.TrinoS3ProxyRestConstants; @@ -46,9 +45,8 @@ public final class TestingUtil @BindingAnnotation public @interface ForTesting {} - public static S3ClientBuilder clientBuilder(TestingHttpServer httpServer) + public static S3ClientBuilder clientBuilder(URI baseUrl) { - URI baseUrl = httpServer.getBaseUrl(); URI localProxyServerUri = baseUrl.resolve(TrinoS3ProxyRestConstants.S3_PATH); return S3Client.builder()