Search in sources :

Example 1 with EmbeddableDataResourceSource

use of com.adobe.cq.wcm.core.components.internal.servlets.embed.EmbeddablesDataSourceServlet.EmbeddableDataResourceSource in project aem-core-wcm-components by Adobe-Marketing-Cloud.

the class EmbeddablesDataSourceServletTest method setUp.

@BeforeEach
public void setUp() {
    context.load().json(TEST_BASE + CoreComponentTestContext.TEST_CONTENT_JSON, APPS_ROOT);
    Resource embeddable1 = Objects.requireNonNull(context.resourceResolver().getResource("/apps/my-app/youtube"));
    Resource embeddable2 = Objects.requireNonNull(context.resourceResolver().getResource("/apps/my-app/chatbot"));
    Resource embeddable3 = Objects.requireNonNull(context.resourceResolver().getResource("/apps/my-app/social"));
    embeddableResources.add(embeddable1);
    embeddableResources.add(embeddable2);
    embeddableResources.add(embeddable3);
    request = Mockito.spy(context.request());
    ResourceResolver resolver = Mockito.spy(context.resourceResolver());
    when(request.getResourceResolver()).thenReturn(resolver);
    final String rt = embeddable1.getPath().substring("/apps".length() + 1);
    List<Resource> outputResources = new ArrayList<>();
    outputResources.add(new EmbeddableDataResourceSource(new EmbeddableDescription(rt, embeddable1.getName(), embeddable1.getValueMap()), resolver));
    outputResources.add(new EmbeddableDataResourceSource(new EmbeddableDescription(rt, embeddable2.getName(), embeddable2.getValueMap()), resolver));
    context.request().setAttribute(DataSource.class.getName(), new SimpleDataSource(outputResources.iterator()));
    when(resolver.findResources(any(), any())).thenReturn(embeddableResources.iterator());
    when(resolver.getSearchPath()).thenReturn(context.resourceResolver().getSearchPath());
}
Also used : EmbeddableDescription(com.adobe.cq.wcm.core.components.internal.servlets.embed.EmbeddablesDataSourceServlet.EmbeddableDescription) SimpleDataSource(com.adobe.granite.ui.components.ds.SimpleDataSource) Resource(org.apache.sling.api.resource.Resource) ResourceResolver(org.apache.sling.api.resource.ResourceResolver) ArrayList(java.util.ArrayList) EmbeddableDataResourceSource(com.adobe.cq.wcm.core.components.internal.servlets.embed.EmbeddablesDataSourceServlet.EmbeddableDataResourceSource) SimpleDataSource(com.adobe.granite.ui.components.ds.SimpleDataSource) DataSource(com.adobe.granite.ui.components.ds.DataSource) BeforeEach(org.junit.jupiter.api.BeforeEach)

Example 2 with EmbeddableDataResourceSource

use of com.adobe.cq.wcm.core.components.internal.servlets.embed.EmbeddablesDataSourceServlet.EmbeddableDataResourceSource in project aem-core-wcm-components by Adobe-Marketing-Cloud.

the class EmbedDesignTabsDataSourceServletTest method setUp.

@BeforeEach
public void setUp() {
    context.load().json(TEST_BASE + CoreComponentTestContext.TEST_CONTENT_JSON, APPS_ROOT);
    Resource embeddable1 = Objects.requireNonNull(context.resourceResolver().getResource("/apps/my-app/youtube"));
    Resource embeddable2 = Objects.requireNonNull(context.resourceResolver().getResource("/apps/my-app/chatbot"));
    Resource embeddable3 = Objects.requireNonNull(context.resourceResolver().getResource("/apps/my-app/social"));
    embeddableResources.add(embeddable1);
    embeddableResources.add(embeddable2);
    embeddableResources.add(embeddable3);
    context.currentResource("/apps/embed");
    request = Mockito.spy(context.request());
    ResourceResolver resolver = Mockito.spy(context.resourceResolver());
    when(request.getResourceResolver()).thenReturn(resolver);
    final String rt = embeddable1.getPath().substring("/apps".length() + 1);
    List<Resource> outputResources = new ArrayList<>();
    outputResources.add(new EmbeddableDataResourceSource(new EmbeddableDescription(rt, embeddable1.getName(), embeddable1.getValueMap()), resolver));
    outputResources.add(new EmbeddableDataResourceSource(new EmbeddableDescription(rt, embeddable2.getName(), embeddable2.getValueMap()), resolver));
    context.request().setAttribute(DataSource.class.getName(), new SimpleDataSource(outputResources.iterator()));
    when(resolver.findResources(any(), any())).thenReturn(embeddableResources.iterator());
    when(resolver.getSearchPath()).thenReturn(context.resourceResolver().getSearchPath());
}
Also used : EmbeddableDescription(com.adobe.cq.wcm.core.components.internal.servlets.embed.EmbeddablesDataSourceServlet.EmbeddableDescription) SimpleDataSource(com.adobe.granite.ui.components.ds.SimpleDataSource) Resource(org.apache.sling.api.resource.Resource) ResourceResolver(org.apache.sling.api.resource.ResourceResolver) ArrayList(java.util.ArrayList) EmbeddableDataResourceSource(com.adobe.cq.wcm.core.components.internal.servlets.embed.EmbeddablesDataSourceServlet.EmbeddableDataResourceSource) SimpleDataSource(com.adobe.granite.ui.components.ds.SimpleDataSource) DataSource(com.adobe.granite.ui.components.ds.DataSource) BeforeEach(org.junit.jupiter.api.BeforeEach)

Aggregations

EmbeddableDataResourceSource (com.adobe.cq.wcm.core.components.internal.servlets.embed.EmbeddablesDataSourceServlet.EmbeddableDataResourceSource)2 EmbeddableDescription (com.adobe.cq.wcm.core.components.internal.servlets.embed.EmbeddablesDataSourceServlet.EmbeddableDescription)2 DataSource (com.adobe.granite.ui.components.ds.DataSource)2 SimpleDataSource (com.adobe.granite.ui.components.ds.SimpleDataSource)2 ArrayList (java.util.ArrayList)2 Resource (org.apache.sling.api.resource.Resource)2 ResourceResolver (org.apache.sling.api.resource.ResourceResolver)2 BeforeEach (org.junit.jupiter.api.BeforeEach)2