use of com.day.cq.workflow.exec.WorkflowData in project acs-aem-commons by Adobe-Consulting-Services.
the class RenditionModifyingProcessTest method test_with_rendition_arg_getting_no_rendition_is_noop.
@Test
public void test_with_rendition_arg_getting_no_rendition_is_noop() 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);
when(resource.adaptTo(Asset.class)).thenReturn(asset);
when(resource.getResourceType()).thenReturn(DamConstants.NT_DAM_ASSET);
when(resourceResolver.getResource(path)).thenReturn(resource);
MetaDataMap metaData = new SimpleMetaDataMap();
metaData.put("PROCESS_ARGS", "renditionName:test");
process.execute(workItem, workflowSession, metaData, workflowHelper);
verifyZeroInteractions(harness);
}
use of com.day.cq.workflow.exec.WorkflowData in project acs-aem-commons by Adobe-Consulting-Services.
the class SendTemplatedEmailProcessTest method test_with_payload_notJcrPath_is_noop.
@Test
public void test_with_payload_notJcrPath_is_noop() throws Exception {
WorkflowData workflowData = mock(WorkflowData.class);
when(workItem.getWorkflowData()).thenReturn(workflowData);
when(workflowData.getPayloadType()).thenReturn("");
MetaDataMap metaData = new SimpleMetaDataMap();
process.execute(workItem, workflowSession, metaData);
verifyZeroInteractions(harness);
}
use of com.day.cq.workflow.exec.WorkflowData in project acs-aem-commons by Adobe-Consulting-Services.
the class SendTemplatedEmailProcessTest method test_with_correct_args_AssetPayload.
@Test
public void test_with_correct_args_AssetPayload() throws Exception {
String editAssetUrl = "http://localhost:4502/assetdetails.html" + DAM_PAYLOAD_PATH;
String publishUrl = "http://localhost:4503" + DAM_PAYLOAD_PATH;
Map<String, String> expectedEmailParams = new HashMap<String, String>();
expectedEmailParams.put(SendTemplatedEmailConstants.JCR_PATH, DAM_PAYLOAD_PATH);
expectedEmailParams.put(SendTemplatedEmailConstants.AUTHOR_LINK, editAssetUrl);
expectedEmailParams.put(SendTemplatedEmailConstants.PUBLISH_LINK, publishUrl);
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(DAM_PAYLOAD_PATH);
// mock payload resource
Resource payloadRes = mock(Resource.class);
when(resourceResolver.getResource(DAM_PAYLOAD_PATH)).thenReturn(payloadRes);
when(payloadRes.getPath()).thenReturn(DAM_PAYLOAD_PATH);
when(payloadRes.getResourceResolver()).thenReturn(resourceResolver);
when(payloadRes.getResourceType()).thenReturn("dam:Asset");
// mock authorUI and externalizer
when(authorUIHelper.generateEditAssetLink(DAM_PAYLOAD_PATH, true, resourceResolver)).thenReturn(editAssetUrl);
when(externalizer.publishLink(resourceResolver, DAM_PAYLOAD_PATH)).thenReturn(publishUrl);
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);
}
use of com.day.cq.workflow.exec.WorkflowData in project acs-aem-commons by Adobe-Consulting-Services.
the class SendTemplatedEmailProcessTest method test_with_no_template_args_is_noop.
@Test
public void test_with_no_template_args_is_noop() throws Exception {
WorkflowData workflowData = mock(WorkflowData.class);
when(workItem.getWorkflowData()).thenReturn(workflowData);
when(workflowData.getPayloadType()).thenReturn("JCR_PATH");
MetaDataMap metaData = new SimpleMetaDataMap();
metaData.put("PROCESS_ARGS", "");
process.execute(workItem, workflowSession, metaData);
verifyZeroInteractions(harness);
}
use of com.day.cq.workflow.exec.WorkflowData 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));
}
Aggregations