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/17 10:51:16 UTC
[james-project] 06/17: [Refactoring] Fluentify
Username::withOtherDomain
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 2f6038ea3f0707cfbde0bcf12e3f176a6a3e3836
Author: Benoit Tellier <bt...@linagora.com>
AuthorDate: Tue Mar 10 08:58:25 2020 +0100
[Refactoring] Fluentify Username::withOtherDomain
---
core/src/main/java/org/apache/james/core/Username.java | 4 ++++
.../apache/james/rrt/lib/AliasReverseResolverContract.java | 9 ++++-----
.../java/org/apache/james/rrt/lib/CanSendFromContract.java | 14 ++++++--------
.../draft/methods/integration/SetMessagesMethodTest.java | 4 +++-
4 files changed, 17 insertions(+), 14 deletions(-)
diff --git a/core/src/main/java/org/apache/james/core/Username.java b/core/src/main/java/org/apache/james/core/Username.java
index c27d980..90e3096 100644
--- a/core/src/main/java/org/apache/james/core/Username.java
+++ b/core/src/main/java/org/apache/james/core/Username.java
@@ -101,6 +101,10 @@ public class Username {
return new Username(localPart, domain);
}
+ public Username withOtherDomain(Domain domain) {
+ return withOtherDomain(Optional.of(domain));
+ }
+
public boolean hasDomainPart() {
return domainPart.isPresent();
}
diff --git a/server/data/data-api/src/test/java/org/apache/james/rrt/lib/AliasReverseResolverContract.java b/server/data/data-api/src/test/java/org/apache/james/rrt/lib/AliasReverseResolverContract.java
index 84593e4..ae60fb9 100644
--- a/server/data/data-api/src/test/java/org/apache/james/rrt/lib/AliasReverseResolverContract.java
+++ b/server/data/data-api/src/test/java/org/apache/james/rrt/lib/AliasReverseResolverContract.java
@@ -21,7 +21,6 @@ package org.apache.james.rrt.lib;
import static org.assertj.core.api.Assertions.assertThat;
-import java.util.Optional;
import java.util.stream.IntStream;
import org.apache.james.core.Domain;
@@ -101,7 +100,7 @@ public interface AliasReverseResolverContract {
@Test
default void listAddressesShouldContainUserAddressAndAnAliasOfTheDomainUser() throws Exception {
- Username fromUser = USER.withOtherDomain(Optional.of(OTHER_DOMAIN));
+ Username fromUser = USER.withOtherDomain(OTHER_DOMAIN);
redirectDomain(OTHER_DOMAIN).to(DOMAIN);
@@ -111,13 +110,13 @@ public interface AliasReverseResolverContract {
@Test
default void listAddressesShouldContainUserAddressAndAnAliasOfTheDomainUserFromAnotherDomain() throws Exception {
- Username userAliasOtherDomain = USER_ALIAS.withOtherDomain(Optional.of(OTHER_DOMAIN));
+ Username userAliasOtherDomain = USER_ALIAS.withOtherDomain(OTHER_DOMAIN);
redirectDomain(OTHER_DOMAIN).to(DOMAIN);
redirectUser(userAliasOtherDomain).to(USER);
- Username userAliasMainDomain = USER_ALIAS.withOtherDomain(Optional.of(DOMAIN));
- Username userOtherDomain = USER.withOtherDomain(Optional.of(OTHER_DOMAIN));
+ Username userAliasMainDomain = USER_ALIAS.withOtherDomain(DOMAIN);
+ Username userOtherDomain = USER.withOtherDomain(OTHER_DOMAIN);
assertThat(aliasReverseResolver().listAddresses(USER))
.containsExactlyInAnyOrder(USER.asMailAddress(), userAliasOtherDomain.asMailAddress(), userAliasMainDomain.asMailAddress(), userOtherDomain.asMailAddress());
}
diff --git a/server/data/data-api/src/test/java/org/apache/james/rrt/lib/CanSendFromContract.java b/server/data/data-api/src/test/java/org/apache/james/rrt/lib/CanSendFromContract.java
index 7591526..b2511fe 100644
--- a/server/data/data-api/src/test/java/org/apache/james/rrt/lib/CanSendFromContract.java
+++ b/server/data/data-api/src/test/java/org/apache/james/rrt/lib/CanSendFromContract.java
@@ -20,13 +20,11 @@ package org.apache.james.rrt.lib;
import static org.assertj.core.api.Assertions.assertThat;
-import java.util.Optional;
import java.util.stream.IntStream;
import org.apache.james.core.Domain;
import org.apache.james.core.Username;
import org.apache.james.rrt.api.CanSendFrom;
-
import org.junit.jupiter.api.Test;
import com.github.fge.lambdas.Throwing;
@@ -136,7 +134,7 @@ public interface CanSendFromContract {
@Test
default void userCanSendFromShouldBeTrueWhenSenderIsAnAliasOfTheDomainUser() throws Exception {
- Username fromUser = USER.withOtherDomain(Optional.of(OTHER_DOMAIN));
+ Username fromUser = USER.withOtherDomain(OTHER_DOMAIN);
redirectDomain(OTHER_DOMAIN).to(DOMAIN);
@@ -145,7 +143,7 @@ public interface CanSendFromContract {
@Test
default void userCanSendFromShouldBeFalseWhenDomainMapping() throws Exception {
- Username fromUser = USER.withOtherDomain(Optional.of(OTHER_DOMAIN));
+ Username fromUser = USER.withOtherDomain(OTHER_DOMAIN);
addDomainMapping(OTHER_DOMAIN, DOMAIN);
@@ -195,7 +193,7 @@ public interface CanSendFromContract {
@Test
default void allValidFromAddressesShouldContainUserAddressAndAnAliasOfTheDomainUser() throws Exception {
- Username fromUser = USER.withOtherDomain(Optional.of(OTHER_DOMAIN));
+ Username fromUser = USER.withOtherDomain(OTHER_DOMAIN);
redirectDomain(OTHER_DOMAIN).to(DOMAIN);
@@ -205,13 +203,13 @@ public interface CanSendFromContract {
@Test
default void allValidFromAddressesShouldContainUserAddressAndAnAliasOfTheDomainUserFromAnotherDomain() throws Exception {
- Username userAliasOtherDomain = USER_ALIAS.withOtherDomain(Optional.of(OTHER_DOMAIN));
+ Username userAliasOtherDomain = USER_ALIAS.withOtherDomain(OTHER_DOMAIN);
redirectDomain(OTHER_DOMAIN).to(DOMAIN);
redirectUser(userAliasOtherDomain).to(USER);
- Username userAliasMainDomain = USER_ALIAS.withOtherDomain(Optional.of(DOMAIN));
- Username userOtherDomain = USER.withOtherDomain(Optional.of(OTHER_DOMAIN));
+ Username userAliasMainDomain = USER_ALIAS.withOtherDomain(DOMAIN);
+ Username userOtherDomain = USER.withOtherDomain(OTHER_DOMAIN);
assertThat(canSendFrom().allValidFromAddressesForUser(USER))
.containsExactlyInAnyOrder(USER.asMailAddress(), userAliasOtherDomain.asMailAddress(), userAliasMainDomain.asMailAddress(), userOtherDomain.asMailAddress());
}
diff --git a/server/protocols/jmap-draft-integration-testing/jmap-draft-integration-testing-common/src/test/java/org/apache/james/jmap/draft/methods/integration/SetMessagesMethodTest.java b/server/protocols/jmap-draft-integration-testing/jmap-draft-integration-testing-common/src/test/java/org/apache/james/jmap/draft/methods/integration/SetMessagesMethodTest.java
index 85a6743..b82aa58 100644
--- a/server/protocols/jmap-draft-integration-testing/jmap-draft-integration-testing-common/src/test/java/org/apache/james/jmap/draft/methods/integration/SetMessagesMethodTest.java
+++ b/server/protocols/jmap-draft-integration-testing/jmap-draft-integration-testing-common/src/test/java/org/apache/james/jmap/draft/methods/integration/SetMessagesMethodTest.java
@@ -64,6 +64,7 @@ import java.time.ZonedDateTime;
import java.util.Date;
import java.util.List;
import java.util.Map;
+import java.util.Optional;
import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
@@ -73,6 +74,7 @@ import javax.mail.internet.MimeMessage;
import org.apache.commons.io.IOUtils;
import org.apache.james.GuiceJamesServer;
+import org.apache.james.core.Domain;
import org.apache.james.core.Username;
import org.apache.james.core.quota.QuotaSizeLimit;
import org.apache.james.jmap.AccessToken;
@@ -2605,7 +2607,7 @@ public abstract class SetMessagesMethodTest {
dataProbe.addDomainAliasMapping(DOMAIN_ALIAS, DOMAIN);
String messageCreationId = "creationId1337";
- String alias = USERNAME.getLocalPart() + "@" + DOMAIN_ALIAS;
+ String alias = USERNAME.withOtherDomain(Domain.of(DOMAIN_ALIAS)).asString();
String requestBody = "[" +
" [" +
" \"setMessages\"," +
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org