Repository: james-project
Updated Branches:
  refs/heads/master 0e3ffde31 -> d78ea34ec


JAMES-2589 Encrypted Payload Configuration should work


Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/f454266f
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/f454266f
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/f454266f

Branch: refs/heads/master
Commit: f454266fa6a3eaac0812c3426782cc39c34e4876
Parents: eccab45
Author: tran tien duc <dt...@linagora.com>
Authored: Thu Nov 29 18:49:04 2018 +0700
Committer: Benoit Tellier <btell...@linagora.com>
Committed: Tue Dec 4 15:47:08 2018 +0700

----------------------------------------------------------------------
 .../ObjectStorageBlobConfiguration.java         |  4 ++++
 .../ObjectStorageDependenciesModule.java        |  8 +------
 .../james/CassandraRabbitMQJamesServerTest.java | 25 +++++++++-----------
 3 files changed, 16 insertions(+), 21 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/f454266f/server/container/guice/blob-objectstorage-guice/src/main/java/org/apache/james/modules/objectstorage/ObjectStorageBlobConfiguration.java
----------------------------------------------------------------------
diff --git 
a/server/container/guice/blob-objectstorage-guice/src/main/java/org/apache/james/modules/objectstorage/ObjectStorageBlobConfiguration.java
 
b/server/container/guice/blob-objectstorage-guice/src/main/java/org/apache/james/modules/objectstorage/ObjectStorageBlobConfiguration.java
index a58a8d9..7be4a96 100644
--- 
a/server/container/guice/blob-objectstorage-guice/src/main/java/org/apache/james/modules/objectstorage/ObjectStorageBlobConfiguration.java
+++ 
b/server/container/guice/blob-objectstorage-guice/src/main/java/org/apache/james/modules/objectstorage/ObjectStorageBlobConfiguration.java
@@ -26,6 +26,7 @@ import java.util.Optional;
 import org.apache.commons.configuration.Configuration;
 import org.apache.commons.configuration.ConfigurationException;
 import org.apache.james.blob.objectstorage.ContainerName;
+import org.apache.james.blob.objectstorage.PayloadCodec;
 import org.apache.james.blob.objectstorage.swift.SwiftKeystone2ObjectStorage;
 import org.apache.james.blob.objectstorage.swift.SwiftKeystone3ObjectStorage;
 import org.apache.james.blob.objectstorage.swift.SwiftTempAuthObjectStorage;
@@ -257,6 +258,9 @@ public class ObjectStorageBlobConfiguration {
         return payloadCodec;
     }
 
