Skip to content

Commit

Permalink
JAMES-2729 MappingSource should have a method to get the domain
Browse files Browse the repository at this point in the history
from Optional<User> and Optional<Domain>. To be used in the validation
at the AbstractRecipientRewriteTable
  • Loading branch information
trantienduchn authored and Arsnael committed Apr 29, 2019
1 parent c052ab0 commit ef3b76e
Show file tree
Hide file tree
Showing 2 changed files with 38 additions and 8 deletions.
Expand Up @@ -123,12 +123,17 @@ public String getFixedUser() {
} }


public String getFixedDomain() { public String getFixedDomain() {
return OptionalUtils.or( return availableDomain()
user.flatMap(User::getDomainPart).map(Domain::asString), .map(Domain::asString)
domain.map(Domain::asString))
.orElse(WILDCARD); .orElse(WILDCARD);
} }


public Optional<Domain> availableDomain() {
return OptionalUtils.or(
user.flatMap(User::getDomainPart),
domain);
}

@Override @Override
public final boolean equals(Object o) { public final boolean equals(Object o) {
if (o instanceof MappingSource) { if (o instanceof MappingSource) {
Expand Down
Expand Up @@ -29,9 +29,10 @@
import nl.jqno.equalsverifier.EqualsVerifier; import nl.jqno.equalsverifier.EqualsVerifier;


class MappingSourceTest { class MappingSourceTest {
private static final String DOMAIN = "domain.tld"; private static final String DOMAIN_AS_STRING = "domain.tld";
private static final Domain DOMAIN = Domain.of(DOMAIN_AS_STRING);
private static final String USER = "alice"; private static final String USER = "alice";
private static final String MAIL_ADDRESS = USER + "@" + DOMAIN; private static final String MAIL_ADDRESS = USER + "@" + DOMAIN_AS_STRING;


@Test @Test
void shouldRespectBeanContract() { void shouldRespectBeanContract() {
Expand All @@ -49,14 +50,14 @@ void asMailAddressStringShouldSerializeWilcard() {


@Test @Test
void asMailAddressStringShouldSerializeDomain() { void asMailAddressStringShouldSerializeDomain() {
MappingSource mappingSource = MappingSource.fromDomain(Domain.of(DOMAIN)); MappingSource mappingSource = MappingSource.fromDomain(DOMAIN);


assertThat(mappingSource.asMailAddressString()).isEqualTo("*@" + DOMAIN); assertThat(mappingSource.asMailAddressString()).isEqualTo("*@" + DOMAIN_AS_STRING);
} }


@Test @Test
void asMailAddressStringShouldSerializeUser() { void asMailAddressStringShouldSerializeUser() {
MappingSource mappingSource = MappingSource.fromUser(USER, DOMAIN); MappingSource mappingSource = MappingSource.fromUser(USER, DOMAIN_AS_STRING);


assertThat(mappingSource.asMailAddressString()).isEqualTo(MAIL_ADDRESS); assertThat(mappingSource.asMailAddressString()).isEqualTo(MAIL_ADDRESS);
} }
Expand All @@ -74,4 +75,28 @@ void asMailAddressStringShouldSerializeMailAddress() throws Exception {


assertThat(mappingSource.asMailAddressString()).isEqualTo(MAIL_ADDRESS); assertThat(mappingSource.asMailAddressString()).isEqualTo(MAIL_ADDRESS);
} }

@Test
void availableDomainShouldReturnUserDomainIfExist() throws Exception {
MappingSource mappingSource = MappingSource.fromMailAddress(new MailAddress(MAIL_ADDRESS));

assertThat(mappingSource.availableDomain())
.contains(DOMAIN);
}

@Test
void availableDomainShouldReturnDomainIfExist() {
MappingSource mappingSource = MappingSource.fromDomain(DOMAIN);

assertThat(mappingSource.availableDomain())
.contains(DOMAIN);
}

@Test
void availableDomainShouldReturnEmptyWhenNoDomainUserOrDomain() {
MappingSource mappingSource = MappingSource.wildCard();

assertThat(mappingSource.availableDomain())
.isEmpty();
}
} }

0 comments on commit ef3b76e

Please sign in to comment.