You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@sling.apache.org by "Henry Kuijpers (Jira)" <ji...@apache.org> on 2022/04/05 12:29:00 UTC

[jira] [Updated] (SLING-11252) RRMockResourceResolverWrapper supports no way of mocking searches

     [ https://issues.apache.org/jira/browse/SLING-11252?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Henry Kuijpers updated SLING-11252:
-----------------------------------
    Description: 
Previously, it was possible to call ((MockResourceResolver)context.resourceResolver()).addFindResourceHandler(...)

Currently, we have to add a "find resource handler" this way:
{code:java}
        final Field wrappedField = ResourceResolverWrapper.class.getDeclaredField("wrapped");
        wrappedField.setAccessible(true);
        ((MockResourceResolver) wrappedField.get(context.resourceResolver())).addFindResourceHandler((s, s1) -> {
            assertEquals("my-language", s);
            assertEquals("search term", s1);
            return contentResource.listChildren();
        });
{code}

This wrapping seems to have been added in: https://github.com/apache/sling-org-apache-sling-testing-sling-mock/commit/a6d01ff058d422ff544c2a137b42291bd550f603

We could add logic that consults the ResourceProviders to see if they can execute the custom search that we'd like to do, or, we could add the methods also on RRMockResourceResolverWrapper.

  was:
Previously, it was possible to call ((MockResourceResolver)context.resourceResolver()).addFindResourceHandler(...)

Currently, we have to add a "find resource handler" this way:
{code:java}
        final Field wrappedField = ResourceResolverWrapper.class.getDeclaredField("wrapped");
        wrappedField.setAccessible(true);
        ((MockResourceResolver) wrappedField.get(context.resourceResolver())).addFindResourceHandler((s, s1) -> {
            assertEquals(ContentProfileResourceProvider.CONTENT_PROFILES_SIMPLE_SEARCH, s);
            assertEquals("search", s1);
            return contentResource.listChildren();
        });
{code}

This wrapping seems to have been added in: https://github.com/apache/sling-org-apache-sling-testing-sling-mock/commit/a6d01ff058d422ff544c2a137b42291bd550f603

We could add logic that consults the ResourceProviders to see if they can execute the custom search that we'd like to do, or, we could add the methods also on RRMockResourceResolverWrapper.


> RRMockResourceResolverWrapper supports no way of mocking searches
> -----------------------------------------------------------------
>
>                 Key: SLING-11252
>                 URL: https://issues.apache.org/jira/browse/SLING-11252
>             Project: Sling
>          Issue Type: Bug
>          Components: Testing
>    Affects Versions: Testing Sling Mock 3.2.2
>            Reporter: Henry Kuijpers
>            Priority: Major
>
> Previously, it was possible to call ((MockResourceResolver)context.resourceResolver()).addFindResourceHandler(...)
> Currently, we have to add a "find resource handler" this way:
> {code:java}
>         final Field wrappedField = ResourceResolverWrapper.class.getDeclaredField("wrapped");
>         wrappedField.setAccessible(true);
>         ((MockResourceResolver) wrappedField.get(context.resourceResolver())).addFindResourceHandler((s, s1) -> {
>             assertEquals("my-language", s);
>             assertEquals("search term", s1);
>             return contentResource.listChildren();
>         });
> {code}
> This wrapping seems to have been added in: https://github.com/apache/sling-org-apache-sling-testing-sling-mock/commit/a6d01ff058d422ff544c2a137b42291bd550f603
> We could add logic that consults the ResourceProviders to see if they can execute the custom search that we'd like to do, or, we could add the methods also on RRMockResourceResolverWrapper.



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