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.
--
Francesco Chicchiriccò
ASF Member, Apache Syncope PMC chair, Apache Cocoon PMC Member
http://people.apache.org/~ilgrosso/