Stefan Seifert created SLING-11548:
--------------------------------------

             Summary: sling-mock: Introduce RESOURCEPROVIDER_MOCK resource 
resolver type
                 Key: SLING-11548
                 URL: https://issues.apache.org/jira/browse/SLING-11548
             Project: Sling
          Issue Type: New Feature
          Components: Testing
            Reporter: Stefan Seifert
            Assignee: Stefan Seifert
             Fix For: Testing Sling Mock 3.4.0


based on the new MockResourceProvider implemention in resourceresolver-mock 
(SLING-11455) we introduce a new resource resolver type 
{{RESOURCEPROVIDER_MOCK}} that's uses the ResourceProvider implementation 
instead of the MockResourceResolver.

with this change we remove the additional wrapper layers for 
MockResourceResolverFactory and MockResourceResolver in sling-mock there were 
introduced for SLING-5922/SLING-10753 and caused various trouble because the 
wrapper layer was too simplicisty (examples for problems: SLING-10937, 
SLING-11252, [WTES-74|https://wcm-io.atlassian.net/browse/WTES-74])

benefits of {{RESOURCEPROVIDER_MOCK}} compared to {{{}RESOURCERESOLVER_MOCK{}}}:
 * it used the "real" sling resource resolver implementation with full support 
for combinding multiple ResourceProvider
 * fully supports loading folders of JSON or FileVault XML content as described 
in SLING-5922/SLING-10753.
this feature is no longer supported with {{RESOURCERESOLVER_MOCK}} and the 
error message indicated to switch to {{RESOURCEPROVIDER_MOCK}} for those tests 
that make use of this feature.
 * overall the resourceresolver behaves "closer" to the real resourceresolver 
than using MockResourceResolver alone

drawbacks:
 * the test execution has more overhead initializing the sling resourceresolver 
implementation with a lot of magic happening behinde the scenes
that's why we introduced a new resource resolver type, and did not just change 
the implementation of {{{}RESOURCERESOLVER_MOCK{}}}, and 
{{RESOURCERESOLVER_MOCK}} is still the default mode as it still serves well for 
the majority of typical use cases



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to