diff --git a/hadoop-tools/hadoop-aws/src/test/java/org/apache/hadoop/fs/s3a/AbstractTestS3AEncryption.java b/hadoop-tools/hadoop-aws/src/test/java/org/apache/hadoop/fs/s3a/AbstractTestS3AEncryption.java index d5778060020..828eb5127cb 100644 --- a/hadoop-tools/hadoop-aws/src/test/java/org/apache/hadoop/fs/s3a/AbstractTestS3AEncryption.java +++ b/hadoop-tools/hadoop-aws/src/test/java/org/apache/hadoop/fs/s3a/AbstractTestS3AEncryption.java @@ -78,8 +78,16 @@ public abstract class AbstractTestS3AEncryption extends AbstractS3ATestBase { 0, 1, 2, 3, 4, 5, 254, 255, 256, 257, 2 ^ 12 - 1 }; + /** + * Skips the tests if encryption is not enabled in configuration. + * + * @implNote We can use {@link #createConfiguration()} here since + * it does not depend on any per-bucket based configuration. + * Otherwise, we would need to grab the configuration from an + * instance of {@link S3AFileSystem}. + */ protected void requireEncryptedFileSystem() { - skipIfEncryptionTestsDisabled(getFileSystem().getConf()); + skipIfEncryptionTestsDisabled(createConfiguration()); } /** @@ -91,8 +99,8 @@ public abstract class AbstractTestS3AEncryption extends AbstractS3ATestBase { @Override public void setup() throws Exception { try { - super.setup(); requireEncryptedFileSystem(); + super.setup(); } catch (AccessDeniedException e) { skip("Bucket does not allow " + getSSEAlgorithm() + " encryption method"); }