JAMES-2525 Updates cucumber swift singleto to support encryption
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/37d33c28 Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/37d33c28 Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/37d33c28 Branch: refs/heads/master Commit: 37d33c289803e6bc86719ae2a11b267b60ec233f Parents: 7eb3811 Author: Jean Helou <[email protected]> Authored: Fri Oct 5 13:59:33 2018 +0200 Committer: Benoit Tellier <[email protected]> Committed: Wed Oct 31 08:48:47 2018 +0700 ---------------------------------------------------------------------- .../modules/objectstorage/PayloadCodecs.java | 4 ++-- .../objectstorage/guice/DockerSwiftTestRule.java | 18 ++++++++++++++++++ .../cucumber/CucumberSwiftSingleton.java | 3 ++- 3 files changed, 22 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/james-project/blob/37d33c28/server/container/guice/blob-objectstorage-guice/src/main/java/org/apache/james/modules/objectstorage/PayloadCodecs.java ---------------------------------------------------------------------- diff --git a/server/container/guice/blob-objectstorage-guice/src/main/java/org/apache/james/modules/objectstorage/PayloadCodecs.java b/server/container/guice/blob-objectstorage-guice/src/main/java/org/apache/james/modules/objectstorage/PayloadCodecs.java index 3e468ed..36e0d15 100644 --- a/server/container/guice/blob-objectstorage-guice/src/main/java/org/apache/james/modules/objectstorage/PayloadCodecs.java +++ b/server/container/guice/blob-objectstorage-guice/src/main/java/org/apache/james/modules/objectstorage/PayloadCodecs.java @@ -50,8 +50,8 @@ public enum PayloadCodecs { } }; - private static final String OBJECTSTORAGE_AES256_HEXSALT = "objectstorage.aes256.hexsalt"; - private static final String OBJECTSTORAGE_AES256_PASSWORD = "objectstorage.aes256.password"; + public static final String OBJECTSTORAGE_AES256_HEXSALT = "objectstorage.aes256.hexsalt"; + public static final String OBJECTSTORAGE_AES256_PASSWORD = "objectstorage.aes256.password"; public abstract PayloadCodec codec(Configuration configuration); http://git-wip-us.apache.org/repos/asf/james-project/blob/37d33c28/server/container/guice/blob-objectstorage-guice/src/test/java/org/apache/james/modules/objectstorage/guice/DockerSwiftTestRule.java ---------------------------------------------------------------------- diff --git a/server/container/guice/blob-objectstorage-guice/src/test/java/org/apache/james/modules/objectstorage/guice/DockerSwiftTestRule.java b/server/container/guice/blob-objectstorage-guice/src/test/java/org/apache/james/modules/objectstorage/guice/DockerSwiftTestRule.java index ac5c459..04c7b03 100644 --- a/server/container/guice/blob-objectstorage-guice/src/test/java/org/apache/james/modules/objectstorage/guice/DockerSwiftTestRule.java +++ b/server/container/guice/blob-objectstorage-guice/src/test/java/org/apache/james/modules/objectstorage/guice/DockerSwiftTestRule.java @@ -19,17 +19,22 @@ package org.apache.james.modules.objectstorage.guice; +import java.util.HashMap; +import java.util.Map; import java.util.UUID; +import org.apache.commons.configuration.MapConfiguration; import org.apache.james.GuiceModuleTestRule; import org.apache.james.blob.api.BlobStore; import org.apache.james.blob.api.HashBlobId; import org.apache.james.blob.objectstorage.ContainerName; import org.apache.james.blob.objectstorage.ObjectStorageBlobsDAO; +import org.apache.james.blob.objectstorage.PayloadCodec; import org.apache.james.blob.objectstorage.swift.Credentials; import org.apache.james.blob.objectstorage.swift.SwiftKeystone2ObjectStorage; import org.apache.james.blob.objectstorage.swift.TenantName; import org.apache.james.blob.objectstorage.swift.UserName; +import org.apache.james.modules.objectstorage.PayloadCodecs; import org.junit.runner.Description; import org.junit.runners.model.Statement; import org.testcontainers.containers.GenericContainer; @@ -42,6 +47,18 @@ public class DockerSwiftTestRule implements GuiceModuleTestRule { private org.apache.james.blob.objectstorage.DockerSwiftRule swiftContainer = new org.apache.james.blob.objectstorage.DockerSwiftRule(); + private final PayloadCodec payloadCodec; + + public DockerSwiftTestRule() { + this(PayloadCodecs.DEFAULT); + } + + public DockerSwiftTestRule(PayloadCodecs payloadCodec) { + Map<String, Object> payloadCodecConfig = new HashMap<>(); + payloadCodecConfig.put(PayloadCodecs.OBJECTSTORAGE_AES256_HEXSALT, "c603a7327ee3dcbc031d8d34b1096c605feca5e1"); + payloadCodecConfig.put(PayloadCodecs.OBJECTSTORAGE_AES256_PASSWORD, "dockerSwiftEncryption"); + this.payloadCodec = payloadCodec.codec(new MapConfiguration(payloadCodecConfig)); + } @Override public Statement apply(Statement base, Description description) { @@ -65,6 +82,7 @@ public class DockerSwiftTestRule implements GuiceModuleTestRule { ObjectStorageBlobsDAO dao = SwiftKeystone2ObjectStorage.daoBuilder(configuration) .blobIdFactory(new HashBlobId.Factory()) .container(containerName) + .payloadCodec(payloadCodec) .build(); Throwing.supplier(() -> dao.createContainer(containerName).get()).sneakyThrow().get(); http://git-wip-us.apache.org/repos/asf/james-project/blob/37d33c28/server/protocols/jmap-integration-testing/cassandra-jmap-integration-testing/src/test/java/org/apache/james/jmap/cassandra/cucumber/CucumberSwiftSingleton.java ---------------------------------------------------------------------- diff --git a/server/protocols/jmap-integration-testing/cassandra-jmap-integration-testing/src/test/java/org/apache/james/jmap/cassandra/cucumber/CucumberSwiftSingleton.java b/server/protocols/jmap-integration-testing/cassandra-jmap-integration-testing/src/test/java/org/apache/james/jmap/cassandra/cucumber/CucumberSwiftSingleton.java index e4afe6b..6a4eb04 100644 --- a/server/protocols/jmap-integration-testing/cassandra-jmap-integration-testing/src/test/java/org/apache/james/jmap/cassandra/cucumber/CucumberSwiftSingleton.java +++ b/server/protocols/jmap-integration-testing/cassandra-jmap-integration-testing/src/test/java/org/apache/james/jmap/cassandra/cucumber/CucumberSwiftSingleton.java @@ -18,10 +18,11 @@ ****************************************************************/ package org.apache.james.jmap.cassandra.cucumber; +import org.apache.james.modules.objectstorage.PayloadCodecs; import org.apache.james.modules.objectstorage.guice.DockerSwiftTestRule; public class CucumberSwiftSingleton { public static DockerSwiftTestRule swiftServer = new DockerSwiftTestRule(); - + public static DockerSwiftTestRule encryptedSwiftServer = new DockerSwiftTestRule(PayloadCodecs.AES256); } --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
