Improve web services
authorMathieu Baudier <mbaudier@argeo.org>
Sat, 28 Jun 2008 10:09:12 +0000 (10:09 +0000)
committerMathieu Baudier <mbaudier@argeo.org>
Sat, 28 Jun 2008 10:09:12 +0000 (10:09 +0000)
git-svn-id: https://svn.argeo.org/slc/trunk@1303 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc

org.argeo.slc.webapp/src/test/java/org/argeo/slc/ws/ScenarioWsIntegrationTest.java [new file with mode: 0644]
org.argeo.slc.webapp/src/test/java/org/argeo/slc/ws/SlcAntWsIntegrationTest.java
org.argeo.slc.webapp/src/test/java/org/argeo/slc/ws/SlcExecutionWsIntegrationTest.java
org.argeo.slc.webapp/src/test/java/org/argeo/slc/ws/TreeTestResultWsIntegrationTest.java

diff --git a/org.argeo.slc.webapp/src/test/java/org/argeo/slc/ws/ScenarioWsIntegrationTest.java b/org.argeo.slc.webapp/src/test/java/org/argeo/slc/ws/ScenarioWsIntegrationTest.java
new file mode 100644 (file)
index 0000000..b14c70d
--- /dev/null
@@ -0,0 +1,85 @@
+package org.argeo.slc.ws;
+
+import static org.argeo.slc.unit.test.tree.TreeTestResultTestUtils.createMinimalConsistentTreeTestResult;
+import static org.argeo.slc.unit.test.tree.TreeTestResultTestUtils.createSimpleResultPartError;
+import static org.argeo.slc.unit.test.tree.TreeTestResultTestUtils.createSimpleResultPartFailed;
+import static org.argeo.slc.unit.test.tree.TreeTestResultTestUtils.createSimpleResultPartPassed;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.argeo.slc.core.process.SlcExecution;
+import org.argeo.slc.core.process.SlcExecutionStep;
+import org.argeo.slc.core.test.SimpleResultPart;
+import org.argeo.slc.core.test.tree.TreeTestResult;
+import org.argeo.slc.msg.process.SlcExecutionRequest;
+import org.argeo.slc.msg.process.SlcExecutionStatusRequest;
+import org.argeo.slc.msg.process.SlcExecutionStepsRequest;
+import org.argeo.slc.msg.test.tree.CloseTreeTestResultRequest;
+import org.argeo.slc.msg.test.tree.CreateTreeTestResultRequest;
+import org.argeo.slc.msg.test.tree.ResultPartRequest;
+import org.argeo.slc.unit.AbstractSpringTestCase;
+import org.argeo.slc.unit.process.SlcExecutionTestUtils;
+import org.springframework.ws.client.core.WebServiceTemplate;
+
+public class ScenarioWsIntegrationTest extends AbstractSpringTestCase {
+       private Log log = LogFactory.getLog(getClass());
+
+       private WebServiceTemplate template;
+
+       public void setUp() {
+               template = getBean(WebServiceTemplate.class);
+       }
+
+       public void testSinglePathScenario() {
+               // Create SLC execution
+               SlcExecution slcExec = SlcExecutionTestUtils.createSimpleSlcExecution();
+               log.info("Send create SlcExecutionRequest for SlcExecution #"
+                               + slcExec.getUuid());
+               template.marshalSendAndReceive(new SlcExecutionRequest(slcExec));
+
+               // Add SLC execution step
+               SlcExecutionStep step = new SlcExecutionStep("JUnit step");
+               slcExec.getSteps().add(step);
+               log.info("Send SlcExecutionStepsRequest for SlcExecution #"
+                               + slcExec.getUuid());
+               template.marshalSendAndReceive(new SlcExecutionStepsRequest(slcExec
+                               .getUuid(), step));
+
+               // Create test result
+               TreeTestResult ttr = createMinimalConsistentTreeTestResult(slcExec);
+               ttr.addResultPart(createSimpleResultPartPassed());
+               log.info("Send CreateTreeTestResultRequest for result #"
+                               + ttr.getUuid());
+               template.marshalSendAndReceive(new CreateTreeTestResultRequest(ttr));
+
+               // Add failed part
+               SimpleResultPart failedPart = createSimpleResultPartFailed();
+               ttr.addResultPart(failedPart);
+               log.info("Send ResultPartRequest for result #" + ttr.getUuid());
+               template.marshalSendAndReceive(new ResultPartRequest(ttr, null,
+                               failedPart));
+
+               // Add error part
+               SimpleResultPart errorPart = createSimpleResultPartError();
+               ttr.addResultPart(errorPart);
+               log.info("Send ResultPartRequest for result #" + ttr.getUuid());
+               template.marshalSendAndReceive(new ResultPartRequest(ttr, null,
+                               errorPart));
+
+               // Close result
+               ttr.close();
+               log
+                               .info("Send CloseTreeTestResultRequest for result #"
+                                               + ttr.getUuid());
+               template.marshalSendAndReceive(new CloseTreeTestResultRequest(ttr
+                               .getUuid(), ttr.getCloseDate()));
+
+               // Notify SLC execution FINISHED
+               slcExec.setStatus(SlcExecution.STATUS_FINISHED);
+               log.info("Send SlcExecutionStatusRequest for SlcExecution #"
+                               + slcExec.getUuid());
+               template.marshalSendAndReceive(new SlcExecutionStatusRequest(slcExec
+                               .getUuid(), slcExec.getStatus()));
+       }
+
+}
index ed3634db4f3061c37a5bddd8dd21665c7a0b281a..7c37e535fa23f493f53ce336a919ab4f4f66fc0e 100644 (file)
@@ -1,9 +1,6 @@
 package org.argeo.slc.ws;\r
 \r
