Re: Rewrite table specification
Hi all, Does everyone agree with those specifications? I will send the PR in a few days, no answer will be considered as an approbation. Thx, Antoine Hi Eric, Antoine wrote some specifications based on actual implementation behavior in order to implement a Cassandra backend. He should have give you the plain text specification link https://github.com/aduprat/james/blob/Issue-9/data/data-library/src/test/resources/cucumber/rewrite_tables.feature which should be very readable. What he found is that File implementation is read-only (JAMES-1598, no news here) and that there are bugs on hbase implementation too (JAMES-1599). He also found some inconsistent behaviors : x JAMES-1595 : an ErrorMappingException message is incorrect x JAMES-1596 : Error mapping should have precedence over other mappings x JAMES-1597 : Address mapping should have precedence over wildcard If the community agrees on the expected behaviors, we can propose the fixes for JAMES-159{5,6,7} . - To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org
Re: Rewrite table specification
Hi, I agree with the Rewrite Table specifications. Best regards, Benoit Le 10/09/2015 09:43, Antoine DUPRAT a écrit : Hi all, Does everyone agree with those specifications? I will send the PR in a few days, no answer will be considered as an approbation. Thx, Antoine Hi Eric, Antoine wrote some specifications based on actual implementation behavior in order to implement a Cassandra backend. He should have give you the plain text specification link https://github.com/aduprat/james/blob/Issue-9/data/data-library/src/test/resources/cucumber/rewrite_tables.feature which should be very readable. What he found is that File implementation is read-only (JAMES-1598, no news here) and that there are bugs on hbase implementation too (JAMES-1599). He also found some inconsistent behaviors : x JAMES-1595 : an ErrorMappingException message is incorrect x JAMES-1596 : Error mapping should have precedence over other mappings x JAMES-1597 : Address mapping should have precedence over wildcard If the community agrees on the expected behaviors, we can propose the fixes for JAMES-159{5,6,7} . - To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org - To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org
Re: Rewrite table specification
Hi Eric, Antoine wrote some specifications based on actual implementation behavior in order to implement a Cassandra backend. He should have give you the plain text specification link https://github.com/aduprat/james/blob/Issue-9/data/data-library/src/test/resources/cucumber/rewrite_tables.feature which should be very readable. What he found is that File implementation is read-only (JAMES-1598, no news here) and that there are bugs on hbase implementation too (JAMES-1599). He also found some inconsistent behaviors : x JAMES-1595 : an ErrorMappingException message is incorrect x JAMES-1596 : Error mapping should have precedence over other mappings x JAMES-1597 : Address mapping should have precedence over wildcard If the community agrees on the expected behaviors, we can propose the fixes for JAMES-159{5,6,7} . -- Matthieu Baechler On 14/08/2015 08:19, Eric Charles wrote: What is the impact on the existing rewrite implementations? On 2015-08-05 11:10, Antoine DUPRAT wrote: Hi all, As explained in the issue JAMES-1594 https://issues.apache.org/jira/browse/JAMES-1594, we would like to write the specification on rewrite table. The existing implementations are not all equivalent, and so we introduce issues related: * JAMES-1595 https://issues.apache.org/jira/browse/JAMES-1595 * JAMES-1596 https://issues.apache.org/jira/browse/JAMES-1596 * JAMES-1597 https://issues.apache.org/jira/browse/JAMES-1597 * JAMES-1598 https://issues.apache.org/jira/browse/JAMES-1598 * JAMES-1599 https://issues.apache.org/jira/browse/JAMES-1599 We are currently implementing the Cassandra backend related to this feature, and so we would like to improve the behaviour of it. Before sending the pull request with full implementation of the specification, we would like to have some feedback from the community. Attached to this mail, the specification written in Gherkin, full code available at https://github.com/aduprat/james/tree/Issue-9 commits list: * 3230ac2e836c28673dd22646a0da8f4af60a9c41 - Antoine Duprat Issue-9 add tests on recursive mappings * 742e8bbe6aa21a3925310ab7847c8750707a5487 - Antoine Duprat Issue-9 add tests on alias mappings * c4c52758f6b7f7ea756b52b1936c92efaf39a236 - Antoine Duprat Issue-9 add tests on wildcard address mappings * 2cadf4503573264752957481567a59d2a8669e39 - Antoine Duprat Issue-9 add tests on error mappings * a47e9e64cd15c348df7559b1f7e88aa8e4e25108 - Antoine Duprat Issue-9 add tests on address mappings * cd99601bf29279441976b75b3d58f80ffbd029af - Antoine Duprat Issue-9 add tests on regexp mappings * 1e4fb25027030b7234d914708de6b18cfdb5e6dc - Antoine Duprat Issue-9 First test on empty mapping * 9c98e06a95ceffd1ae4d282ca164e49cff698005 - Antoine Duprat Issue-9 Introduce Cucumber tests on rewrite tables on each backend Thanks and regards, -- Antoine Duprat Développeur LGS/OBM/RD -- GROUPE LINAGORA 74-80 rue Roque de Fillol 92800 Puteaux +33 (0)8 10 25 12 51 +33 (0)6 45 63 27 17 adup...@linagora.com -- La présente transmission contient des informations confidentielles appartenant à Linagora, exclusivement destinées au(x) destinataire(s) identifié(s) ci-dessus. Si vous n'en faites pas partie, toute reproduction, distribution ou divulgation de tout ou partie des informations de cette transmission, ou toute action effectuée sur la base de celles-ci vous sont formellement interdites. Si vous avez reçu cette transmission par erreur, nous vous remercions de nous en avertir et de la détruire de votre système d'information. The present transmission contains privileged and confidential information belonging to Linagora, exclusively intended for the recipient(s) thereabove identified. If you are not one of these aforementioned recipients, any reproduction, distribution, disclosure of said information in whole or in part, as well as any action undertaken on the basis of said information are strictly prohbited. If you received the present transmission by mistake, please inform us and destroy it from your messenging and information systems. - To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org - To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org
Re: Rewrite table specification
What is the impact on the existing rewrite implementations? On 2015-08-05 11:10, Antoine DUPRAT wrote: Hi all, As explained in the issue JAMES-1594 https://issues.apache.org/jira/browse/JAMES-1594, we would like to write the specification on rewrite table. The existing implementations are not all equivalent, and so we introduce issues related: * JAMES-1595 https://issues.apache.org/jira/browse/JAMES-1595 * JAMES-1596 https://issues.apache.org/jira/browse/JAMES-1596 * JAMES-1597 https://issues.apache.org/jira/browse/JAMES-1597 * JAMES-1598 https://issues.apache.org/jira/browse/JAMES-1598 * JAMES-1599 https://issues.apache.org/jira/browse/JAMES-1599 We are currently implementing the Cassandra backend related to this feature, and so we would like to improve the behaviour of it. Before sending the pull request with full implementation of the specification, we would like to have some feedback from the community. Attached to this mail, the specification written in Gherkin, full code available at https://github.com/aduprat/james/tree/Issue-9 commits list: * 3230ac2e836c28673dd22646a0da8f4af60a9c41 - Antoine Duprat Issue-9 add tests on recursive mappings * 742e8bbe6aa21a3925310ab7847c8750707a5487 - Antoine Duprat Issue-9 add tests on alias mappings * c4c52758f6b7f7ea756b52b1936c92efaf39a236 - Antoine Duprat Issue-9 add tests on wildcard address mappings * 2cadf4503573264752957481567a59d2a8669e39 - Antoine Duprat Issue-9 add tests on error mappings * a47e9e64cd15c348df7559b1f7e88aa8e4e25108 - Antoine Duprat Issue-9 add tests on address mappings * cd99601bf29279441976b75b3d58f80ffbd029af - Antoine Duprat Issue-9 add tests on regexp mappings * 1e4fb25027030b7234d914708de6b18cfdb5e6dc - Antoine Duprat Issue-9 First test on empty mapping * 9c98e06a95ceffd1ae4d282ca164e49cff698005 - Antoine Duprat Issue-9 Introduce Cucumber tests on rewrite tables on each backend Thanks and regards, -- Antoine Duprat Développeur LGS/OBM/RD -- GROUPE LINAGORA 74-80 rue Roque de Fillol 92800 Puteaux +33 (0)8 10 25 12 51 +33 (0)6 45 63 27 17 adup...@linagora.com -- La présente transmission contient des informations confidentielles appartenant à Linagora, exclusivement destinées au(x) destinataire(s) identifié(s) ci-dessus. Si vous n'en faites pas partie, toute reproduction, distribution ou divulgation de tout ou partie des informations de cette transmission, ou toute action effectuée sur la base de celles-ci vous sont formellement interdites. Si vous avez reçu cette transmission par erreur, nous vous remercions de nous en avertir et de la détruire de votre système d'information. The present transmission contains privileged and confidential information belonging to Linagora, exclusively intended for the recipient(s) thereabove identified. If you are not one of these aforementioned recipients, any reproduction, distribution, disclosure of said information in whole or in part, as well as any action undertaken on the basis of said information are strictly prohbited. If you received the present transmission by mistake, please inform us and destroy it from your messenging and information systems. - To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org -- Eric Charles http://datalayer.io - To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org
Rewrite table specification
Hi all, As explained in the issue JAMES-1594 https://issues.apache.org/jira/browse/JAMES-1594, we would like to write the specification on rewrite table. The existing implementations are not all equivalent, and so we introduce issues related: * JAMES-1595 https://issues.apache.org/jira/browse/JAMES-1595 * JAMES-1596 https://issues.apache.org/jira/browse/JAMES-1596 * JAMES-1597 https://issues.apache.org/jira/browse/JAMES-1597 * JAMES-1598 https://issues.apache.org/jira/browse/JAMES-1598 * JAMES-1599 https://issues.apache.org/jira/browse/JAMES-1599 We are currently implementing the Cassandra backend related to this feature, and so we would like to improve the behaviour of it. Before sending the pull request with full implementation of the specification, we would like to have some feedback from the community. Attached to this mail, the specification written in Gherkin, full code available at https://github.com/aduprat/james/tree/Issue-9 commits list: * 3230ac2e836c28673dd22646a0da8f4af60a9c41 - Antoine Duprat Issue-9 add tests on recursive mappings * 742e8bbe6aa21a3925310ab7847c8750707a5487 - Antoine Duprat Issue-9 add tests on alias mappings * c4c52758f6b7f7ea756b52b1936c92efaf39a236 - Antoine Duprat Issue-9 add tests on wildcard address mappings * 2cadf4503573264752957481567a59d2a8669e39 - Antoine Duprat Issue-9 add tests on error mappings * a47e9e64cd15c348df7559b1f7e88aa8e4e25108 - Antoine Duprat Issue-9 add tests on address mappings * cd99601bf29279441976b75b3d58f80ffbd029af - Antoine Duprat Issue-9 add tests on regexp mappings * 1e4fb25027030b7234d914708de6b18cfdb5e6dc - Antoine Duprat Issue-9 First test on empty mapping * 9c98e06a95ceffd1ae4d282ca164e49cff698005 - Antoine Duprat Issue-9 Introduce Cucumber tests on rewrite tables on each backend Thanks and regards, -- Antoine Duprat Développeur LGS/OBM/RD -- GROUPE LINAGORA 74-80 rue Roque de Fillol 92800 Puteaux +33 (0)8 10 25 12 51 +33 (0)6 45 63 27 17 adup...@linagora.com -- La présente transmission contient des informations confidentielles appartenant à Linagora, exclusivement destinées au(x) destinataire(s) identifié(s) ci-dessus. Si vous n'en faites pas partie, toute reproduction, distribution ou divulgation de tout ou partie des informations de cette transmission, ou toute action effectuée sur la base de celles-ci vous sont formellement interdites. Si vous avez reçu cette transmission par erreur, nous vous remercions de nous en avertir et de la détruire de votre système d'information. The present transmission contains privileged and confidential information belonging to Linagora, exclusively intended for the recipient(s) thereabove identified. If you are not one of these aforementioned recipients, any reproduction, distribution, disclosure of said information in whole or in part, as well as any action undertaken on the basis of said information are strictly prohbited. If you received the present transmission by mistake, please inform us and destroy it from your messenging and information systems. Feature: Rewrite Tables tests Scenario: rewrite tables should be empty when none defined Then mappings should be empty # Regexp mapping Scenario: stored regexp mapping should be retrieved when one mapping matching Given store (.*)@localhost regexp mapping for user test at domain localhost Then mappings for user test at domain localhost should contains only regex:(.*)@localhost Scenario: stored regexp mapping should be retrieved when two mappings matching Given store (.*)@localhost regexp mapping for user test at domain localhost And store (.+)@test regexp mapping for user test at domain localhost Then mappings for user test at domain localhost should contains only regex:(.*)@localhost, regex:(.+)@test Scenario: stored regexp mapping should not be retrieved by another user Given store (.*)@localhost regexp mapping for user test at domain localhost And store (.+)@test regexp mapping for user test at domain localhost Then mappings for user test2 at domain localhost should be empty Scenario: removing a stored regexp mapping should work Given store (.*)@localhost regexp mapping for user test at domain localhost And store (.+)@test regexp mapping for user test at domain localhost When user test at domain localhost removes a regexp mapping (.+)@test Then mappings for user test at domain localhost should contains only regex:(.*)@localhost Scenario: storing an invalid regexp mapping should not work When store an invalid .*): regexp mapping for user test at domain localhost Then a RecipientRewriteTableException exception should have been thrown # Address mapping Scenario: stored address mapping should be retrieved when one mapping matching Given store test@localhost2 address mapping for user test at domain localhost Then mappings for user test at domain localhost should