You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@syncope.apache.org by Francesco Chicchiriccò <il...@apache.org> on 2012/12/10 09:56:30 UTC

[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:jb@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/


Re: [DISCUSS] Re: Extract syncope system/integration tests into separate project

Posted by Christian Schneider <ch...@die-schneider.net>.
I am kind of +0 about the move of the integration tests into a separate
project.

Many projects like CXF and Karaf have the integration tests in a
separate project. There the benefit is that the individual modules have
their unit tests which run very fast and
the integration tests only have to run after all modules are built. So
this allows to have a little bit faster development cycle.

In syncope the itests are in the core module which does not have real
unit tests anyway. So I think the advantage of moving the itests out is
not so big. This may change if we start creating unit tests for the the
core classes.
I am not so sure though how well unit tests would work there.
Additionally the whole syncope build is very fast (about 3 mins)
compared to more than one hour in e.g. camel.

Christian

On 10.12.2012 09:56, Francesco Chicchiriccò wrote:
> 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:jb@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.
>


RE: [DISCUSS] Re: Extract syncope system/integration tests into separate project

Posted by Andrei Shakirin <as...@talend.com>.
> I was meaning "how do you say 'not anymore'?

Ah ... just mean that we have opinions from you, me, Christian and JB at the moment.
Sorry for unclear statement.

> -----Original Message-----
> From: Francesco Chicchiriccò [mailto:ilgrosso@apache.org]
> Sent: Mittwoch, 12. Dezember 2012 11:14
> To: dev@syncope.apache.org
> Subject: Re: [DISCUSS] Re: Extract syncope system/integration tests into
> separate project
> 
> On 12/12/2012 11:10, Andrei Shakirin wrote:
> >> How do you say that?
> > But a itest Maven module it's a good think (it's what we have most of
> projects, like Karaf, ServiceMix, etc).
> > Regards
> > JB
> >
> > I interpret it as +1, am I wrong?
> 
> Of course not (see [1] for a link to Jean-Baptiste's e-mail).
> I was meaning "how do you say 'not anymore'?
> 
> >> I am actually interested to hear from anyone, especially committers.
> > Sure.
> 
> [1]
> http://syncope-dev.1063484.n5.nabble.com/Extract-syncope-system-
> integration-tests-into-separate-project-tp5711318p5711319.html
> 
> >>>> -----Original Message-----
> >>>> From: Francesco Chicchiriccò [mailto:ilgrosso@apache.org]
> >>>> Sent: Mittwoch, 12. Dezember 2012 10:48
> >>>> To: dev@syncope.apache.org
> >>>> Subject: Re: [DISCUSS] Re: Extract syncope system/integration tests
> >>>> into separate project
> >>>>
> >>>> On 12/12/2012 10:44, Andrei Shakirin wrote:
> >>>>> Hi Francesco,
> >>>>>
> >>>>> I still see some benefits to extract integration tests applying to
> >>>>> whole web
> >>>> application from real unit tests checking logic located only in
> >>>> current
> >> module.
> >>>>> I agree that it is not urgent task at the moment, although it will
> >>>>> make my
> >>>> development cycle faster even now.
> >>>>> Do you have any concerns if I create jira for this with minor priority?
> >>>> No at all, even though I'd prefer to hear also someone else's
> >>>> though about this before getting into JIRA: it's only you, me and
> Christian so far...
> >>>>
> >>>> Regards.
> >>>>
> >>>>>> -----Original Message-----
> >>>>>> From: Francesco Chicchiriccò [mailto:ilgrosso@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
> >>>>>> TomEE+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:ilgrosso@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:jb@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/


Re: [DISCUSS] Re: Extract syncope system/integration tests into separate project

Posted by Christian Schneider <ch...@die-schneider.net>.
I think Andrei just meant that not any more committers have voiced their
opinions.
Of course after reading it again it could also be read that JB does not
agree anymore :-)

Christian

On 12.12.2012 11:13, Francesco Chicchiriccò wrote:
> On 12/12/2012 11:10, Andrei Shakirin wrote:
>>> How do you say that?
>> But a itest Maven module it's a good think (it's what we have most of
>> projects, like Karaf, ServiceMix, etc).
>> Regards
>> JB
>>
>> I interpret it as +1, am I wrong?
>
> Of course not (see [1] for a link to Jean-Baptiste's e-mail).
> I was meaning "how do you say 'not anymore'?
>
>


Re: [DISCUSS] Re: Extract syncope system/integration tests into separate project

Posted by Francesco Chicchiriccò <il...@apache.org>.
On 12/12/2012 11:10, Andrei Shakirin wrote:
>> How do you say that?
> But a itest Maven module it's a good think (it's what we have most of projects, like Karaf, ServiceMix, etc).
> Regards
> JB
>
> I interpret it as +1, am I wrong?

