On 13/12/2015 12:43, Tellier Benoit wrote:
[...]
- jmap-integration-testing project is strange to me.
1/ Its location. I think it has nothing to do in protocols, and
would rather see it in a new folder. Something like
/server/integration-tests/jmap/cassandra .(again server/protocols is,
according to me, about decoding requests and encoding responses)
jmap-integration-testing aims at testing jmap protocol. It makes sense
to have it next to jmap.
About whether it should be next to server/protocols/jmap or
protocols/jmap : it's integration tests, we need a server running, so
server/protocols/jmap seems to be the best fit. Do you agree ?
2/ I think you should make it easier for one to implement other
backends, and separate Cassandra stuff from generalizable testing stuff.
To some degree, I disagree with the "everything must be generic" policy.
On one hand, it's not a problem to put interfaces to be able to switch
implementation of various part of James and it's what we did in jmap (we
don't have any dependency on a specific backend).
On the other hand, testing every configuration is a dead-end. Tests are
already too long to execute and cartesian product of pluggable parts is
really huge.
So our take is : just allow anybody to test the configuration it want
(after all, it's just a matter of splitting today
jmap-integration-testing in two parts) but don't pay upfront the cost of
having those configurations tested.
Obviously it is a choice we can discuss further if anybody feels it's a
critical design decision.
--
Matthieu Baechler
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org
For additional commands, e-mail: server-dev-h...@james.apache.org