RE: Question on dependency management while adding a test case

2014-10-11 Thread Stefan Seifert
this worked well, resolved in https://issues.apache.org/jira/browse/SLING-4033

stefan

>-Original Message-
>From: Julian Sedding [mailto:jsedd...@gmail.com]
>Sent: Friday, October 10, 2014 4:28 PM
>To: dev@sling.apache.org
>Subject: Re: Question on dependency management while adding a test case
>
>Hi Amit
>
>We could change the resourceresolver-mock to "use" a lower Sling API
>version than it "implements". I.e. in MockResourceResolver, change all
>resource.getValueMap() to ResourceUtil.getValueMap(resource). Then it
>should be compatible with lower API versions. This should work as long
>as there are no major API changes.
>
>Regards
>Julian
>
>On Fri, Oct 10, 2014 at 9:57 AM, Amit.. Gupta.  wrote:
>> Hello Team,
>>
>>
>> I am adding a test case of [0], for this I need to use latest of
>>
>>
>>org.apache.sling
>> org.apache.sling.testing.resourceresolver-
>mock
>>
>> ?
>>
>> This introduces a dependency to sling.api:2.7.0, because of
>resource.getValueMap
>>
>>
>> sling event module, otherwise is quite content with older api dependency.
>So, I don't want to introduce this higher dependency.
>>
>> I can explicitly give a lower bound in import, which isn't nice either. Is
>there any other way.
>>
>>
>> Regards,
>>
>> Amit
>>
>>
>> [0] https://issues.apache.org/jira/browse/SLING-4014


Re: Question on dependency management while adding a test case

2014-10-10 Thread Amit.. Gupta.
Hi Carsten,

That won't work, because the mock resource resolver implementation uses the 
Resource.getValueMap.

Julian's suggestion works, but I need to change the MockResourceResolver to use 
ResourceUtil.getValueMap instead.

Using above, I can stay on sling.api:2.4.0, but then my test fails, since it 
relies on SLING-2894 in ResourceUtil, which came in sling.api:2.5.0

I have attached my test case patch to the bug [0]

Thanks,
Amit

[0] 
https://issues.apache.org/jira/secure/attachment/12674209/SLING-4014-Test.patch

From: Carsten Ziegeler 
Sent: Friday, October 10, 2014 8:17 PM
To: dev@sling.apache.org
Subject: Re: Question on dependency management while adding a test case

Rethinking this, can't we simply exclude the api dependency when
including the resourceresolver-mock ?

org.apache.sling
org.apache.sling.testing.resourceresolver-mock

  
   org.apache.sling
   org.apache.sling.api
  


Carsten

Am 10.10.14 um 16:27 schrieb Julian Sedding:
> Hi Amit
>
> We could change the resourceresolver-mock to "use" a lower Sling API
> version than it "implements". I.e. in MockResourceResolver, change all
> resource.getValueMap() to ResourceUtil.getValueMap(resource). Then it
> should be compatible with lower API versions. This should work as long
> as there are no major API changes.
>
> Regards
> Julian
>
> On Fri, Oct 10, 2014 at 9:57 AM, Amit.. Gupta.  wrote:
>> Hello Team,
>>
>>
>> I am adding a test case of [0], for this I need to use latest of
>>
>>
>>org.apache.sling
>> 
>> org.apache.sling.testing.resourceresolver-mock
>>
>> ?
>>
>> This introduces a dependency to sling.api:2.7.0, because of 
>> resource.getValueMap
>>
>>
>> sling event module, otherwise is quite content with older api dependency. 
>> So, I don't want to introduce this higher dependency.
>>
>> I can explicitly give a lower bound in import, which isn't nice either. Is 
>> there any other way.
>>
>>
>> Regards,
>>
>> Amit
>>
>>
>> [0] https://issues.apache.org/jira/browse/SLING-4014
>


--
Carsten Ziegeler
Adobe Research Switzerland
cziege...@apache.org


Re: Question on dependency management while adding a test case

2014-10-10 Thread Carsten Ziegeler
Rethinking this, can't we simply exclude the api dependency when
including the resourceresolver-mock ?

org.apache.sling
org.apache.sling.testing.resourceresolver-mock

  
   org.apache.sling
   org.apache.sling.api
  


Carsten

Am 10.10.14 um 16:27 schrieb Julian Sedding:
> Hi Amit
> 
> We could change the resourceresolver-mock to "use" a lower Sling API
> version than it "implements". I.e. in MockResourceResolver, change all
> resource.getValueMap() to ResourceUtil.getValueMap(resource). Then it
> should be compatible with lower API versions. This should work as long
> as there are no major API changes.
> 
> Regards
> Julian
> 
> On Fri, Oct 10, 2014 at 9:57 AM, Amit.. Gupta.  wrote:
>> Hello Team,
>>
>>
>> I am adding a test case of [0], for this I need to use latest of
>>
>>
>>org.apache.sling
>> 
>> org.apache.sling.testing.resourceresolver-mock
>>
>> ?
>>
>> This introduces a dependency to sling.api:2.7.0, because of 
>> resource.getValueMap
>>
>>
>> sling event module, otherwise is quite content with older api dependency. 
>> So, I don't want to introduce this higher dependency.
>>
>> I can explicitly give a lower bound in import, which isn't nice either. Is 
>> there any other way.
>>
>>
>> Regards,
>>
>> Amit
>>
>>
>> [0] https://issues.apache.org/jira/browse/SLING-4014
> 


