nastra commented on code in PR #13118: URL: https://github.com/apache/iceberg/pull/13118#discussion_r2106651609
########## aws/src/integration/java/org/apache/iceberg/aws/s3/TestS3FileIO.java: ########## @@ -862,6 +919,110 @@ public void multipleStorageCredentialsConfigured() { s3FileIOProperties2 .extracting(S3FileIOProperties::sessionToken) .isEqualTo("sessionTokenFromCredential2"); + // verify that the credentials identity gets the correct credentials for the prefixed S3 client + assertThat(fileIO.client("s3://custom-uri/2").serviceClientConfiguration()) + .extracting(AwsServiceClientConfiguration::credentialsProvider) + .extracting(IdentityProvider::resolveIdentity) + .satisfies( + x -> { + AwsSessionCredentialsIdentity identity = (AwsSessionCredentialsIdentity) x.get(); + assertThat(identity).isNotNull(); + assertThat(identity.accessKeyId()).isEqualTo("keyIdFromCredential2"); + assertThat(identity.secretAccessKey()).isEqualTo("accessKeyFromCredential2"); + assertThat(identity.sessionToken()).isEqualTo("sessionTokenFromCredential2"); + }); + } + + @Test + public void noStorageCredentialConfiguredWithoutCredentialsInProperties() { + S3FileIO fileIO = new S3FileIO(); + fileIO.initialize(ImmutableMap.of("client.region", "us-east-1")); + + S3ServiceClientConfiguration actualConfiguration = fileIO.client().serviceClientConfiguration(); + assertThat(actualConfiguration).isNotNull(); + assertThatThrownBy(() -> actualConfiguration.credentialsProvider().resolveIdentity()) + .isInstanceOf(SdkClientException.class) + .hasMessageContaining("Unable to load credentials from any of the providers"); + } + + @Test + public void storageCredentialsConfiguredOverwriteCredentialsInProperties() Review Comment: this is already covered in existing tests -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: issues-unsubscr...@iceberg.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@iceberg.apache.org For additional commands, e-mail: issues-h...@iceberg.apache.org