-import org.apache.commons.logging.Log;\r
-import org.apache.commons.logging.LogFactory;\r
 import org.argeo.slc.ant.unit.MinimalAntClasspathTestCase;\r
-import org.argeo.slc.unit.AbstractSpringTestCase;\r
 \r
 public class SlcAntWsIntegrationTest extends MinimalAntClasspathTestCase {\r
        public void testSimpleRun() {\r
index d097900d84150cab4e420884ac2a82501d5b6f23..27f1e72f3a1e5d1aef5c8d83c21c937088e2148c 100644 (file)
@@ -21,19 +21,14 @@ import org.argeo.slc.ws.client.WebServiceUtils;
 public class SlcExecutionWsIntegrationTest extends AbstractSpringTestCase {
        private Log log = LogFactory.getLog(getClass());
 
-       WebServiceTemplate template;
+       private WebServiceTemplate template;
 
        public void setUp() {
                template = getBean(WebServiceTemplate.class);
-               ;
        }
 
        public void testSlcExecutionRequests() {
-               SlcExecution slcExec = SlcExecutionTestUtils.createSimpleSlcExecution();
-
-               log.info("Send create SlcExecutionRequest for SlcExecution #"
-                               + slcExec.getUuid());
-               template.marshalSendAndReceive(new SlcExecutionRequest(slcExec));
+               SlcExecution slcExec = createAndSendSlcExecution();
 
                slcExec.setUser("otherUser");
                log.info("Send update SlcExecutionRequest for SlcExecution #"
@@ -42,25 +37,17 @@ public class SlcExecutionWsIntegrationTest extends AbstractSpringTestCase {
        }
 
        public void testSlcExecutionStatusRequest() {
-               SlcExecution slcExec = SlcExecutionTestUtils.createSimpleSlcExecution();
-
-               log.info("Send create SlcExecutionRequest for SlcExecution #"
-                               + slcExec.getUuid());
-               template.marshalSendAndReceive(new SlcExecutionRequest(slcExec));
+               SlcExecution slcExec = createAndSendSlcExecution();
 
                slcExec.setStatus(SlcExecution.STATUS_FINISHED);
-               log.info("Send update SlcExecutionStatusRequest for SlcExecution #"
+               log.info("Send SlcExecutionStatusRequest for SlcExecution #"
                                + slcExec.getUuid());
                template.marshalSendAndReceive(new SlcExecutionStatusRequest(slcExec
                                .getUuid(), slcExec.getStatus()));
        }
 
        public void testSendSlcExecutionStepRequest() {
-               SlcExecution slcExec = SlcExecutionTestUtils.createSimpleSlcExecution();
-
-               log.info("Send create SlcExecutionRequest for SlcExecution #"
-                               + slcExec.getUuid());
-               template.marshalSendAndReceive(new SlcExecutionRequest(slcExec));
+               SlcExecution slcExec = createAndSendSlcExecution();
 
                SlcExecutionStep step1 = new SlcExecutionStep(
                                "Logline\nAnother log line.");
@@ -70,7 +57,6 @@ public class SlcExecutionWsIntegrationTest extends AbstractSpringTestCase {
                steps.add(step1);
                steps.add(step2);
 
-               slcExec.setStatus(SlcExecution.STATUS_FINISHED);
                log.info("Send SlcExecutionStepsRequest for SlcExecution #"
                                + slcExec.getUuid());
                try {
@@ -81,4 +67,13 @@ public class SlcExecutionWsIntegrationTest extends AbstractSpringTestCase {
                        throw e;
                }
        }
+
+       protected SlcExecution createAndSendSlcExecution() {
+               SlcExecution slcExec = SlcExecutionTestUtils.createSimpleSlcExecution();
+
+               log.info("Send create SlcExecutionRequest for SlcExecution #"
+                               + slcExec.getUuid());
+               template.marshalSendAndReceive(new SlcExecutionRequest(slcExec));
+               return slcExec;
+       }
 }
index d27c795ddf4190c2a31baeba7b6e3bca20bcb29e..b3c2a7cb9f6ffe3ed78a7c4aed524019c6c8a91b 100644 (file)
@@ -17,27 +17,18 @@ import org.argeo.slc.unit.AbstractSpringTestCase;
 public class TreeTestResultWsIntegrationTest extends AbstractSpringTestCase {
        private Log log = LogFactory.getLog(getClass());
 
-       public void testCreateTreeTestResultRequest() {
-               WebServiceTemplate template = getBean(WebServiceTemplate.class);
-               CreateTreeTestResultRequest req = new CreateTreeTestResultRequest(
-                               createCompleteTreeTestResult());
-               req.getTreeTestResult().close();// in order to avoid unclosed in test db
+       private WebServiceTemplate template;
 
-               log.info("Send CreateTreeTestResultRequest for result "
-                               + req.getTreeTestResult().getUuid());
+       public void setUp() {
+               template = getBean(WebServiceTemplate.class);
+       }
 
-               template.marshalSendAndReceive(req);
+       public void testCreateTreeTestResultRequest() {
+               createAndSendTreeTestResult(true);
        }
 
        public void testResultPartRequest() {
-               WebServiceTemplate template = getBean(WebServiceTemplate.class);
-               TreeTestResult ttr = createCompleteTreeTestResult();
-               ttr.close();// in order to avoid unclosed in test db
-               CreateTreeTestResultRequest reqCreate = new CreateTreeTestResultRequest(
-                               ttr);
-               log.info("Send CreateTreeTestResultRequest for result "
-                               + reqCreate.getTreeTestResult().getUuid());
-               template.marshalSendAndReceive(reqCreate);
+               TreeTestResult ttr = createAndSendTreeTestResult(true);
 
                ResultPartRequest req = createSimpleResultPartRequest(ttr);
 
@@ -46,22 +37,24 @@ public class TreeTestResultWsIntegrationTest extends AbstractSpringTestCase {
        }
 
        public void testCloseTreeTestResultRequest() {
-               WebServiceTemplate template = getBean(WebServiceTemplate.class);
-
-               TreeTestResult ttr = createCompleteTreeTestResult();
-               CreateTreeTestResultRequest reqCreate = new CreateTreeTestResultRequest(
-                               ttr);
-               log.info("Send CreateTreeTestResultRequest for result "
-                               + reqCreate.getTreeTestResult().getUuid());
-               template.marshalSendAndReceive(reqCreate);
+               TreeTestResult ttr = createAndSendTreeTestResult(false);
 
                ttr.close();
                CloseTreeTestResultRequest req = new CloseTreeTestResultRequest(ttr
                                .getUuid(), ttr.getCloseDate());
-
                log.info("Send CloseTreeTestResultRequest for result "
                                + req.getResultUuid());
-
                template.marshalSendAndReceive(req);
        }
+
+       protected TreeTestResult createAndSendTreeTestResult(boolean close) {
+               TreeTestResult ttr = createCompleteTreeTestResult();
+               log.info("Send CreateTreeTestResultRequest for result #"
+                               + ttr.getUuid());
+               template.marshalSendAndReceive(new CreateTreeTestResultRequest(ttr));
+
+               if (close)
+                       ttr.close();
+               return ttr;
+       }
 }