Author: matthieu Date: Mon Nov 2 13:41:59 2015 New Revision: 1711970 URL: http://svn.apache.org/viewvc?rev=1711970&view=rev Log: JAMES-1594 add tests on alias mappings
Modified: james/project/trunk/server/data/data-library/src/test/java/org/apache/james/rrt/lib/RewriteTablesStepdefs.java james/project/trunk/server/data/data-library/src/test/resources/cucumber/rewrite_tables.feature Modified: james/project/trunk/server/data/data-library/src/test/java/org/apache/james/rrt/lib/RewriteTablesStepdefs.java URL: http://svn.apache.org/viewvc/james/project/trunk/server/data/data-library/src/test/java/org/apache/james/rrt/lib/RewriteTablesStepdefs.java?rev=1711970&r1=1711969&r2=1711970&view=diff ============================================================================== --- james/project/trunk/server/data/data-library/src/test/java/org/apache/james/rrt/lib/RewriteTablesStepdefs.java (original) +++ james/project/trunk/server/data/data-library/src/test/java/org/apache/james/rrt/lib/RewriteTablesStepdefs.java Mon Nov 2 13:41:59 2015 @@ -65,6 +65,11 @@ public class RewriteTablesStepdefs { storeAddressMappingForUserAtDomain(address, RecipientRewriteTable.WILDCARD, domain); } + @Given("store \"([^\"]*)\" alias domain mapping for domain \"([^\"]*)\"") + public void storeAliasDomainMappingForDomain(String aliasDomain, String domain) throws Throwable { + rewriteTable.addAliasDomainMapping(aliasDomain, domain); + } + @When("user \"([^\"]*)\" at domain \"([^\"]*)\" removes a regexp mapping \"([^\"]*)\"") public void userAtDomainRemovesRegexpMapping(String user, String domain, String regexp) throws Throwable { rewriteTable.removeRegexMapping(user, domain, regexp); @@ -85,6 +90,11 @@ public class RewriteTablesStepdefs { userAtDomainRemovesAddressMapping(RecipientRewriteTable.WILDCARD, domain, address); } + @When("alias domain mapping \"([^\"]*)\" for \"([^\"]*)\" domain is removed") + public void removeAliasDomainMappingForDomain(String aliasdomain, String domain) throws Throwable { + rewriteTable.removeAliasDomainMapping(aliasdomain, domain); + } + @Then("mappings should be empty") public void assertMappingsIsEmpty() throws Throwable { assertThat(rewriteTable.getAllMappings()).isNullOrEmpty(); Modified: james/project/trunk/server/data/data-library/src/test/resources/cucumber/rewrite_tables.feature URL: http://svn.apache.org/viewvc/james/project/trunk/server/data/data-library/src/test/resources/cucumber/rewrite_tables.feature?rev=1711970&r1=1711969&r2=1711970&view=diff ============================================================================== --- james/project/trunk/server/data/data-library/src/test/resources/cucumber/rewrite_tables.feature (original) +++ james/project/trunk/server/data/data-library/src/test/resources/cucumber/rewrite_tables.feature Mon Nov 2 13:41:59 2015 @@ -127,4 +127,51 @@ Feature: Rewrite Tables tests Scenario: stored address mappings as wildcard should be retrieved when two address mappings as wildcard Given store "test@localhost" address mapping as wildcard for domain "localhost" And store "test2@localhost" address mapping as wildcard for domain "localhost" - Then mappings for user "user" at domain "localhost" should contains only "test@localhost, test2@localhost" \ No newline at end of file + Then mappings for user "user" at domain "localhost" should contains only "test@localhost, test2@localhost" + +# Alias mapping + + Scenario: address mapping should be retrieved when searching with a domain alias + Given store "aliasdomain" alias domain mapping for domain "localhost" + Then mappings for user "test" at domain "aliasdomain" should contains only "test@localhost" + + Scenario: address mapping should be retrieved when searching with a domain alias + Given store "test2@localhost" address mapping for user "test" at domain "localhost" + And store "aliasdomain" alias domain mapping for domain "localhost" + Then mappings for user "test" at domain "aliasdomain" should contains only "test2@localhost" + + Scenario: address mapping should be retrieved when searching with a domain alias (reverse insertion order) + Given store "aliasdomain" alias domain mapping for domain "localhost" + And store "test2@localhost" address mapping for user "test" at domain "localhost" + Then mappings for user "test" at domain "aliasdomain" should contains only "test2@localhost" + + Scenario: address mapping should be retrieved when searching with the correct domain and exists an alias domain + Given store "test2@localhost" address mapping for user "test" at domain "localhost" + And store "aliasdomain" alias domain mapping for domain "localhost" + Then mappings for user "test" at domain "localhost" should contains only "test2@localhost" + + Scenario: wildcard address mapping should be retrieved when searching with a domain alias + Given store "wildcard@localhost" address mapping as wildcard for domain "localhost" + And store "aliasdomain" alias domain mapping for domain "localhost" + Then mappings for user "test" at domain "aliasdomain" should contains only "wildcard@localhost" + + Scenario: wildcard address mapping should be retrieved when searching with a domain and exists an alias domain + Given store "wildcard@localhost" address mapping as wildcard for domain "localhost" + And store "aliasdomain" alias domain mapping for domain "localhost" + Then mappings for user "test" at domain "localhost" should contains only "wildcard@localhost" + + Scenario: both wildcard address mapping and default user address should be retrieved when wildcard address mapping on alias domain + Given store "wildcard@localhost" address mapping as wildcard for domain "aliasdomain" + And store "aliasdomain" alias domain mapping for domain "localhost" + Then mappings for user "test" at domain "aliasdomain" should contains only "test@localhost, wildcard@localhost" + + Scenario: both wildcard address mapping and default user address should be retrieved when wildcard address mapping on alias domain (reverse insertion order) + Given store "aliasdomain" alias domain mapping for domain "localhost" + And store "wildcard@localhost" address mapping as wildcard for domain "aliasdomain" + Then mappings for user "test" at domain "aliasdomain" should contains only "test@localhost, wildcard@localhost" + + Scenario: asking for a removed domain alias should fail + Given store "wildcard@localhost" address mapping as wildcard for domain "localhost" + And store "aliasdomain" alias domain mapping for domain "localhost" + When alias domain mapping "aliasdomain" for "localhost" domain is removed + Then mappings for user "test" at domain "aliasdomain" should be empty \ No newline at end of file --------------------------------------------------------------------- To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org