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 ma...@apache.org on 2015/11/02 14:42:37 UTC

svn commit: r1711973 - /james/project/trunk/server/data/data-library/src/test/java/org/apache/james/rrt/lib/RecipientRewriteTableUtilTest.java

Author: matthieu
Date: Mon Nov  2 13:42:37 2015
New Revision: 1711973

URL: http://svn.apache.org/viewvc?rev=1711973&view=rev
Log:
JAMES-1595 write tests around mappingToCollection

Modified:
    james/project/trunk/server/data/data-library/src/test/java/org/apache/james/rrt/lib/RecipientRewriteTableUtilTest.java

Modified: james/project/trunk/server/data/data-library/src/test/java/org/apache/james/rrt/lib/RecipientRewriteTableUtilTest.java
URL: http://svn.apache.org/viewvc/james/project/trunk/server/data/data-library/src/test/java/org/apache/james/rrt/lib/RecipientRewriteTableUtilTest.java?rev=1711973&r1=1711972&r2=1711973&view=diff
==============================================================================
--- james/project/trunk/server/data/data-library/src/test/java/org/apache/james/rrt/lib/RecipientRewriteTableUtilTest.java (original)
+++ james/project/trunk/server/data/data-library/src/test/java/org/apache/james/rrt/lib/RecipientRewriteTableUtilTest.java Mon Nov  2 13:42:37 2015
@@ -1,11 +1,13 @@
 package org.apache.james.rrt.lib;
 
+import static org.assertj.core.api.Assertions.assertThat;
+
+import java.util.List;
+
 import org.junit.Test;
 
 import com.google.common.collect.ImmutableList;
 
-import static org.assertj.core.api.Assertions.assertThat;
-
 public class RecipientRewriteTableUtilTest {
 
     @Test(expected=NullPointerException.class)
@@ -30,5 +32,97 @@ public class RecipientRewriteTableUtilTe
         String actual = RecipientRewriteTableUtil.CollectionToMapping(ImmutableList.of("value1", "value2"));
         assertThat(actual).isEqualTo("value1;value2");
     }
+    
+    @Test(expected=NullPointerException.class)
+    public void mappingToCollectionShouldThrowWhenNull() {
+        RecipientRewriteTableUtil.mappingToCollection(null);
+    }
+
+    @Test
+    public void mappingToCollectionShouldReturnEmptyCollectionWhenEmptyString() {
+        List<String> actual = RecipientRewriteTableUtil.mappingToCollection("");
+        assertThat(actual).isEmpty();
+    }
+    
+    @Test
+    public void mappingToCollectionShouldReturnSingletonCollectionWhenSingleElementString() {
+        List<String> actual = RecipientRewriteTableUtil.mappingToCollection("value");
+        assertThat(actual).containsExactly("value");
+    }
+
+    @Test
+    public void mappingToCollectionShouldReturnCollectionWhenSeveralElementsString() {
+        List<String> actual = RecipientRewriteTableUtil.mappingToCollection("value1;value2");
+        assertThat(actual).containsExactly("value1", "value2");
+    }
+    
+    @Test
+    public void mappingToCollectionShouldReturnSingleElementCollectionWhenTrailingDelimiterString() {
+        List<String> actual = RecipientRewriteTableUtil.mappingToCollection("value1;");
+        assertThat(actual).containsExactly("value1");
+    }
+
+    @Test
+    public void mappingToCollectionShouldReturnSingleElementCollectionWhenHeadingDelimiterString() {
+        List<String> actual = RecipientRewriteTableUtil.mappingToCollection(";value1");
+        assertThat(actual).containsExactly("value1");
+    }
+    
+
+    @Test
+    public void mappingToCollectionShouldTrimValues() {
+        List<String> actual = RecipientRewriteTableUtil.mappingToCollection("value1 ; value2  ");
+        assertThat(actual).containsExactly("value1", "value2");
+    }
+    
+    @Test
+    public void mappingToCollectionShouldNotSkipEmptyValue() {
+        List<String> actual = RecipientRewriteTableUtil.mappingToCollection("value1; ;value2");
+        assertThat(actual).containsExactly("value1", "", "value2");
+    }
+    
+    @Test
+    public void mappingToCollectionShouldReturnCollectionWhenValueContainsCommaSeperatedValues() {
+        List<String> actual = RecipientRewriteTableUtil.mappingToCollection("value1,value2");
+        assertThat(actual).containsExactly("value1","value2");
+    }
+
+    @Test
+    public void mappingToCollectionShouldReturnCollectionWhenValueContainsColonSeperatedValues() {
+        List<String> actual = RecipientRewriteTableUtil.mappingToCollection("value1:value2");
+        assertThat(actual).containsExactly("value1","value2");
+    }
+
+    @Test
+    public void mappingToCollectionShouldUseCommaDelimiterBeforeSemicolonWhenValueContainsBoth() {
+        List<String> actual = RecipientRewriteTableUtil.mappingToCollection("value1;value1,value2");
+        assertThat(actual).containsExactly("value1;value1","value2");
+    }
+
+    @Test
+    public void mappingToCollectionShouldUseSemicolonDelimiterBeforeColonWhenValueContainsBoth() {
+        List<String> actual = RecipientRewriteTableUtil.mappingToCollection("value1:value1;value2");
+        assertThat(actual).containsExactly("value1:value1","value2");
+    }
+    
+    @Test
+    public void mappingToCollectionShouldNotUseColonDelimiterWhenValueStartsWithError() {
+        List<String> actual = RecipientRewriteTableUtil.mappingToCollection("error:test");
+        assertThat(actual).containsExactly("error:test");
+    }
+    
+
+    @Test
+    public void mappingToCollectionShouldNotUseColonDelimiterWhenValueStartsWithDomain() {
+        List<String> actual = RecipientRewriteTableUtil.mappingToCollection("domain:test");
+        assertThat(actual).containsExactly("domain:test");
+    }
+    
+
+    @Test
+    public void mappingToCollectionShouldNotUseColonDelimiterWhenValueStartsWithRegex() {
+        List<String> actual = RecipientRewriteTableUtil.mappingToCollection("regex:test");
+        assertThat(actual).containsExactly("regex:test");
+    }
 
 }



---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org