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]

Reply via email to