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