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-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org