-----Original Message-----
From: Francesco Chicchiriccò [mailto:ilgro...@apache.org]
Sent: Dienstag, 11. Dezember 2012 11:25
To: dev@syncope.apache.org
Subject: Re: [DISCUSS] Re: Extract syncope system/integration tests into
separate project
On 10/12/2012 10:40, Andrei Shakirin wrote:
Hi Francesco,
Yep, we need kind of plan to synchronize our work.
I see the following order:
1. Merge the DEV_ROLE_PROVISIONING (Francesco) 2. Separate
persistence
layer SYNCOPE-241, SYNCOPE-242 (Christian) 3. Extract
integration/system tests (Andrei) 4. Merge CXF branch (Jan, Christian,
Andrei)
For (4) some work still should be done, so I see this merge in the next year.
What do you think?
It sounds fine, as long as we agree that (3) is a good thing for the project,
as it
happened for (1), (2) and (4) :-)
Regarding integration/system tests, I have some reasons to move them
into separate maven module:
1) Integration and system tests are normally use not the single, but
multiple modules (in syncope soon it will be core and persistence
modules, further even more)
Correct, but I don't see any reason to not keep the integration tests bundled
with the module providing the REST interface.
With maven, src/test is for tests and src/main for actual source code, isn't it?
;-)
2) Actually running integration tests takes about 3 mins, but I expect it will
grow in the future. For me it is a reason to separate fast JUnit tests and
integration tests to make development cycle shorter.
It could be, but I don't see any reason for worrying about this now.
3) Integration and system tests normally require specific dependencies and
logic: cargo plugin, unzip/copy web application, etc. Syncope can also be
tested with different servlet containers (tomcat, glassfish, TomEE+, etc). I
think placing this deps and logic in one project and reusing it has some
benefits.
Syncope core can be already tested against many servlet containers and
many DBMSes (I went into more details about this in [1]).
4) Separate module for systests is kind of common practice in many apache
projects: CXF, Camel, Karaf. Therefore separation can make understanding of
Syncope build process more easy for communities from other apache
projects.
The projects you are mentioning are frameworks, and I see perfectly normal
that for testing a framework you need to build test applications; but Syncope
core is a web application, not a framework.
What is your opinion?
My concerns stand still; mainly, I don't see the point of having a Maven
artifact like org.apache.syncope:syncope-core-integration-tests.
Regards.
[1]
http://syncope-dev.1063484.n5.nabble.com/Introducing-myself-and-a-
proposal-to-modularize-the-core-tp5711268p5711283.html
-----Original Message-----
From: Francesco Chicchiriccò [mailto:ilgro...@apache.org]
Sent: Montag, 10. Dezember 2012 09:57
To: dev@syncope.apache.org
Subject: [DISCUSS] Re: Extract syncope system/integration tests into
separate project
Hi all,
let's try to make some order :-)
The current situation is:
1. I am about to merge the DEV_ROLE_PROVISIONING branch into the
trunk
2. Jan (with help from Christian) will then merge the cxf branch
into the trunk and also apply some refactoring (see SYNCOPE-241 and
SYNCOPE-242) by splitting the core module
After (2) will have completed, we can think to discuss about
additional refactoring, IMO.
Now, I am not completely sure about the proposed refactoring,
especially after what I expect from (2): could you please give more
details about the benefits?
For example, I am not sure that moving test classes and resources in
separate modules (hence making such classes part of the release) is
necessarily a good thing.
Regards.
On 10/12/2012 09:41, Andrei Shakirin wrote:
Hi JB,
I mean just maven module, sure :)
What do you prefer as a name?
a) itests
b) systests
Cheers,
Andrei.
-----Original Message-----
From: Jean-Baptiste Onofré [mailto:j...@nanthrax.net]
Sent: Sonntag, 9. Dezember 2012 20:47
To: dev@syncope.apache.org
Subject: Re: Extract syncope system/integration tests into separate
project
Hi Andrei,
by separate project, you mean a "real" project (with its own
release cycle, artifacts, svn repo, etc), or just a Maven module ?
I don't think it's a good idea to have it in a separate "real"
project as it's coupled to the others artifacts/modules/codebase.
But a itest Maven module it's a good think (it's what we have most
of projects, like Karaf, ServiceMix, etc).
Regards
JB
On 12/09/2012 07:37 PM, Andrei Shakirin wrote:
Hi,
I would suggest to extract integration and system tests into
separate
project. From my perspective it makes management of tests and build
process more transparent and easy. Of course, JUnit tests will
stay in corresponded projects.
Does it make sense?
Cheers,
Andrei.