Search in sources :

Example 11 with MetaDataMap

use of com.day.cq.workflow.metadata.MetaDataMap in project acs-aem-commons by Adobe-Consulting-Services.

the class RenditionModifyingProcessTest method test_with_rendition_arg_getting_real_rendition.

@Test
public void test_with_rendition_arg_getting_real_rendition() throws Exception {
    String path = "/content/dam/some/path.ext";
    WorkItem workItem = mock(WorkItem.class);
    WorkflowData data = mock(WorkflowData.class);
    when(workItem.getWorkflowData()).thenReturn(data);
    when(data.getPayloadType()).thenReturn(WorkflowHelper.TYPE_JCR_PATH);
    when(data.getPayload()).thenReturn(path);
    Resource resource = mock(Resource.class);
    Asset asset = mock(Asset.class);
    Rendition rendition = mock(Rendition.class);
    when(resource.adaptTo(Asset.class)).thenReturn(asset);
    when(resource.getResourceType()).thenReturn(DamConstants.NT_DAM_ASSET);
    when(resourceResolver.getResource(path)).thenReturn(resource);
    when(asset.getRendition(isA(RenditionPicker.class))).thenReturn(rendition);
    when(rendition.getStream()).then(new Answer<InputStream>() {

        @Override
        public InputStream answer(InvocationOnMock invocation) throws Throwable {
            return getClass().getResourceAsStream("/img/test.png");
        }
    });
    when(harness.processLayer(any(Layer.class), eq(rendition), eq(workflowSession), any(String[].class))).thenAnswer(new Answer<Layer>() {

        @Override
        public Layer answer(InvocationOnMock invocation) throws Throwable {
            return (Layer) invocation.getArguments()[0];
        }
    });
    MetaDataMap metaData = new SimpleMetaDataMap();
    metaData.put("PROCESS_ARGS", "renditionName:test");
    process.execute(workItem, workflowSession, metaData, workflowHelper);
    verify(harness, times(1)).processLayer(any(Layer.class), eq(rendition), eq(workflowSession), any(String[].class));
    verify(harness, times(1)).saveImage(eq(asset), eq(rendition), any(Layer.class), eq("image/png"), eq(0.6));
}
Also used : Rendition(com.day.cq.dam.api.Rendition) InputStream(java.io.InputStream) Resource(org.apache.sling.api.resource.Resource) RenditionPicker(com.day.cq.dam.api.RenditionPicker) WorkItem(com.day.cq.workflow.exec.WorkItem) Layer(com.day.image.Layer) WorkflowData(com.day.cq.workflow.exec.WorkflowData) InvocationOnMock(org.mockito.invocation.InvocationOnMock) SimpleMetaDataMap(com.day.cq.workflow.metadata.SimpleMetaDataMap) MetaDataMap(com.day.cq.workflow.metadata.MetaDataMap) SimpleMetaDataMap(com.day.cq.workflow.metadata.SimpleMetaDataMap) Asset(com.day.cq.dam.api.Asset) Test(org.junit.Test)

Example 12 with MetaDataMap

use of com.day.cq.workflow.metadata.MetaDataMap in project acs-aem-commons by Adobe-Consulting-Services.

the class SendTemplatedEmailProcessTest method test_with_correct_args_PagePayload.

@Test
public void test_with_correct_args_PagePayload() throws Exception {
    String editPageUrl = "http://localhost:4502/editor.html" + WCM_PAYLOAD_PATH;
    String publishUrl = "http://localhost:4503" + WCM_PAYLOAD_PATH;
    Map<String, String> expectedEmailParams = new HashMap<String, String>();
    expectedEmailParams.put(SendTemplatedEmailConstants.JCR_PATH, WCM_PAYLOAD_PATH);
    expectedEmailParams.put(SendTemplatedEmailConstants.AUTHOR_LINK, editPageUrl + ".html");
    expectedEmailParams.put(SendTemplatedEmailConstants.PUBLISH_LINK, publishUrl + ".html");
    WorkflowData workflowData = mock(WorkflowData.class);
    when(workItem.getWorkflowData()).thenReturn(workflowData);
    when(workflowData.getPayloadType()).thenReturn("JCR_PATH");
    MetaDataMap metaData = new SimpleMetaDataMap();
    metaData.put("PROCESS_ARGS", "sendTo:" + GROUP_PATH + ",emailTemplate:" + EMAIL_TEMPLATE);
    // expected build args
    String[] expectedBuildArgs = new String[] { "sendTo:" + GROUP_PATH, "emailTemplate:" + EMAIL_TEMPLATE };
    Object payload = mock(Object.class);
    when(workflowData.getPayload()).thenReturn(payload);
    when(payload.toString()).thenReturn(WCM_PAYLOAD_PATH);
    // mock payload resource
    Resource payloadRes = mock(Resource.class);
    when(resourceResolver.getResource(WCM_PAYLOAD_PATH)).thenReturn(payloadRes);
    when(payloadRes.getPath()).thenReturn(WCM_PAYLOAD_PATH);
    when(payloadRes.getResourceResolver()).thenReturn(resourceResolver);
    // mock authorUI and externalizer
    when(authorUIHelper.generateEditPageLink(WCM_PAYLOAD_PATH, true, resourceResolver)).thenReturn(editPageUrl + ".html");
    when(externalizer.publishLink(resourceResolver, WCM_PAYLOAD_PATH + ".html")).thenReturn(publishUrl + ".html");
    when(harness.getEmailAddrs(workItem, payloadRes, expectedBuildArgs)).thenReturn(GROUP_MEMBERS);
    process.execute(workItem, workflowSession, metaData);
    verify(harness, times(1)).getEmailAddrs(workItem, payloadRes, expectedBuildArgs);
    verify(harness, times(1)).getAdditionalParams(workItem, workflowSession, payloadRes);
    verify(emailService, times(1)).sendEmail(EMAIL_TEMPLATE, expectedEmailParams, GROUP_MEMBERS);
}
Also used : HashMap(java.util.HashMap) SimpleMetaDataMap(com.day.cq.workflow.metadata.SimpleMetaDataMap) MetaDataMap(com.day.cq.workflow.metadata.MetaDataMap) SimpleMetaDataMap(com.day.cq.workflow.metadata.SimpleMetaDataMap) Resource(org.apache.sling.api.resource.Resource) WorkflowData(com.day.cq.workflow.exec.WorkflowData) Test(org.junit.Test)

Aggregations

MetaDataMap (com.day.cq.workflow.metadata.MetaDataMap)12 Test (org.junit.Test)11 SimpleMetaDataMap (com.day.cq.workflow.metadata.SimpleMetaDataMap)8 WorkflowData (com.day.cq.workflow.exec.WorkflowData)6 Resource (org.apache.sling.api.resource.Resource)5 WorkItem (com.day.cq.workflow.exec.WorkItem)4 Asset (com.day.cq.dam.api.Asset)3 HashMap (java.util.HashMap)3 Rendition (com.day.cq.dam.api.Rendition)1 RenditionPicker (com.day.cq.dam.api.RenditionPicker)1 WorkflowException (com.day.cq.workflow.WorkflowException)1 Layer (com.day.image.Layer)1 InputStream (java.io.InputStream)1 LinkedHashMap (java.util.LinkedHashMap)1 Map (java.util.Map)1 RepositoryException (javax.jcr.RepositoryException)1 LoginException (org.apache.sling.api.resource.LoginException)1 ModifiableValueMap (org.apache.sling.api.resource.ModifiableValueMap)1 ResourceResolver (org.apache.sling.api.resource.ResourceResolver)1 InvocationOnMock (org.mockito.invocation.InvocationOnMock)1