Skip to content

Commit d7d00de

Browse files
authored
Fix S3 multipart SSE-C integration test broken by new S3 default bucket encryption behavior (#6850)
* unblock sse-c for the bucket for test * more fix to other test
1 parent e7976ca commit d7d00de

File tree

3 files changed

+27
-0
lines changed

3 files changed

+27
-0
lines changed

services/s3/src/it/java/software/amazon/awssdk/services/s3/ServerSideEncryptionIntegrationTestBase.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616

1717
import static org.assertj.core.api.Fail.fail;
1818
import static software.amazon.awssdk.services.s3.S3IntegrationTestBase.createBucket;
19+
import static software.amazon.awssdk.services.s3.model.ServerSideEncryption.AES256;
1920
import static software.amazon.awssdk.testutils.service.S3BucketUtils.temporaryBucketName;
2021

2122
import java.io.File;
@@ -25,6 +26,7 @@
2526
import org.junit.AfterClass;
2627
import org.junit.BeforeClass;
2728
import software.amazon.awssdk.services.kms.KmsClient;
29+
import software.amazon.awssdk.services.s3.model.EncryptionType;
2830
import software.amazon.awssdk.services.s3.model.ServerSideEncryption;
2931
import software.amazon.awssdk.testutils.RandomTempFile;
3032

@@ -48,6 +50,14 @@ public static void setupFixture() throws IOException {
4850
createBucket(BUCKET_WITH_SSE);
4951
keyId = KMS.createKey().keyMetadata().keyId();
5052

53+
// Since April 2026, new S3 buckets block SSE-C by default. Unblock it for SSE-C tests.
54+
s3.putBucketEncryption(r -> r
55+
.bucket(BUCKET)
56+
.serverSideEncryptionConfiguration(ssec -> ssec
57+
.rules(rule -> rule
58+
.applyServerSideEncryptionByDefault(d -> d.sseAlgorithm(AES256))
59+
.blockedEncryptionTypes(b -> b.encryptionType(EncryptionType.NONE)))));
60+
5161
s3.putBucketEncryption(r -> r
5262
.bucket(BUCKET_WITH_SSE)
5363
.serverSideEncryptionConfiguration(ssec -> ssec

services/s3/src/it/java/software/amazon/awssdk/services/s3/multipart/S3ClientMultiPartCopyIntegrationTest.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@
5050
import software.amazon.awssdk.services.s3.internal.multipart.MultipartS3AsyncClient;
5151
import software.amazon.awssdk.services.s3.model.ChecksumAlgorithm;
5252
import software.amazon.awssdk.services.s3.model.CopyObjectResponse;
53+
import software.amazon.awssdk.services.s3.model.EncryptionType;
5354
import software.amazon.awssdk.services.s3.model.GetObjectResponse;
5455
import software.amazon.awssdk.services.s3.model.MetadataDirective;
5556
import software.amazon.awssdk.utils.Md5Utils;
@@ -71,6 +72,14 @@ public class S3ClientMultiPartCopyIntegrationTest extends S3IntegrationTestBase
7172
public static void setUp() throws Exception {
7273
S3IntegrationTestBase.setUp();
7374
createBucket(BUCKET);
75+
76+
s3.putBucketEncryption(r -> r.bucket(BUCKET)
77+
.serverSideEncryptionConfiguration(c -> c.rules(
78+
rule -> rule.applyServerSideEncryptionByDefault(
79+
d -> d.sseAlgorithm(AES256))
80+
.blockedEncryptionTypes(
81+
b -> b.encryptionType(EncryptionType.NONE)))));
82+
7483
s3CrtAsyncClient = S3CrtAsyncClient.builder()
7584
.credentialsProvider(CREDENTIALS_PROVIDER_CHAIN)
7685
.region(DEFAULT_REGION)

services/s3/src/it/java/software/amazon/awssdk/services/s3/multipart/S3MultipartClientPutObjectIntegrationTest.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,7 @@
7878
import software.amazon.awssdk.services.s3.model.ChecksumMode;
7979
import software.amazon.awssdk.services.s3.model.CompleteMultipartUploadRequest;
8080
import software.amazon.awssdk.services.s3.model.CreateMultipartUploadRequest;
81+
import software.amazon.awssdk.services.s3.model.EncryptionType;
8182
import software.amazon.awssdk.services.s3.model.GetObjectRequest;
8283
import software.amazon.awssdk.services.s3.model.GetObjectResponse;
8384
import software.amazon.awssdk.services.s3.model.PutObjectRequest;
@@ -110,6 +111,13 @@ public static void setup() throws Exception {
110111
setUp();
111112
createBucket(TEST_BUCKET);
112113

114+
s3.putBucketEncryption(r -> r.bucket(TEST_BUCKET)
115+
.serverSideEncryptionConfiguration(c -> c.rules(
116+
rule -> rule.applyServerSideEncryptionByDefault(
117+
d -> d.sseAlgorithm(AES256))
118+
.blockedEncryptionTypes(
119+
b -> b.encryptionType(EncryptionType.NONE)))));
120+
113121
testFile = new RandomTempFile(OBJ_SIZE);
114122
bytes = Files.readAllBytes(testFile.toPath());
115123
expectedChecksum = ChecksumUtils.computeCheckSum(Files.newInputStream(testFile.toPath()));

0 commit comments

Comments
 (0)