Of course not (see [1] for a link to Jean-Baptiste's e-mail).
I was meaning "how do you say 'not anymore'?

>> I am actually interested to hear from anyone, especially committers.
> Sure.

[1] 
http://syncope-dev.1063484.n5.nabble.com/Extract-syncope-system-integration-tests-into-separate-project-tp5711318p5711319.html

>>>> -----Original Message-----
>>>> From: Francesco Chicchiriccò [mailto:ilgrosso@apache.org]
>>>> Sent: Mittwoch, 12. Dezember 2012 10:48
>>>> To: dev@syncope.apache.org
>>>> Subject: Re: [DISCUSS] Re: Extract syncope system/integration tests
>>>> into separate project
>>>>
>>>> On 12/12/2012 10:44, Andrei Shakirin wrote:
>>>>> Hi Francesco,
>>>>>
>>>>> I still see some benefits to extract integration tests applying to
>>>>> whole web
>>>> application from real unit tests checking logic located only in current
>> module.
>>>>> I agree that it is not urgent task at the moment, although it will
>>>>> make my
>>>> development cycle faster even now.
>>>>> Do you have any concerns if I create jira for this with minor priority?
>>>> No at all, even though I'd prefer to hear also someone else's though
>>>> about this before getting into JIRA: it's only you, me and Christian so far...
>>>>
>>>> Regards.
>>>>
>>>>>> -----Original Message-----
>>>>>> From: Francesco Chicchiriccò [mailto:ilgrosso@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
>>>>>> TomEE+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:ilgrosso@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:jb@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/


RE: [DISCUSS] Re: Extract syncope system/integration tests into separate project

Posted by Andrei Shakirin <as...@talend.com>.
> 
> How do you say that?
> 

But a itest Maven module it's a good think (it's what we have most of projects, like Karaf, ServiceMix, etc).
Regards
JB

I interpret it as +1, am I wrong?

> 
> I am actually interested to hear from anyone, especially committers.

Sure.

Andrei.

> >> -----Original Message-----
> >> From: Francesco Chicchiriccò [mailto:ilgrosso@apache.org]
> >> Sent: Mittwoch, 12. Dezember 2012 10:48
> >> To: dev@syncope.apache.org
> >> Subject: Re: [DISCUSS] Re: Extract syncope system/integration tests
> >> into separate project
> >>
> >> On 12/12/2012 10:44, Andrei Shakirin wrote:
> >>> Hi Francesco,
> >>>
> >>> I still see some benefits to extract integration tests applying to
> >>> whole web
> >> application from real unit tests checking logic located only in current
> module.
> >>> I agree that it is not urgent task at the moment, although it will
> >>> make my
> >> development cycle faster even now.
> >>> Do you have any concerns if I create jira for this with minor priority?
> >> No at all, even though I'd prefer to hear also someone else's though
> >> about this before getting into JIRA: it's only you, me and Christian so far...
> >>
> >> Regards.
> >>
> >>>> -----Original Message-----
> >>>> From: Francesco Chicchiriccò [mailto:ilgrosso@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
> >>>> TomEE+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:ilgrosso@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:jb@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/


Re: [DISCUSS] Re: Extract syncope system/integration tests into separate project

Posted by Francesco Chicchiriccò <il...@apache.org>.
On 12/12/2012 11:00, Andrei Shakirin wrote:
>> No at all, even though I'd prefer to hear also someone else's though about
>> this before getting into JIRA: it's only you, me and Christian so far...
> It was +1 from JB on Sunday, but not anymore.

How do you say that?

> Interesting to hear Jan and Colm.


I am actually interested to hear from anyone, especially committers.

Regards.

>> -----Original Message-----
>> From: Francesco Chicchiriccò [mailto:ilgrosso@apache.org]
>> Sent: Mittwoch, 12. Dezember 2012 10:48
>> To: dev@syncope.apache.org
>> Subject: Re: [DISCUSS] Re: Extract syncope system/integration tests into
>> separate project
>>
>> On 12/12/2012 10:44, Andrei Shakirin wrote:
>>> Hi Francesco,
>>>
>>> I still see some benefits to extract integration tests applying to whole web
>> application from real unit tests checking logic located only in current module.
>>> I agree that it is not urgent task at the moment, although it will make my
>> development cycle faster even now.
>>> Do you have any concerns if I create jira for this with minor priority?
>> No at all, even though I'd prefer to hear also someone else's though about
>> this before getting into JIRA: it's only you, me and Christian so far...
>>
>> Regards.
>>
>>>> -----Original Message-----
>>>> From: Francesco Chicchiriccò [mailto:ilgrosso@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:ilgrosso@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:jb@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/


Re: [DISCUSS] Re: Extract syncope system/integration tests into separate project

Posted by Francesco Chicchiriccò <il...@apache.org>.
On 12/12/2012 16:51, Colm O hEigeartaigh wrote:
> Hi Francesco,
>
>> Sorry if I am saying something obvious but:
>> * 'mvn clean package' will just stop before verify, hence not triggering the maven-failsafe-plugin
>> * 'mvn clean verify -DskipTests' will avoid integration test execution but will start the environment (including Tomcat) anyway
> Could we define a goal to avoid starting Tomcat in core and avoid the integration tests? For example, CXF has a "fastinstall" profile that just compiles + installs all of the modules and doesn't run any tests or PMD/checkstyle.

Hi Colm,
I've created SYNCOPE-254 and attached a patch there introducing a new 
'skipTests' build profile.
Please take a look and let me know.

Regards.

-- 
Francesco Chicchiriccò

ASF Member, Apache Syncope PMC chair, Apache Cocoon PMC Member
http://people.apache.org/~ilgrosso/


Re: [DISCUSS] Re: Extract syncope system/integration tests into separate project

Posted by Colm O hEigeartaigh <co...@apache.org>.
Hi Francesco,

> Sorry if I am saying something obvious but:
> * 'mvn clean package' will just stop before verify, hence not triggering
the maven-failsafe-plugin
> * 'mvn clean verify -DskipTests' will avoid integration test execution
but will start the environment (including Tomcat) anyway

Could we define a goal to avoid starting Tomcat in core and avoid the
integration tests? For example, CXF has a "fastinstall" profile that just
compiles + installs all of the modules and doesn't run any tests or
PMD/checkstyle.

Thanks,

Colm.

RE: [DISCUSS] Re: Extract syncope system/integration tests into separate project

Posted by Andrei Shakirin <as...@talend.com>.
Hi Francesco,

I would propose to close discussion with -1 for now without creating jira issue.
If community will see this refactoring necessary in the future we can reopen the discussion.
For sure we have actually more urgent and important things to process.
Do you agree?

Cheers,
Andrei.

> -----Original Message-----
> From: Francesco Chicchiriccò [mailto:ilgrosso@apache.org]
> Sent: Mittwoch, 12. Dezember 2012 13:23
> To: dev@syncope.apache.org
> Subject: Re: [DISCUSS] Re: Extract syncope system/integration tests into
> separate project
> 
> On 12/12/2012 12:51, Colm O hEigeartaigh wrote:
> > Like Christian, I'm +0 to this idea. In other words, I think it's
> > probably a good idea, but don't have strong feelings either way ;-)
> >
> > The main advantage that I can see to doing this is that it may make core
> development a bit easier, by not having to run the integration tests all the
> time (incidentally: is there an easy way to skip the integration tests?).
> 
> Sorry if I am saying something obvious but:
>   * 'mvn clean package' will just stop before verify, hence not triggering the
> maven-failsafe-plugin
>   * 'mvn clean verify -DskipTests' will avoid integration test execution but will
> start the environment (including Tomcat) anyway
> 
> Alternatively, you should comment the <executions> element of the cargo-
> maven2-plugin in core/pom.xml AND pass -DskipTests We can, of course,
> define a specific profile in core/pom.xml with these settings.
> 
> > Francesco, do you have any specific objections to this proposal, or is it just
> that you are not convinced of the arguments in favour?
> 
> I am
>   1. not convinced of some pros (speeding build time? With <3 mins?)
>   2. worried about fragmentation
>   3. not convinced of releasing Maven artifacts containing test classes as main
> content: what's the 'src/test' directory or the 'tests'
> classifier for, then?
> 
> Anyway, if anyone can enlighten me about (2) and (3), I can be +0 as well.
> 
> > IMO it's not worth the hassle in arguing over this minor issue. If the "pro"
> argument I mentioned above is not agreed by everyone, then I propose we -
> 1 this proposal and move on.
> 
> --
> Francesco Chicchiriccò
> 
> ASF Member, Apache Syncope PMC chair, Apache Cocoon PMC Member
> http://people.apache.org/~ilgrosso/


Re: [DISCUSS] Re: Extract syncope system/integration tests into separate project

Posted by Francesco Chicchiriccò <il...@apache.org>.
On 12/12/2012 12:51, Colm O hEigeartaigh wrote:
> Like Christian, I'm +0 to this idea. In other words, I think it's probably a good idea, but don't have strong feelings either way ;-)
>
> The main advantage that I can see to doing this is that it may make core development a bit easier, by not having to run the integration tests all the time (incidentally: is there an easy way to skip the integration tests?).

Sorry if I am saying something obvious but:
  * 'mvn clean package' will just stop before verify, hence not 
triggering the maven-failsafe-plugin
  * 'mvn clean verify -DskipTests' will avoid integration test execution 
but will start the environment (including Tomcat) anyway

Alternatively, you should comment the <executions> element of the 
cargo-maven2-plugin in core/pom.xml AND pass -DskipTests
We can, of course, define a specific profile in core/pom.xml with these 
settings.

> Francesco, do you have any specific objections to this proposal, or is it just that you are not convinced of the arguments in favour?

I am
  1. not convinced of some pros (speeding build time? With <3 mins?)
  2. worried about fragmentation
  3. not convinced of releasing Maven artifacts containing test classes 
as main content: what's the 'src/test' directory or the 'tests' 
classifier for, then?

Anyway, if anyone can enlighten me about (2) and (3), I can be +0 as well.

> IMO it's not worth the hassle in arguing over this minor issue. If the "pro" argument I mentioned above is not agreed by everyone, then I propose we -1 this proposal and move on.

-- 
Francesco Chicchiriccò

ASF Member, Apache Syncope PMC chair, Apache Cocoon PMC Member
http://people.apache.org/~ilgrosso/


Re: [DISCUSS] Re: Extract syncope system/integration tests into separate project

Posted by Massimiliano Perrone <ma...@tirasa.net>.
Il 12/12/2012 12:51, Colm O hEigeartaigh ha scritto:
> Like Christian, I'm +0 to this idea. In other words, I think it's probably
> a good idea, but don't have strong feelings either way ;-)
>
> The main advantage that I can see to doing this is that it may make core
> development a bit easier, by not having to run the integration tests all
> the time (incidentally: is there an easy way to skip the integration
> tests?). Francesco, do you have any specific objections to this proposal,
> or is it just that you are not convinced of the arguments in favour?
>
> IMO it's not worth the hassle in arguing over this minor issue. If the
> "pro" argument I mentioned above is not agreed by everyone, then I propose
> we -1 this proposal and move on.
>
> Colm.
>
>    
My opinion is based on a basic question: which logic we want to follow 
to divide the project's modules?
Syncope modules division is intuitive and it's based on architectural 
components. And I prefer this logic. (Personal predilection)

Also because the only effort that would allow the creation of a specific 
modul for the integration tests would be fastest building time (that as 
Francesco says, is low because it's less than three minutes), on the 
contrary we start a project fragmentation that make it less intuitive.

For me: -1

Massimiliano

-- 
Massimiliano Perrone
Tel +39 393 9121310

Tirasa S.r.l.
Viale D'Annunzio 267 - 65127 Pescara
Tel +39 0859116307 / FAX +39 0859111173
http://www.tirasa.net

Apache Syncope PMC Member
http://people.apache.org/~massi/

"L'apprendere molte cose non insegna l'intelligenza"
(Eraclito)


Re: [DISCUSS] Re: Extract syncope system/integration tests into separate project

Posted by Colm O hEigeartaigh <co...@apache.org>.
Like Christian, I'm +0 to this idea. In other words, I think it's probably
a good idea, but don't have strong feelings either way ;-)

The main advantage that I can see to doing this is that it may make core
development a bit easier, by not having to run the integration tests all
the time (incidentally: is there an easy way to skip the integration
tests?). Francesco, do you have any specific objections to this proposal,
or is it just that you are not convinced of the arguments in favour?

IMO it's not worth the hassle in arguing over this minor issue. If the
"pro" argument I mentioned above is not agreed by everyone, then I propose
we -1 this proposal and move on.

Colm.

RE: [DISCUSS] Re: Extract syncope system/integration tests into separate project

Posted by Andrei Shakirin <as...@talend.com>.
> No at all, even though I'd prefer to hear also someone else's though about
> this before getting into JIRA: it's only you, me and Christian so far...

It was +1 from JB on Sunday, but not anymore. 
Interesting to hear Jan and Colm.

Andrei.

> -----Original Message-----
> From: Francesco Chicchiriccò [mailto:ilgrosso@apache.org]
> Sent: Mittwoch, 12. Dezember 2012 10:48
> To: dev@syncope.apache.org
> Subject: Re: [DISCUSS] Re: Extract syncope system/integration tests into
> separate project
> 
> On 12/12/2012 10:44, Andrei Shakirin wrote:
> > Hi Francesco,
> >
> > I still see some benefits to extract integration tests applying to whole web
> application from real unit tests checking logic located only in current module.
> > I agree that it is not urgent task at the moment, although it will make my
> development cycle faster even now.
> > Do you have any concerns if I create jira for this with minor priority?
> 
> No at all, even though I'd prefer to hear also someone else's though about
> this before getting into JIRA: it's only you, me and Christian so far...
> 
> Regards.
> 
> >> -----Original Message-----
> >> From: Francesco Chicchiriccò [mailto:ilgrosso@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:ilgrosso@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:jb@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/


Re: [DISCUSS] Re: Extract syncope system/integration tests into separate project

Posted by Francesco Chicchiriccò <il...@apache.org>.
On 12/12/2012 10:44, Andrei Shakirin wrote:
> Hi Francesco,
>
> I still see some benefits to extract integration tests applying to whole web application from real unit tests checking logic located only in current module.
> I agree that it is not urgent task at the moment, although it will make my development cycle faster even now.
> Do you have any concerns if I create jira for this with minor priority?

No at all, even though I'd prefer to hear also someone else's though 
about this before getting into JIRA: it's only you, me and Christian so 
far...

Regards.

>> -----Original Message-----
>> From: Francesco Chicchiriccò [mailto:ilgrosso@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:ilgrosso@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:jb@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/


RE: [DISCUSS] Re: Extract syncope system/integration tests into separate project

Posted by Andrei Shakirin <as...@talend.com>.
Hi Francesco,

I still see some benefits to extract integration tests applying to whole web application from real unit tests checking logic located only in current module.
I agree that it is not urgent task at the moment, although it will make my development cycle faster even now.
Do you have any concerns if I create jira for this with minor priority?

Cheers,
Andrei.

> -----Original Message-----
> From: Francesco Chicchiriccò [mailto:ilgrosso@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:ilgrosso@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:jb@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/


Re: [DISCUSS] Re: Extract syncope system/integration tests into separate project

Posted by Francesco Chicchiriccò <il...@apache.org>.
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:ilgrosso@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:jb@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/


RE: [DISCUSS] Re: Extract syncope system/integration tests into separate project

Posted by Andrei Shakirin <as...@talend.com>.
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?

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)
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.
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.
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.

What is your opinion?

Cheers,
Andrei.
 
> -----Original Message-----
> From: Francesco Chicchiriccò [mailto:ilgrosso@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:jb@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/