You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by rc...@apache.org on 2020/03/18 03:03:45 UTC
[james-project] 12/15: JAMES-3078 Guice bindings
This is an automated email from the ASF dual-hosted git repository.
rcordier pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/james-project.git
commit bf134912405a2125b57b0e51b6335158b3fba2d7
Author: Rene Cordier <rc...@linagora.com>
AuthorDate: Wed Mar 11 13:57:13 2020 +0700
JAMES-3078 Guice bindings
s/JMAPConfiguration/JMAPDraftConfiguration
---
.../apache/james/MemoryJmapJamesServerTest.java | 10 ++---
.../apache/james/jmap/draft/JMAPCommonModule.java | 6 ++-
.../jmap/draft/JMAPConfigurationStartUpCheck.java | 4 +-
.../org/apache/james/jmap/draft/JMAPModule.java | 28 +++++++++---
.../apache/james/jmap/draft/JmapGuiceProbe.java | 1 +
.../modules/protocols/JMAPDraftServerModule.java | 16 +++++--
.../apache/james/modules/TestJMAPServerModule.java | 21 ++++++---
server/pom.xml | 1 +
...figuration.java => JMAPDraftConfiguration.java} | 26 +++--------
.../james/jmap/draft/crypto/SecurityKeyLoader.java | 14 +++---
...onTest.java => JMAPDraftConfigurationTest.java} | 50 +++++-----------------
.../draft/crypto/JamesSignatureHandlerFixture.java | 6 +--
.../jmap/draft/crypto/SecurityKeyLoaderTest.java | 20 ++++-----
13 files changed, 99 insertions(+), 104 deletions(-)
diff --git a/server/container/guice/memory-guice/src/test/java/org/apache/james/MemoryJmapJamesServerTest.java b/server/container/guice/memory-guice/src/test/java/org/apache/james/MemoryJmapJamesServerTest.java
index 17198e7..a58428b 100644
--- a/server/container/guice/memory-guice/src/test/java/org/apache/james/MemoryJmapJamesServerTest.java
+++ b/server/container/guice/memory-guice/src/test/java/org/apache/james/MemoryJmapJamesServerTest.java
@@ -23,8 +23,8 @@ import static org.apache.james.jmap.draft.JmapJamesServerContract.DOMAIN_LIST_CO
import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.assertThatThrownBy;
-import org.apache.james.jmap.draft.JMAPConfiguration;
import org.apache.james.jmap.draft.JMAPConfigurationStartUpCheck;
+import org.apache.james.jmap.draft.JMAPDraftConfiguration;
import org.apache.james.jmap.draft.JmapJamesServerContract;
import org.apache.james.modules.TestJMAPServerModule;
import org.junit.jupiter.api.Nested;
@@ -56,9 +56,9 @@ class MemoryJmapJamesServerTest {
@RegisterExtension
JamesServerExtension jamesServerExtension = extensionBuilder()
.disableAutoStart()
- .overrideServerModule(binder -> binder.bind(JMAPConfiguration.class)
+ .overrideServerModule(binder -> binder.bind(JMAPDraftConfiguration.class)
.toInstance(TestJMAPServerModule
- .jmapConfigurationBuilder()
+ .jmapDraftConfigurationBuilder()
.keystore("badAliasKeystore")
.secret("password")
.build()))
@@ -81,9 +81,9 @@ class MemoryJmapJamesServerTest {
@RegisterExtension
JamesServerExtension jamesServerExtension = extensionBuilder()
.disableAutoStart()
- .overrideServerModule(binder -> binder.bind(JMAPConfiguration.class)
+ .overrideServerModule(binder -> binder.bind(JMAPDraftConfiguration.class)
.toInstance(TestJMAPServerModule
- .jmapConfigurationBuilder()
+ .jmapDraftConfigurationBuilder()
.secret("WrongSecret")
.build()))
.build();
diff --git a/server/container/guice/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/JMAPCommonModule.java b/server/container/guice/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/JMAPCommonModule.java
index 34184a7..bb51204 100644
--- a/server/container/guice/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/JMAPCommonModule.java
+++ b/server/container/guice/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/JMAPCommonModule.java
@@ -39,8 +39,11 @@ import org.apache.james.jmap.draft.model.message.view.MessageFullViewFactory;
import org.apache.james.jmap.draft.model.message.view.MessageHeaderViewFactory;
import org.apache.james.jmap.draft.model.message.view.MessageMetadataViewFactory;
import org.apache.james.jmap.draft.send.MailSpool;
-import org.apache.james.jmap.draft.utils.HeadersAuthenticationExtractor;
import org.apache.james.jmap.event.ComputeMessageFastViewProjectionListener;
+import org.apache.james.jmap.http.AccessTokenAuthenticationStrategy;
+import org.apache.james.jmap.http.AuthenticationStrategy;
+import org.apache.james.jmap.http.JWTAuthenticationStrategy;
+import org.apache.james.jmap.http.QueryParameterAccessTokenAuthenticationStrategy;
import org.apache.james.lifecycle.api.StartUpCheck;
import org.apache.james.mailbox.events.MailboxListener;
import org.apache.james.util.date.DefaultZonedDateTimeProvider;
@@ -79,7 +82,6 @@ public class JMAPCommonModule extends AbstractModule {
bind(MessageFastViewFactory.class).in(Scopes.SINGLETON);
bind(MessageContentExtractor.class).in(Scopes.SINGLETON);
- bind(HeadersAuthenticationExtractor.class).in(Scopes.SINGLETON);
bind(SecurityKeyLoader.class).in(Scopes.SINGLETON);
bind(SignatureHandler.class).to(JamesSignatureHandler.class);
diff --git a/server/container/guice/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/JMAPConfigurationStartUpCheck.java b/server/container/guice/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/JMAPConfigurationStartUpCheck.java
index dd8f4ec..df7c525 100644
--- a/server/container/guice/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/JMAPConfigurationStartUpCheck.java
+++ b/server/container/guice/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/JMAPConfigurationStartUpCheck.java
@@ -32,10 +32,10 @@ public class JMAPConfigurationStartUpCheck implements StartUpCheck {
public static final String CHECK_NAME = "JMAPConfigurationStartUpCheck";
private final SecurityKeyLoader securityKeyLoader;
- private final JMAPConfiguration jmapConfiguration;
+ private final JMAPDraftConfiguration jmapConfiguration;
@Inject
- JMAPConfigurationStartUpCheck(SecurityKeyLoader securityKeyLoader, JMAPConfiguration jmapConfiguration) {
+ JMAPConfigurationStartUpCheck(SecurityKeyLoader securityKeyLoader, JMAPDraftConfiguration jmapConfiguration) {
this.securityKeyLoader = securityKeyLoader;
this.jmapConfiguration = jmapConfiguration;
}
diff --git a/server/container/guice/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/JMAPModule.java b/server/container/guice/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/JMAPModule.java
index 030261e..b00e73a 100644
--- a/server/container/guice/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/JMAPModule.java
+++ b/server/container/guice/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/JMAPModule.java
@@ -29,6 +29,8 @@ import org.apache.commons.configuration2.Configuration;
import org.apache.commons.configuration2.ex.ConfigurationException;
import org.apache.commons.io.FileUtils;
import org.apache.james.filesystem.api.FileSystem;
+import org.apache.james.jmap.JMAPConfiguration;
+import org.apache.james.jmap.JMAPServer;
import org.apache.james.jmap.draft.methods.RequestHandler;
import org.apache.james.jmap.draft.send.PostDequeueDecoratorFactory;
import org.apache.james.jmap.draft.utils.JsoupHtmlTextExtractor;
@@ -44,6 +46,7 @@ import org.apache.james.modules.server.CamelMailetContainerModule;
import org.apache.james.queue.api.MailQueueItemDecoratorFactory;
import org.apache.james.server.core.configuration.FileConfigurationProvider;
import org.apache.james.transport.matchers.RecipientIsLocal;
+import org.apache.james.util.Port;
import org.apache.james.util.html.HtmlTextExtractor;
import org.apache.james.utils.PropertiesProvider;
import org.slf4j.Logger;
@@ -90,7 +93,6 @@ public class JMAPModule extends AbstractModule {
bind(JMAPServer.class).in(Scopes.SINGLETON);
bind(RequestHandler.class).in(Scopes.SINGLETON);
- bind(UploadHandler.class).in(Scopes.SINGLETON);
bind(JsoupHtmlTextExtractor.class).in(Scopes.SINGLETON);
bind(HtmlTextExtractor.class).to(JsoupHtmlTextExtractor.class);
@@ -107,19 +109,35 @@ public class JMAPModule extends AbstractModule {
@Provides
@Singleton
- JMAPConfiguration provideConfiguration(PropertiesProvider propertiesProvider, FileSystem fileSystem) throws ConfigurationException, IOException {
+ JMAPConfiguration provideConfiguration(PropertiesProvider propertiesProvider) throws ConfigurationException, IOException {
try {
Configuration configuration = propertiesProvider.getConfiguration("jmap");
return JMAPConfiguration.builder()
.enabled(configuration.getBoolean("enabled", true))
+ .port(Port.of(configuration.getInt("jmap.port", DEFAULT_JMAP_PORT)))
+ .build();
+ } catch (FileNotFoundException e) {
+ LOGGER.warn("Could not find JMAP configuration file. JMAP server will not be enabled.");
+ return JMAPConfiguration.builder()
+ .disable()
+ .build();
+ }
+ }
+
+ @Provides
+ @Singleton
+ JMAPDraftConfiguration provideDraftConfiguration(PropertiesProvider propertiesProvider, FileSystem fileSystem) throws ConfigurationException, IOException {
+ try {
+ Configuration configuration = propertiesProvider.getConfiguration("jmap");
+ return JMAPDraftConfiguration.builder()
+ .enabled(configuration.getBoolean("enabled", true))
.keystore(configuration.getString("tls.keystoreURL"))
.secret(configuration.getString("tls.secret"))
.jwtPublicKeyPem(loadPublicKey(fileSystem, Optional.ofNullable(configuration.getString("jwt.publickeypem.url"))))
- .port(configuration.getInt("jmap.port", DEFAULT_JMAP_PORT))
.build();
} catch (FileNotFoundException e) {
LOGGER.warn("Could not find JMAP configuration file. JMAP server will not be enabled.");
- return JMAPConfiguration.builder()
+ return JMAPDraftConfiguration.builder()
.disable()
.build();
}
@@ -127,7 +145,7 @@ public class JMAPModule extends AbstractModule {
@Provides
@Singleton
- JwtConfiguration providesJwtConfiguration(JMAPConfiguration jmapConfiguration) {
+ JwtConfiguration providesJwtConfiguration(JMAPDraftConfiguration jmapConfiguration) {
return new JwtConfiguration(jmapConfiguration.getJwtPublicKeyPem());
}
diff --git a/server/container/guice/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/JmapGuiceProbe.java b/server/container/guice/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/JmapGuiceProbe.java
index 0f2504b..77ef5bc 100644
--- a/server/container/guice/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/JmapGuiceProbe.java
+++ b/server/container/guice/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/JmapGuiceProbe.java
@@ -24,6 +24,7 @@ import java.util.Arrays;
import javax.inject.Inject;
import org.apache.james.core.Username;
+import org.apache.james.jmap.JMAPServer;
import org.apache.james.jmap.api.projections.MessageFastViewProjection;
import org.apache.james.jmap.api.vacation.AccountId;
import org.apache.james.jmap.api.vacation.Vacation;
diff --git a/server/container/guice/protocols/jmap-draft/src/main/java/org/apache/james/modules/protocols/JMAPDraftServerModule.java b/server/container/guice/protocols/jmap-draft/src/main/java/org/apache/james/modules/protocols/JMAPDraftServerModule.java
index 0cf3ebf..97ee0c2 100644
--- a/server/container/guice/protocols/jmap-draft/src/main/java/org/apache/james/modules/protocols/JMAPDraftServerModule.java
+++ b/server/container/guice/protocols/jmap-draft/src/main/java/org/apache/james/modules/protocols/JMAPDraftServerModule.java
@@ -21,12 +21,17 @@ package org.apache.james.modules.protocols;
import java.security.Security;
-import org.apache.james.jmap.draft.JMAPConfiguration;
+import org.apache.james.jmap.JMAPConfiguration;
+import org.apache.james.jmap.JMAPRoutes;
+import org.apache.james.jmap.JMAPServer;
import org.apache.james.jmap.draft.JMAPModule;
-import org.apache.james.jmap.draft.JMAPServer;
import org.apache.james.jmap.draft.JmapGuiceProbe;
import org.apache.james.jmap.draft.MessageIdProbe;
import org.apache.james.jmap.draft.crypto.JamesSignatureHandler;
+import org.apache.james.jmap.http.AuthenticationRoutes;
+import org.apache.james.jmap.http.DownloadRoutes;
+import org.apache.james.jmap.http.JMAPApiRoutes;
+import org.apache.james.jmap.http.UploadRoutes;
import org.apache.james.utils.GuiceProbe;
import org.apache.james.utils.InitializationOperation;
import org.apache.james.utils.InitilizationOperationBuilder;
@@ -43,8 +48,13 @@ public class JMAPDraftServerModule extends AbstractModule {
install(new JMAPModule());
Multibinder.newSetBinder(binder(), GuiceProbe.class).addBinding().to(JmapGuiceProbe.class);
Multibinder.newSetBinder(binder(), GuiceProbe.class).addBinding().to(MessageIdProbe.class);
- }
+ Multibinder<JMAPRoutes> routesBinder = Multibinder.newSetBinder(binder(), JMAPRoutes.class);
+ routesBinder.addBinding().to(AuthenticationRoutes.class);
+ routesBinder.addBinding().to(JMAPApiRoutes.class);
+ routesBinder.addBinding().to(UploadRoutes.class);
+ routesBinder.addBinding().to(DownloadRoutes.class);
+ }
@ProvidesIntoSet
InitializationOperation startJmap(JMAPServer server, JamesSignatureHandler signatureHandler, JMAPConfiguration jmapConfiguration) {
diff --git a/server/container/guice/protocols/jmap-draft/src/test/java/org/apache/james/modules/TestJMAPServerModule.java b/server/container/guice/protocols/jmap-draft/src/test/java/org/apache/james/modules/TestJMAPServerModule.java
index 6f1c822..c455d1e 100644
--- a/server/container/guice/protocols/jmap-draft/src/test/java/org/apache/james/modules/TestJMAPServerModule.java
+++ b/server/container/guice/protocols/jmap-draft/src/test/java/org/apache/james/modules/TestJMAPServerModule.java
@@ -25,7 +25,8 @@ import java.util.Optional;
import javax.inject.Singleton;
import org.apache.commons.configuration2.ex.ConfigurationException;
-import org.apache.james.jmap.draft.JMAPConfiguration;
+import org.apache.james.jmap.JMAPConfiguration;
+import org.apache.james.jmap.draft.JMAPDraftConfiguration;
import org.apache.james.jmap.draft.methods.GetMessageListMethod;
import com.google.inject.AbstractModule;
@@ -89,13 +90,12 @@ public class TestJMAPServerModule extends AbstractModule {
"ICQil1aaN7/2au+p7E4n7nzfYG7nRX5syDoqgBbdhpJxV8/5ohA=\n" +
"-----END RSA PRIVATE KEY-----\n";
- public static JMAPConfiguration.Builder jmapConfigurationBuilder() {
- return JMAPConfiguration.builder()
+ public static JMAPDraftConfiguration.Builder jmapDraftConfigurationBuilder() {
+ return JMAPDraftConfiguration.builder()
.enable()
.keystore("keystore")
.secret("james72laBalle")
- .jwtPublicKeyPem(Optional.of(PUBLIC_PEM_KEY))
- .randomPort();
+ .jwtPublicKeyPem(Optional.of(PUBLIC_PEM_KEY));
}
private final long maximumLimit;
@@ -112,6 +112,15 @@ public class TestJMAPServerModule extends AbstractModule {
@Provides
@Singleton
JMAPConfiguration provideConfiguration() throws FileNotFoundException, ConfigurationException {
- return jmapConfigurationBuilder().build();
+ return JMAPConfiguration.builder()
+ .enable()
+ .randomPort()
+ .build();
+ }
+
+ @Provides
+ @Singleton
+ JMAPDraftConfiguration provideDraftConfiguration() throws FileNotFoundException, ConfigurationException {
+ return jmapDraftConfigurationBuilder().build();
}
}
diff --git a/server/pom.xml b/server/pom.xml
index d5ba6da..1cf1d76 100644
--- a/server/pom.xml
+++ b/server/pom.xml
@@ -84,6 +84,7 @@
<module>mailrepository/mailrepository-memory</module>
<module>protocols/fetchmail</module>
+ <module>protocols/jmap</module>
<module>protocols/jmap-draft</module>
<module>protocols/jmap-draft-integration-testing</module>
<module>protocols/jwt</module>
diff --git a/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/JMAPConfiguration.java b/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/JMAPDraftConfiguration.java
similarity index 82%
rename from server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/JMAPConfiguration.java
rename to server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/JMAPDraftConfiguration.java
index 741a059..a390ddd 100644
--- a/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/JMAPConfiguration.java
+++ b/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/JMAPDraftConfiguration.java
@@ -24,7 +24,7 @@ import com.google.common.annotations.VisibleForTesting;
import com.google.common.base.Preconditions;
import com.google.common.base.Strings;
-public class JMAPConfiguration {
+public class JMAPDraftConfiguration {
public static Builder builder() {
return new Builder();
@@ -35,7 +35,6 @@ public class JMAPConfiguration {
private String secret;
private Optional<Boolean> enabled = Optional.empty();
private Optional<String> jwtPublicKeyPem = Optional.empty();
- private Optional<Integer> port = Optional.empty();
private Builder() {
@@ -70,22 +69,12 @@ public class JMAPConfiguration {
return this;
}
- public Builder port(int port) {
- this.port = Optional.of(port);
- return this;
- }
-
- public Builder randomPort() {
- this.port = Optional.empty();
- return this;
- }
-
- public JMAPConfiguration build() {
+ public JMAPDraftConfiguration build() {
Preconditions.checkState(enabled.isPresent(), "You should specify if JMAP server should be started");
Preconditions.checkState(!enabled.get() || !Strings.isNullOrEmpty(keystore), "'keystore' is mandatory");
Preconditions.checkState(!enabled.get() || !Strings.isNullOrEmpty(secret), "'secret' is mandatory");
Preconditions.checkState(!enabled.get() || jwtPublicKeyPem.isPresent(), "'publicKey' is mandatory");
- return new JMAPConfiguration(enabled.get(), keystore, secret, jwtPublicKeyPem, port);
+ return new JMAPDraftConfiguration(enabled.get(), keystore, secret, jwtPublicKeyPem);
}
}
@@ -94,14 +83,13 @@ public class JMAPConfiguration {
private final String keystore;
private final String secret;
private final Optional<String> jwtPublicKeyPem;
- private final Optional<Integer> port;
- @VisibleForTesting JMAPConfiguration(boolean enabled, String keystore, String secret, Optional<String> jwtPublicKeyPem, Optional<Integer> port) {
+ @VisibleForTesting
+ JMAPDraftConfiguration(boolean enabled, String keystore, String secret, Optional<String> jwtPublicKeyPem) {
this.enabled = enabled;
this.keystore = keystore;
this.secret = secret;
this.jwtPublicKeyPem = jwtPublicKeyPem;
- this.port = port;
}
public boolean isEnabled() {
@@ -119,8 +107,4 @@ public class JMAPConfiguration {
public Optional<String> getJwtPublicKeyPem() {
return jwtPublicKeyPem;
}
-
- public Optional<Integer> getPort() {
- return port;
- }
}
diff --git a/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/crypto/SecurityKeyLoader.java b/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/crypto/SecurityKeyLoader.java
index 5643d93..38da9c4 100644
--- a/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/crypto/SecurityKeyLoader.java
+++ b/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/crypto/SecurityKeyLoader.java
@@ -31,7 +31,7 @@ import java.util.Optional;
import javax.inject.Inject;
import org.apache.james.filesystem.api.FileSystem;
-import org.apache.james.jmap.draft.JMAPConfiguration;
+import org.apache.james.jmap.draft.JMAPDraftConfiguration;
import com.google.common.annotations.VisibleForTesting;
import com.google.common.base.Preconditions;
@@ -42,21 +42,21 @@ public class SecurityKeyLoader {
private static final String JKS = "JKS";
private final FileSystem fileSystem;
- private final JMAPConfiguration jmapConfiguration;
+ private final JMAPDraftConfiguration jmapDraftConfiguration;
@VisibleForTesting
@Inject
- SecurityKeyLoader(FileSystem fileSystem, JMAPConfiguration jmapConfiguration) {
+ SecurityKeyLoader(FileSystem fileSystem, JMAPDraftConfiguration jmapDraftConfiguration) {
this.fileSystem = fileSystem;
- this.jmapConfiguration = jmapConfiguration;
+ this.jmapDraftConfiguration = jmapDraftConfiguration;
}
public AsymmetricKeys load() throws Exception {
- Preconditions.checkState(jmapConfiguration.isEnabled(), "JMAP is not enabled");
+ Preconditions.checkState(jmapDraftConfiguration.isEnabled(), "JMAP is not enabled");
KeyStore keystore = KeyStore.getInstance(JKS);
- InputStream fis = fileSystem.getResource(jmapConfiguration.getKeystore());
- char[] secret = jmapConfiguration.getSecret().toCharArray();
+ InputStream fis = fileSystem.getResource(jmapDraftConfiguration.getKeystore());
+ char[] secret = jmapDraftConfiguration.getSecret().toCharArray();
keystore.load(fis, secret);
Certificate aliasCertificate = Optional
.ofNullable(keystore.getCertificate(ALIAS))
diff --git a/server/protocols/jmap-draft/src/test/java/org/apache/james/jmap/draft/JMAPConfigurationTest.java b/server/protocols/jmap-draft/src/test/java/org/apache/james/jmap/draft/JMAPDraftConfigurationTest.java
similarity index 62%
rename from server/protocols/jmap-draft/src/test/java/org/apache/james/jmap/draft/JMAPConfigurationTest.java
rename to server/protocols/jmap-draft/src/test/java/org/apache/james/jmap/draft/JMAPDraftConfigurationTest.java
index a9eda51..21ef229 100644
--- a/server/protocols/jmap-draft/src/test/java/org/apache/james/jmap/draft/JMAPConfigurationTest.java
+++ b/server/protocols/jmap-draft/src/test/java/org/apache/james/jmap/draft/JMAPDraftConfigurationTest.java
@@ -24,17 +24,16 @@ import static org.assertj.core.api.Assertions.assertThatThrownBy;
import java.util.Optional;
-import org.apache.james.jmap.draft.JMAPConfiguration;
import org.junit.Test;
-public class JMAPConfigurationTest {
+public class JMAPDraftConfigurationTest {
public static final boolean ENABLED = true;
public static final boolean DISABLED = false;
@Test
public void buildShouldThrowWhenKeystoreIsNull() {
- assertThatThrownBy(() -> JMAPConfiguration.builder()
+ assertThatThrownBy(() -> JMAPDraftConfiguration.builder()
.enable()
.keystore(null)
.build())
@@ -44,7 +43,7 @@ public class JMAPConfigurationTest {
@Test
public void buildShouldThrowWhenKeystoreIsEmpty() {
- assertThatThrownBy(() -> JMAPConfiguration.builder()
+ assertThatThrownBy(() -> JMAPDraftConfiguration.builder()
.enable()
.keystore("")
.build())
@@ -54,7 +53,7 @@ public class JMAPConfigurationTest {
@Test
public void buildShouldThrowWhenSecretIsNull() {
- assertThatThrownBy(() -> JMAPConfiguration.builder()
+ assertThatThrownBy(() -> JMAPDraftConfiguration.builder()
.enable()
.keystore("keystore")
.secret(null)
@@ -65,7 +64,7 @@ public class JMAPConfigurationTest {
@Test
public void buildShouldThrowWhenSecretIsEmpty() {
- assertThatThrownBy(() -> JMAPConfiguration.builder()
+ assertThatThrownBy(() -> JMAPDraftConfiguration.builder()
.enable()
.keystore("keystore")
.secret("")
@@ -76,7 +75,7 @@ public class JMAPConfigurationTest {
@Test
public void buildShouldThrowWhenJwtPublicKeyPemIsNull() {
- assertThatThrownBy(() -> JMAPConfiguration.builder()
+ assertThatThrownBy(() -> JMAPDraftConfiguration.builder()
.enable()
.keystore("keystore")
.secret("secret")
@@ -87,7 +86,7 @@ public class JMAPConfigurationTest {
@Test
public void buildShouldThrowWhenJwtPublicKeyPemIsEmpty() {
- assertThatThrownBy(() -> JMAPConfiguration.builder()
+ assertThatThrownBy(() -> JMAPDraftConfiguration.builder()
.enable()
.keystore("keystore")
.secret("secret")
@@ -97,44 +96,15 @@ public class JMAPConfigurationTest {
}
@Test
- public void buildShouldWorkWhenRandomPort() {
- JMAPConfiguration expectedJMAPConfiguration = new JMAPConfiguration(ENABLED, "keystore", "secret", Optional.of("file://conf/jwt_publickey"), Optional.empty());
-
- JMAPConfiguration jmapConfiguration = JMAPConfiguration.builder()
- .enable()
- .keystore("keystore")
- .secret("secret")
- .jwtPublicKeyPem(Optional.of("file://conf/jwt_publickey"))
- .randomPort()
- .build();
- assertThat(jmapConfiguration).isEqualToComparingFieldByField(expectedJMAPConfiguration);
- }
-
- @Test
- public void buildShouldWorkWhenFixedPort() {
- JMAPConfiguration expectedJMAPConfiguration = new JMAPConfiguration(ENABLED, "keystore", "secret", Optional.of("file://conf/jwt_publickey"), Optional.of(80));
-
- JMAPConfiguration jmapConfiguration = JMAPConfiguration.builder()
- .enable()
- .keystore("keystore")
- .secret("secret")
- .jwtPublicKeyPem(Optional.of("file://conf/jwt_publickey"))
- .port(80)
- .build();
- assertThat(jmapConfiguration).isEqualToComparingFieldByField(expectedJMAPConfiguration);
- }
-
- @Test
public void buildShouldWorkWhenDisabled() {
String keystore = null;
String secret = null;
Optional<String> jwtPublicKeyPem = Optional.empty();
- Optional<Integer> port = Optional.empty();
- JMAPConfiguration expectedJMAPConfiguration = new JMAPConfiguration(DISABLED, keystore, secret, jwtPublicKeyPem, port);
+ JMAPDraftConfiguration expectedJMAPDraftConfiguration = new JMAPDraftConfiguration(DISABLED, keystore, secret, jwtPublicKeyPem);
- JMAPConfiguration jmapConfiguration = JMAPConfiguration.builder()
+ JMAPDraftConfiguration jmapDraftConfiguration = JMAPDraftConfiguration.builder()
.disable()
.build();
- assertThat(jmapConfiguration).isEqualToComparingFieldByField(expectedJMAPConfiguration);
+ assertThat(jmapDraftConfiguration).isEqualToComparingFieldByField(expectedJMAPDraftConfiguration);
}
}
diff --git a/server/protocols/jmap-draft/src/test/java/org/apache/james/jmap/draft/crypto/JamesSignatureHandlerFixture.java b/server/protocols/jmap-draft/src/test/java/org/apache/james/jmap/draft/crypto/JamesSignatureHandlerFixture.java
index 03abeb5..8ffe064 100644
--- a/server/protocols/jmap-draft/src/test/java/org/apache/james/jmap/draft/crypto/JamesSignatureHandlerFixture.java
+++ b/server/protocols/jmap-draft/src/test/java/org/apache/james/jmap/draft/crypto/JamesSignatureHandlerFixture.java
@@ -22,7 +22,7 @@ package org.apache.james.jmap.draft.crypto;
import java.util.Optional;
import org.apache.james.filesystem.api.FileSystemFixture;
-import org.apache.james.jmap.draft.JMAPConfiguration;
+import org.apache.james.jmap.draft.JMAPDraftConfiguration;
class JamesSignatureHandlerFixture {
@@ -38,7 +38,7 @@ class JamesSignatureHandlerFixture {
static JamesSignatureHandler defaultSignatureHandler() {
- JMAPConfiguration jmapConfiguration = JMAPConfiguration.builder()
+ JMAPDraftConfiguration jmapDraftConfiguration = JMAPDraftConfiguration.builder()
.enable()
.jwtPublicKeyPem(Optional.of(JWT_PUBLIC_KEY))
.keystore("keystore")
@@ -47,7 +47,7 @@ class JamesSignatureHandlerFixture {
SecurityKeyLoader loader = new SecurityKeyLoader(
FileSystemFixture.CLASSPATH_FILE_SYSTEM,
- jmapConfiguration);
+ jmapDraftConfiguration);
return new JamesSignatureHandler(loader);
}
diff --git a/server/protocols/jmap-draft/src/test/java/org/apache/james/jmap/draft/crypto/SecurityKeyLoaderTest.java b/server/protocols/jmap-draft/src/test/java/org/apache/james/jmap/draft/crypto/SecurityKeyLoaderTest.java
index 9816f08..e2b72a1 100644
--- a/server/protocols/jmap-draft/src/test/java/org/apache/james/jmap/draft/crypto/SecurityKeyLoaderTest.java
+++ b/server/protocols/jmap-draft/src/test/java/org/apache/james/jmap/draft/crypto/SecurityKeyLoaderTest.java
@@ -28,7 +28,7 @@ import java.security.KeyStoreException;
import java.util.Optional;
import org.apache.james.filesystem.api.FileSystemFixture;
-import org.apache.james.jmap.draft.JMAPConfiguration;
+import org.apache.james.jmap.draft.JMAPDraftConfiguration;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.ValueSource;
@@ -37,7 +37,7 @@ class SecurityKeyLoaderTest {
@Test
void loadShouldThrowWhenJMAPIsNotEnabled() throws Exception {
- JMAPConfiguration jmapConfiguration = JMAPConfiguration.builder()
+ JMAPDraftConfiguration jmapConfiguration = JMAPDraftConfiguration.builder()
.disable()
.jwtPublicKeyPem(Optional.of(JWT_PUBLIC_KEY))
.keystore("keystore")
@@ -55,7 +55,7 @@ class SecurityKeyLoaderTest {
@Test
void loadShouldThrowWhenWrongKeystore() throws Exception {
- JMAPConfiguration jmapConfiguration = JMAPConfiguration.builder()
+ JMAPDraftConfiguration jmapDraftConfiguration = JMAPDraftConfiguration.builder()
.enable()
.jwtPublicKeyPem(Optional.of(JWT_PUBLIC_KEY))
.keystore("badAliasKeystore")
@@ -64,7 +64,7 @@ class SecurityKeyLoaderTest {
SecurityKeyLoader loader = new SecurityKeyLoader(
FileSystemFixture.CLASSPATH_FILE_SYSTEM,
- jmapConfiguration);
+ jmapDraftConfiguration);
assertThatThrownBy(loader::load)
.isInstanceOf(KeyStoreException.class)
@@ -73,7 +73,7 @@ class SecurityKeyLoaderTest {
@Test
void loadShouldThrowWhenWrongPassword() throws Exception {
- JMAPConfiguration jmapConfiguration = JMAPConfiguration.builder()
+ JMAPDraftConfiguration jmapDraftConfiguration = JMAPDraftConfiguration.builder()
.enable()
.jwtPublicKeyPem(Optional.of(JWT_PUBLIC_KEY))
.keystore("keystore")
@@ -82,7 +82,7 @@ class SecurityKeyLoaderTest {
SecurityKeyLoader loader = new SecurityKeyLoader(
FileSystemFixture.CLASSPATH_FILE_SYSTEM,
- jmapConfiguration);
+ jmapDraftConfiguration);
assertThatThrownBy(loader::load)
.isInstanceOf(IOException.class)
@@ -91,7 +91,7 @@ class SecurityKeyLoaderTest {
@Test
void loadShouldReturnAsymmetricKeysWhenCorrectPassword() throws Exception {
- JMAPConfiguration jmapConfiguration = JMAPConfiguration.builder()
+ JMAPDraftConfiguration jmapDraftConfiguration = JMAPDraftConfiguration.builder()
.enable()
.jwtPublicKeyPem(Optional.of(JWT_PUBLIC_KEY))
.keystore("keystore")
@@ -100,7 +100,7 @@ class SecurityKeyLoaderTest {
SecurityKeyLoader loader = new SecurityKeyLoader(
FileSystemFixture.CLASSPATH_FILE_SYSTEM,
- jmapConfiguration);
+ jmapDraftConfiguration);
assertThat(loader.load())
.isNotNull();
@@ -114,7 +114,7 @@ class SecurityKeyLoaderTest {
void loadShouldReturnAsymmetricKeysWhenUsingKeyStoreGeneratedByDifferentJavaVersions(
String keyStoreInDifferentVersion) throws Exception {
- JMAPConfiguration jmapConfiguration = JMAPConfiguration.builder()
+ JMAPDraftConfiguration jmapDraftConfiguration = JMAPDraftConfiguration.builder()
.enable()
.jwtPublicKeyPem(Optional.of(JWT_PUBLIC_KEY))
.keystore(keyStoreInDifferentVersion)
@@ -123,7 +123,7 @@ class SecurityKeyLoaderTest {
SecurityKeyLoader loader = new SecurityKeyLoader(
FileSystemFixture.CLASSPATH_FILE_SYSTEM,
- jmapConfiguration);
+ jmapDraftConfiguration);
assertThat(loader.load())
.isNotNull();
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org