+    public PayloadCodec getPayloadCodec() {
+        return payloadCodec.create(this);
+    }
 
     public Optional<String> getAesSalt() {
         return aesSalt;

http://git-wip-us.apache.org/repos/asf/james-project/blob/f454266f/server/container/guice/blob-objectstorage-guice/src/main/java/org/apache/james/modules/objectstorage/ObjectStorageDependenciesModule.java
----------------------------------------------------------------------
diff --git 
a/server/container/guice/blob-objectstorage-guice/src/main/java/org/apache/james/modules/objectstorage/ObjectStorageDependenciesModule.java
 
b/server/container/guice/blob-objectstorage-guice/src/main/java/org/apache/james/modules/objectstorage/ObjectStorageDependenciesModule.java
index 4577159..0aeb26d 100644
--- 
a/server/container/guice/blob-objectstorage-guice/src/main/java/org/apache/james/modules/objectstorage/ObjectStorageDependenciesModule.java
+++ 
b/server/container/guice/blob-objectstorage-guice/src/main/java/org/apache/james/modules/objectstorage/ObjectStorageDependenciesModule.java
@@ -32,7 +32,6 @@ import org.apache.james.blob.api.BlobId;
 import org.apache.james.blob.api.HashBlobId;
 import org.apache.james.blob.objectstorage.ObjectStorageBlobsDAO;
 import org.apache.james.blob.objectstorage.ObjectStorageBlobsDAOBuilder;
-import org.apache.james.blob.objectstorage.PayloadCodec;
 import org.apache.james.blob.objectstorage.swift.SwiftKeystone2ObjectStorage;
 import org.apache.james.blob.objectstorage.swift.SwiftKeystone3ObjectStorage;
 import org.apache.james.blob.objectstorage.swift.SwiftTempAuthObjectStorage;
@@ -54,12 +53,6 @@ public class ObjectStorageDependenciesModule extends 
AbstractModule {
 
     @Provides
     @Singleton
-    private PayloadCodec buildPayloadCodec(ObjectStorageBlobConfiguration 
configuration) {
-        return configuration.getPayloadCodecFactory().create(configuration);
-    }
-
-    @Provides
-    @Singleton
     private ObjectStorageBlobConfiguration 
getObjectStorageConfiguration(PropertiesProvider propertiesProvider) throws 
ConfigurationException {
         try {
             Configuration configuration = 
propertiesProvider.getConfiguration(ConfigurationComponent.NAME);
@@ -75,6 +68,7 @@ public class ObjectStorageDependenciesModule extends 
AbstractModule {
         ObjectStorageBlobsDAO dao = selectDaoBuilder(configuration)
             .container(configuration.getNamespace())
             .blobIdFactory(blobIdFactory)
+            .payloadCodec(configuration.getPayloadCodec())
             .build();
         dao.createContainer(configuration.getNamespace()).get(1, 
TimeUnit.MINUTES);
         return dao;

http://git-wip-us.apache.org/repos/asf/james-project/blob/f454266f/server/container/guice/cassandra-rabbitmq-guice/src/test/java/org/apache/james/CassandraRabbitMQJamesServerTest.java
----------------------------------------------------------------------
diff --git 
a/server/container/guice/cassandra-rabbitmq-guice/src/test/java/org/apache/james/CassandraRabbitMQJamesServerTest.java
 
b/server/container/guice/cassandra-rabbitmq-guice/src/test/java/org/apache/james/CassandraRabbitMQJamesServerTest.java
index 61fe428..2ab287d 100644
--- 
a/server/container/guice/cassandra-rabbitmq-guice/src/test/java/org/apache/james/CassandraRabbitMQJamesServerTest.java
+++ 
b/server/container/guice/cassandra-rabbitmq-guice/src/test/java/org/apache/james/CassandraRabbitMQJamesServerTest.java
@@ -23,6 +23,7 @@ import static org.assertj.core.api.Assertions.assertThat;
 import static org.awaitility.Duration.ONE_HUNDRED_MILLISECONDS;
 import static org.junit.jupiter.api.TestInstance.Lifecycle;
 
+import org.apache.james.blob.objectstorage.AESPayloadCodec;
 import org.apache.james.blob.objectstorage.DefaultPayloadCodec;
 import org.apache.james.blob.objectstorage.PayloadCodec;
 import org.apache.james.core.Domain;
@@ -94,21 +95,18 @@ class CassandraRabbitMQJamesServerTest {
     @TestInstance(Lifecycle.PER_CLASS)
     class WithEncryptedSwift implements ContractSuite {
         @RegisterExtension
-        JamesServerExtension testExtension = new JamesServerExtensionBuilder()
-            .extension(new EmbeddedElasticSearchExtension())
-            .extension(new CassandraExtension())
-            .extension(new RabbitMQExtension())
+        JamesServerExtension testExtension = baseExtensionBuilder()
             .extension(new SwiftBlobStoreExtension(PayloadCodecFactory.AES256))
             .server(CONFIGURATION_BUILDER)
             .build();
 
         @Test
-        void 
encryptedPayloadShouldBeConfiguredWhenProvidingEncryptedPayloadConfigurationButNot(GuiceJamesServer
 jamesServer) {
+        void 
encryptedPayloadShouldBeConfiguredWhenProvidingEncryptedPayloadConfiguration(GuiceJamesServer
 jamesServer) {
             PayloadCodec payloadCodec = 
jamesServer.getProbe(DockerSwiftTestRule.TestSwiftBlobStoreProbe.class)
                 .getSwiftPayloadCodec();
 
             assertThat(payloadCodec)
-                .isInstanceOf(DefaultPayloadCodec.class);
+                .isInstanceOf(AESPayloadCodec.class);
         }
     }
 
@@ -116,12 +114,8 @@ class CassandraRabbitMQJamesServerTest {
     @TestInstance(Lifecycle.PER_CLASS)
     class WithDefaultSwift implements ContractSuite {
         @RegisterExtension
-        JamesServerExtension testExtension = new JamesServerExtensionBuilder()
-            .extension(new EmbeddedElasticSearchExtension())
-            .extension(new CassandraExtension())
-            .extension(new RabbitMQExtension())
+        JamesServerExtension testExtension = baseExtensionBuilder()
             .extension(new SwiftBlobStoreExtension())
-            .server(CONFIGURATION_BUILDER)
             .build();
 
         @Test
@@ -138,11 +132,14 @@ class CassandraRabbitMQJamesServerTest {
     @TestInstance(Lifecycle.PER_CLASS)
     class WithoutSwift implements ContractSuite {
         @RegisterExtension
-        JamesServerExtension testExtension = new JamesServerExtensionBuilder()
+        JamesServerExtension testExtension = baseExtensionBuilder().build();
+    }
+
+    private static JamesServerExtensionBuilder baseExtensionBuilder() {
+        return new JamesServerExtensionBuilder()
             .extension(new EmbeddedElasticSearchExtension())
             .extension(new CassandraExtension())
             .extension(new RabbitMQExtension())
-            .server(CONFIGURATION_BUILDER)
-            .build();
+            .server(CONFIGURATION_BUILDER);
     }
 }


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org
For additional commands, e-mail: server-dev-h...@james.apache.org

Reply via email to