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 bt...@apache.org on 2019/05/16 08:48:16 UTC
[james-project] 01/23: JAMES-2149 Support listing sources for
domains in RRT
This is an automated email from the ASF dual-hosted git repository.
btellier pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/james-project.git
commit cb8d22290e48188b87fa63cba9d764b7e340e51a
Author: Benoit Tellier <bt...@linagora.com>
AuthorDate: Fri May 10 18:11:11 2019 +0700
JAMES-2149 Support listing sources for domains in RRT
---
.../james/rrt/api/RecipientRewriteTable.java | 3 +-
.../rrt/lib/AbstractRecipientRewriteTableTest.java | 37 ++++++++++++++++++++--
2 files changed, 36 insertions(+), 4 deletions(-)
diff --git a/server/data/data-api/src/main/java/org/apache/james/rrt/api/RecipientRewriteTable.java b/server/data/data-api/src/main/java/org/apache/james/rrt/api/RecipientRewriteTable.java
index 1f067c5..9de41fe 100644
--- a/server/data/data-api/src/main/java/org/apache/james/rrt/api/RecipientRewriteTable.java
+++ b/server/data/data-api/src/main/java/org/apache/james/rrt/api/RecipientRewriteTable.java
@@ -52,7 +52,8 @@ public interface RecipientRewriteTable {
Mapping.Type.Group,
Mapping.Type.Forward,
Mapping.Type.Address,
- Mapping.Type.Alias);
+ Mapping.Type.Alias,
+ Mapping.Type.Domain);
void addMapping(MappingSource source, Mapping mapping) throws RecipientRewriteTableException;
diff --git a/server/data/data-library/src/test/java/org/apache/james/rrt/lib/AbstractRecipientRewriteTableTest.java b/server/data/data-library/src/test/java/org/apache/james/rrt/lib/AbstractRecipientRewriteTableTest.java
index be44328..d1fd669 100644
--- a/server/data/data-library/src/test/java/org/apache/james/rrt/lib/AbstractRecipientRewriteTableTest.java
+++ b/server/data/data-library/src/test/java/org/apache/james/rrt/lib/AbstractRecipientRewriteTableTest.java
@@ -426,13 +426,44 @@ public abstract class AbstractRecipientRewriteTableTest {
}
@Test
- public void listSourcesShouldThrowExceptionWhenHasDomainMapping() throws Exception {
+ public void listSourcesShouldHandleDomainMapping() throws Exception {
Mapping mapping = Mapping.domain(Domain.of("domain"));
virtualUserTable.addMapping(SOURCE, mapping);
- assertThatThrownBy(() -> virtualUserTable.listSources(mapping))
- .isInstanceOf(IllegalArgumentException.class);
+ assertThat(virtualUserTable.listSources(mapping))
+ .containsExactly(SOURCE);
+ }
+
+ @Test
+ public void listSourcesShouldReturnEmptyWhenNoDomainAlias() throws Exception {
+ Mapping mapping = Mapping.domain(Domain.of("domain"));
+
+ assertThat(virtualUserTable.listSources(mapping)).isEmpty();
+ }
+
+ @Test
+ public void listSourcesShouldHandleDomainSource() throws Exception {
+ Mapping mapping = Mapping.domain(Domain.of("domain"));
+
+ MappingSource source = MappingSource.fromDomain(Domain.of("source.org"));
+ virtualUserTable.addMapping(source, mapping);
+
+ assertThat(virtualUserTable.listSources(mapping))
+ .containsExactly(source);
+ }
+
+ @Test
+ public void listSourcesShouldHandleDomainSources() throws Exception {
+ Mapping mapping = Mapping.domain(Domain.of("domain"));
+
+ MappingSource source1 = MappingSource.fromDomain(Domain.of("source1.org"));
+ MappingSource source2 = MappingSource.fromDomain(Domain.of("source2.org"));
+ virtualUserTable.addMapping(source1, mapping);
+ virtualUserTable.addMapping(source2, mapping);
+
+ assertThat(virtualUserTable.listSources(mapping))
+ .containsExactlyInAnyOrder(source1, source2);
}
@Test
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org