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 <[email protected]>
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: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to