Re: Rewrite table specification

2015-09-10 Thread Antoine DUPRAT

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

2015-09-10 Thread Benoit Tellier

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

2015-08-26 Thread Matthieu Baechler

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

2015-08-14 Thread Eric Charles

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

2015-08-05 Thread Antoine DUPRAT

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