Repository: incubator-taverna-common-activities Updated Branches: refs/heads/docker 19b2dd013 -> a87941916
Adding ActivityInvoker for unit tests. Project: http://git-wip-us.apache.org/repos/asf/incubator-taverna-common-activities/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-taverna-common-activities/commit/4cf2009a Tree: http://git-wip-us.apache.org/repos/asf/incubator-taverna-common-activities/tree/4cf2009a Diff: http://git-wip-us.apache.org/repos/asf/incubator-taverna-common-activities/diff/4cf2009a Branch: refs/heads/docker Commit: 4cf2009ab531243ee4bb715fb0ff79b5ce9a9a83 Parents: 003b859 Author: Nadeesh Dilanga <[email protected]> Authored: Tue Jun 28 22:57:41 2016 -0400 Committer: Nadeesh Dilanga <[email protected]> Committed: Tue Jun 28 22:57:41 2016 -0400 ---------------------------------------------------------------------- .../activities/docker/DockerActivity.java | 21 +++++++++++--------- .../docker/test/DockerActivityTest.java | 17 +++++----------- .../docker/test/TestDockerCommands.java | 11 +--------- 3 files changed, 18 insertions(+), 31 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-taverna-common-activities/blob/4cf2009a/taverna-docker-activity/src/main/java/org/apache/taverna/activities/docker/DockerActivity.java ---------------------------------------------------------------------- diff --git a/taverna-docker-activity/src/main/java/org/apache/taverna/activities/docker/DockerActivity.java b/taverna-docker-activity/src/main/java/org/apache/taverna/activities/docker/DockerActivity.java index e31f09f..bf3585e 100644 --- a/taverna-docker-activity/src/main/java/org/apache/taverna/activities/docker/DockerActivity.java +++ b/taverna-docker-activity/src/main/java/org/apache/taverna/activities/docker/DockerActivity.java @@ -67,6 +67,8 @@ public class DockerActivity extends AbstractAsynchronousActivity<JsonNode> { public static final String IN_IMAGE_NAME = "image-name"; + public static final String RESPONSE_BODY_KEY = "response_body"; + private static Logger LOG = Logger.getLogger(DockerActivity.class); @@ -94,13 +96,12 @@ public class DockerActivity extends AbstractAsynchronousActivity<JsonNode> { T2Reference responseBodyRef = null; InvocationContext context = callback.getContext(); ReferenceService referenceService = context.getReferenceService(); - String action = map.get(ACTION).getLocalPart(); + String action = getRenderedParam(referenceService,context, map.get(ACTION)); JsonNodeFactory factory = new ObjectMapper().getNodeFactory(); ObjectNode outJson = factory.objectNode(); RemoteClient remoteClient = new RemoteClient(containerConfiguration); - try { if (CREATE_CONTAINER.equalsIgnoreCase(action)) { CreateContainerResponse response = remoteClient.createContainer(); @@ -108,7 +109,7 @@ public class DockerActivity extends AbstractAsynchronousActivity<JsonNode> { } else if (INSPECT.equalsIgnoreCase(action)) { - String imageName = map.get(IN_IMAGE_NAME).getLocalPart(); + String imageName = getRenderedParam(referenceService, context, map.get(IN_IMAGE_NAME)); InspectImageResponse response = remoteClient.inspect(imageName); outJson.put(OUT_IMAGE_ID, response.getId()); outJson.put(OUT_IMAGE_AUTHOR, response.getAuthor()); @@ -123,14 +124,16 @@ public class DockerActivity extends AbstractAsynchronousActivity<JsonNode> { } //TODO add any more supporting actions responseBodyRef = referenceService.register(outJson.toString(), 0, true, context); - } catch (Exception e){ - String log = "Error occurred while executing remote docker commands " + e.getMessage(); - LOG.error(log ,e); - responseBodyRef = referenceService.register("{\"error\",\"" + log + "\"}", 0, true, context); - } - outputs.put("response_body", responseBodyRef); + + outputs.put(RESPONSE_BODY_KEY, responseBodyRef); callback.receiveResult(outputs, new int[0]); } }); } + + + private String getRenderedParam(ReferenceService referenceService, InvocationContext context, T2Reference key){ + return (String) referenceService.renderIdentifier(key, String.class, context); + + } } http://git-wip-us.apache.org/repos/asf/incubator-taverna-common-activities/blob/4cf2009a/taverna-docker-activity/src/test/java/org/apache/taverna/activities/docker/test/DockerActivityTest.java ---------------------------------------------------------------------- diff --git a/taverna-docker-activity/src/test/java/org/apache/taverna/activities/docker/test/DockerActivityTest.java b/taverna-docker-activity/src/test/java/org/apache/taverna/activities/docker/test/DockerActivityTest.java index 4759e4c..d31e625 100755 --- a/taverna-docker-activity/src/test/java/org/apache/taverna/activities/docker/test/DockerActivityTest.java +++ b/taverna-docker-activity/src/test/java/org/apache/taverna/activities/docker/test/DockerActivityTest.java @@ -22,16 +22,10 @@ package org.apache.taverna.activities.docker.test; import com.fasterxml.jackson.databind.node.JsonNodeFactory; import com.fasterxml.jackson.databind.node.ObjectNode; import org.apache.taverna.activities.docker.DockerActivity; -import org.apache.taverna.activities.docker.DockerContainerConfiguration; import org.apache.taverna.activities.docker.DockerContainerConfigurationImpl; import org.apache.taverna.activities.docker.DockerRemoteConfig; import org.apache.taverna.activities.testutils.ActivityInvoker; -import org.apache.taverna.reference.T2Reference; -import org.apache.taverna.workflowmodel.AbstractPort; -import org.apache.taverna.workflowmodel.Edits; -import org.apache.taverna.workflowmodel.impl.EditsImpl; -import org.apache.taverna.workflowmodel.processor.activity.impl.ActivityInputPortImpl; -import org.apache.taverna.workflowmodel.processor.activity.impl.ActivityOutputPortImpl; +import org.junit.Assert; import org.junit.Before; import org.junit.Test; @@ -39,9 +33,6 @@ import java.io.File; import java.util.HashMap; import java.util.Map; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; - public class DockerActivityTest { private static final String IMAGE_NAME = "training/webapp"; @@ -52,6 +43,7 @@ public class DockerActivityTest { private DockerContainerConfigurationImpl containerConfiguration; + @Before public void setup() throws Exception { activityConfiguration = JsonNodeFactory.instance.objectNode(); @@ -87,9 +79,10 @@ public class DockerActivityTest { inputs.put(DockerActivity.IN_IMAGE_NAME, IMAGE_NAME); Map<String, Class<?>> expectedOutputs = new HashMap<String, Class<?>>(); - expectedOutputs.put("response_body", T2Reference.class); + expectedOutputs.put(DockerActivity.RESPONSE_BODY_KEY, String.class); Map<String,Object> outputs = ActivityInvoker.invokeAsyncActivity(activity, inputs, expectedOutputs); - System.out.println(outputs.size()); + System.out.println(outputs.get(DockerActivity.RESPONSE_BODY_KEY)); + Assert.assertNotNull(outputs.get(DockerActivity.RESPONSE_BODY_KEY)); } } http://git-wip-us.apache.org/repos/asf/incubator-taverna-common-activities/blob/4cf2009a/taverna-docker-activity/src/test/java/org/apache/taverna/activities/docker/test/TestDockerCommands.java ---------------------------------------------------------------------- diff --git a/taverna-docker-activity/src/test/java/org/apache/taverna/activities/docker/test/TestDockerCommands.java b/taverna-docker-activity/src/test/java/org/apache/taverna/activities/docker/test/TestDockerCommands.java index 0bbb612..0644545 100644 --- a/taverna-docker-activity/src/test/java/org/apache/taverna/activities/docker/test/TestDockerCommands.java +++ b/taverna-docker-activity/src/test/java/org/apache/taverna/activities/docker/test/TestDockerCommands.java @@ -40,7 +40,7 @@ public class TestDockerCommands { private static final String DOCKER_LOGIN_SUCCESS = "Login Succeeded"; - public TestDockerCommands(){ + public TestDockerCommands() { DockerContainerConfigurationImpl containerConfiguration = new DockerContainerConfigurationImpl(new TestConfigurationManager()); containerConfiguration.getInternalPropertyMap().put(DockerContainerConfigurationImpl.NAME,CONTAINER_NAME); containerConfiguration.getInternalPropertyMap().put(DockerContainerConfigurationImpl.IMAGE,IMAGE_NAME); @@ -83,13 +83,4 @@ public class TestDockerCommands { } } - /** - * Corresponding docker command > docker images --no-trunc | head - */ - @Test - public void testInspectImage1(){ - InspectImageResponse response = remoteClient.inspect(IMAGE_NAME); - System.out.println(response.getId()); - Assert.assertNotNull(response.getId()); - } }
