Skip to content

Commit 417614c

Browse files
committed
Get test values from environment variables.
1 parent 69e193a commit 417614c

File tree

2 files changed

+19
-15
lines changed

2 files changed

+19
-15
lines changed

README.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,13 @@
22

33
This library provides an S3 client that supports client-side encryption.
44

5+
## Testing
6+
Integration tests are included. To test them, certain environment variables need to be set:
7+
8+
* `AWS_S3EC_TEST_BUCKET` - The bucket to write test values to
9+
* `AWS_S3EC_TEST_KMS_KEY_ID` - The key id for the KMS key used for KMS tests
10+
* `AWS_S3EC_TEST_KMS_REGION` - The region the KMS key resides e.g. us-east-1`
11+
512
## Migration
613

714
This version of the library supports reading encrypted objects from previous versions.

src/test/java/S3EncryptionClientTest.java

Lines changed: 12 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -39,12 +39,9 @@
3939

4040
public class S3EncryptionClientTest {
4141

42-
// TODO: make these dynamic
43-
private static final String BUCKET = "845853869857-s3-research";
44-
45-
private static final String KMS_MASTER_KEY = "e45015eb-1643-448f-9145-8ed4679138e4";
46-
47-
private static final Region KMS_REGION = Region.getRegion(Regions.US_EAST_2);
42+
private static final String BUCKET = System.getenv("AWS_S3EC_TEST_BUCKET");
43+
private static final String KMS_KEY_ID = System.getenv("AWS_S3EC_TEST_KMS_KEY_ID");
44+
private static final Region KMS_REGION = Region.getRegion(Regions.fromName(System.getenv("AWS_S3EC_TEST_KMS_REGION")));
4845

4946
private static SecretKey AES_KEY;
5047
private static KeyPair RSA_KEY_PAIR;
@@ -403,7 +400,7 @@ public void KmsV1toV3() {
403400
final String BUCKET_KEY = "kms-v1-to-v3";
404401

405402
// V1 Client
406-
EncryptionMaterialsProvider materialsProvider = new KMSEncryptionMaterialsProvider(KMS_MASTER_KEY);
403+
EncryptionMaterialsProvider materialsProvider = new KMSEncryptionMaterialsProvider(KMS_KEY_ID);
407404

408405
CryptoConfiguration v1Config =
409406
new CryptoConfiguration(CryptoMode.AuthenticatedEncryption)
@@ -416,7 +413,7 @@ public void KmsV1toV3() {
416413

417414
// V3 Client
418415
S3Client v3Client = S3EncryptionClient.builder()
419-
.kmsKeyId(KMS_MASTER_KEY)
416+
.kmsKeyId(KMS_KEY_ID)
420417
.enableLegacyModes(true)
421418
.build();
422419

@@ -436,15 +433,15 @@ public void KmsContextV2toV3() {
436433
final String BUCKET_KEY = "kms-context-v2-to-v3";
437434

438435
// V2 Client
439-
EncryptionMaterialsProvider materialsProvider = new KMSEncryptionMaterialsProvider(KMS_MASTER_KEY);
436+
EncryptionMaterialsProvider materialsProvider = new KMSEncryptionMaterialsProvider(KMS_KEY_ID);
440437

441438
AmazonS3EncryptionV2 v2Client = AmazonS3EncryptionClientV2.encryptionBuilder()
442439
.withEncryptionMaterialsProvider(materialsProvider)
443440
.build();
444441

445442
// V3 Client
446443
S3Client v3Client = S3EncryptionClient.builder()
447-
.kmsKeyId(KMS_MASTER_KEY)
444+
.kmsKeyId(KMS_KEY_ID)
448445
.enableLegacyModes(true)
449446
.build();
450447

@@ -473,7 +470,7 @@ public void KmsContextV3toV1() {
473470
final String BUCKET_KEY = "kms-context-v3-to-v1";
474471

475472
// V1 Client
476-
KMSEncryptionMaterials kmsMaterials = new KMSEncryptionMaterials(KMS_MASTER_KEY);
473+
KMSEncryptionMaterials kmsMaterials = new KMSEncryptionMaterials(KMS_KEY_ID);
477474
kmsMaterials.addDescription("user-metadata-key", "user-metadata-value-v3-to-v1");
478475
EncryptionMaterialsProvider materialsProvider = new KMSEncryptionMaterialsProvider(kmsMaterials);
479476

@@ -488,7 +485,7 @@ public void KmsContextV3toV1() {
488485

489486
// V3 Client
490487
S3Client v3Client = S3EncryptionClient.builder()
491-
.kmsKeyId(KMS_MASTER_KEY)
488+
.kmsKeyId(KMS_KEY_ID)
492489
.enableLegacyModes(true)
493490
.build();
494491

@@ -511,7 +508,7 @@ public void KmsContextV3toV2() throws IOException {
511508
final String BUCKET_KEY = "kms-context-v3-to-v2";
512509

513510
// V2 Client
514-
KMSEncryptionMaterials kmsMaterials = new KMSEncryptionMaterials(KMS_MASTER_KEY);
511+
KMSEncryptionMaterials kmsMaterials = new KMSEncryptionMaterials(KMS_KEY_ID);
515512
kmsMaterials.addDescription("user-metadata-key", "user-metadata-value-v3-to-v2");
516513
EncryptionMaterialsProvider materialsProvider = new KMSEncryptionMaterialsProvider(kmsMaterials);
517514

@@ -521,7 +518,7 @@ public void KmsContextV3toV2() throws IOException {
521518

522519
// V3 Client
523520
S3Client v3Client = S3EncryptionClient.builder()
524-
.kmsKeyId(KMS_MASTER_KEY)
521+
.kmsKeyId(KMS_KEY_ID)
525522
.enableLegacyModes(true)
526523
.build();
527524

@@ -546,7 +543,7 @@ public void KmsContextV3toV3() {
546543

547544
// V3 Client
548545
S3Client v3Client = S3EncryptionClient.builder()
549-
.kmsKeyId(KMS_MASTER_KEY)
546+
.kmsKeyId(KMS_KEY_ID)
550547
.enableLegacyModes(true)
551548
.build();
552549

0 commit comments

Comments
 (0)