[ 
https://issues.apache.org/jira/browse/SLING-10937?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17449295#comment-17449295
 ] 

Stefan Seifert commented on SLING-10937:
----------------------------------------

i've updated the test in the PR a bit to ensure it is run in all resource 
resolver types - it fails only for RESOURCERESOLVER_MOCK as you described.

however, i think the test case is not valid. in your test case, a 
ResourceWrapper instance is checked for equality with a MockResource instance - 
but both implementations do not implement any useful equal method, so this will 
always fail and does not prove the failure case you describe. can you enhance 
the test to show the problem without relying to equals?

i'm using the latest sling mock versions in a lot of projects with lots of 
sling models involved and did not see an actual problem with the new wrapping 
yet, so it would be good to see a real-life example.

> Resource in tested Sling Model not equal to Resource it was adapted from
> ------------------------------------------------------------------------
>
>                 Key: SLING-10937
>                 URL: https://issues.apache.org/jira/browse/SLING-10937
>             Project: Sling
>          Issue Type: Bug
>          Components: Testing
>    Affects Versions: Testing Sling Mock 3.1.2
>            Reporter: Konrad Windszus
>            Priority: Major
>             Fix For: Testing Sling Mock 3.1.4
>
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> The resources returned from 
> {{org.apache.sling.testing.mock.sling.RRMockResourceResolverWrapper}} are of 
> type {{ResourceResolverResourceWrapper}} (in case the resource providers are 
> empty).
> When these resources are adapted to a Sling Model, the injected resource is 
> the unwrapped resource which is not equal to the wrapped resource from 
> outside.
> This is due to the fact that {{ResourceResolverResourceWrapper.adaptTo(...)}} 
> is not overwritten but just delegated to the underlying Resource. That makes 
> the Adapter only acting on the unwrapped resource which is not equal to the 
> wrapped one.
> This leads to unexpected behaviour when verifying interactions with mocks 
> taking the resource as argument, as the wrapped resource is never equal to 
> the resource used in the Sling Model given to the mock.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to