-- 
Carsten Ziegeler
Adobe Research Switzerland
cziege...@apache.org


Re: Question on dependency management while adding a test case

2014-10-10 Thread Julian Sedding
Hi Amit

We could change the resourceresolver-mock to "use" a lower Sling API
version than it "implements". I.e. in MockResourceResolver, change all
resource.getValueMap() to ResourceUtil.getValueMap(resource). Then it
should be compatible with lower API versions. This should work as long
as there are no major API changes.

Regards
Julian

On Fri, Oct 10, 2014 at 9:57 AM, Amit.. Gupta.  wrote:
> Hello Team,
>
>
> I am adding a test case of [0], for this I need to use latest of
>
>
>org.apache.sling
> 
> org.apache.sling.testing.resourceresolver-mock
>
> ?
>
> This introduces a dependency to sling.api:2.7.0, because of 
> resource.getValueMap
>
>
> sling event module, otherwise is quite content with older api dependency. So, 
> I don't want to introduce this higher dependency.
>
> I can explicitly give a lower bound in import, which isn't nice either. Is 
> there any other way.
>
>
> Regards,
>
> Amit
>
>
> [0] https://issues.apache.org/jira/browse/SLING-4014


RE: [mocks] Question on dependency management while adding a test case

2014-10-10 Thread Stefan Seifert

>Are the Event tests part of the same module? If they are, you can move
>them to a different module and then test + runtime dependencies are
>separated.
>
>Robert

this would be a workaround, but not a nice one if these mocks are used widely 
in a lot of projects. this is a general problem for all of those mocks. you 
cannot just lower the sling API version of the mock, because if the code you 
want to test depends on the newer version you need a mock of the most recent 
version of the interfaces.

in the worst case we have to branch these mock projects to support different 
version of APIs. fortunately the APIs for OSGi and JCR are very stable, but for 
sling itself this may be relevant. it get's more complicated when multiple APIs 
of different sling subprojects are mixed.

for wcm.io we have a solution where we will do a "big branch" for each major 
version of the commercial CMS it's targeted to, and ensure compatibility within 
the version.

stefan


Re: Question on dependency management while adding a test case

2014-10-10 Thread Amit.. Gupta.
Hi Robert,

Currently tests are part of sling event module.

Thanks
-Amit

From: Robert Munteanu 
Sent: Friday, October 10, 2014 1:41 PM
To: dev@sling.apache.org
Subject: Re: Question on dependency management while adding a test case

Hi Amit,

On Fri, Oct 10, 2014 at 10:57 AM, Amit.. Gupta.  wrote:
> Hello Team,
>
>
> I am adding a test case of [0], for this I need to use latest of
>
>
>org.apache.sling
> 
> org.apache.sling.testing.resourceresolver-mock
>
> ?
>
> This introduces a dependency to sling.api:2.7.0, because of 
> resource.getValueMap
>
>
> sling event module, otherwise is quite content with older api dependency. So, 
> I don't want to introduce this higher dependency.
>
> I can explicitly give a lower bound in import, which isn't nice either. Is 
> there any other way.

Are the Event tests part of the same module? If they are, you can move
them to a different module and then test + runtime dependencies are
separated.

Robert

>
>
> Regards,
>
> Amit
>
>
> [0] https://issues.apache.org/jira/browse/SLING-4014


Re: Question on dependency management while adding a test case

2014-10-10 Thread Robert Munteanu
Hi Amit,

On Fri, Oct 10, 2014 at 10:57 AM, Amit.. Gupta.  wrote:
> Hello Team,
>
>
> I am adding a test case of [0], for this I need to use latest of
>
>
>org.apache.sling
> 
> org.apache.sling.testing.resourceresolver-mock
>
> ?
>
> This introduces a dependency to sling.api:2.7.0, because of 
> resource.getValueMap
>
>
> sling event module, otherwise is quite content with older api dependency. So, 
> I don't want to introduce this higher dependency.
>
> I can explicitly give a lower bound in import, which isn't nice either. Is 
> there any other way.

Are the Event tests part of the same module? If they are, you can move
them to a different module and then test + runtime dependencies are
separated.

Robert

>
>
> Regards,
>
> Amit
>
>
> [0] https://issues.apache.org/jira/browse/SLING-4014


Question on dependency management while adding a test case

2014-10-10 Thread Amit.. Gupta.
Hello Team,


I am adding a test case of [0], for this I need to use latest of


   org.apache.sling

org.apache.sling.testing.resourceresolver-mock

?

This introduces a dependency to sling.api:2.7.0, because of resource.getValueMap


sling event module, otherwise is quite content with older api dependency. So, I 
don't want to introduce this higher dependency.

I can explicitly give a lower bound in import, which isn't nice either. Is 
there any other way.


Regards,

Amit


[0] https://issues.apache.org/jira/browse/SLING-4014