From: Mathieu Baudier Date: Sun, 4 May 2008 18:36:10 +0000 (+0000) Subject: Add web service notification of results. X-Git-Tag: argeo-slc-2.1.7~2929 X-Git-Url: http://git.argeo.org/?a=commitdiff_plain;ds=sidebyside;h=56a8f70a587c793620d1bc2e73c847d935188001;p=gpl%2Fargeo-slc.git Add web service notification of results. Restructure unit tests. git-svn-id: https://svn.argeo.org/slc/trunk@1111 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc --- diff --git a/org.argeo.slc.core/src/main/java/org/argeo/slc/core/process/WebServiceSlcExecutionNotifier.java b/org.argeo.slc.core/src/main/java/org/argeo/slc/core/process/WebServiceSlcExecutionNotifier.java index 2c6c8883b..887a014ce 100644 --- a/org.argeo.slc.core/src/main/java/org/argeo/slc/core/process/WebServiceSlcExecutionNotifier.java +++ b/org.argeo.slc.core/src/main/java/org/argeo/slc/core/process/WebServiceSlcExecutionNotifier.java @@ -1,27 +1,16 @@ package org.argeo.slc.core.process; -import java.io.IOException; -import java.util.Iterator; import java.util.List; -import javax.xml.transform.Source; -import javax.xml.transform.dom.DOMSource; - -import org.springframework.oxm.XmlMappingException; import org.springframework.ws.client.core.WebServiceTemplate; -import org.springframework.ws.soap.SoapFaultDetail; -import org.springframework.ws.soap.SoapFaultDetailElement; import org.springframework.ws.soap.client.SoapFaultClientException; -import org.springframework.xml.transform.StringResult; -import org.w3c.dom.Node; - -import com.ibm.wsdl.util.IOUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.argeo.slc.msg.process.SlcExecutionRequest; import org.argeo.slc.msg.process.SlcExecutionStepsRequest; +import org.argeo.slc.ws.client.WebServiceUtils; public class WebServiceSlcExecutionNotifier implements SlcExecutionNotifier { private WebServiceTemplate template; @@ -40,12 +29,12 @@ public class WebServiceSlcExecutionNotifier implements SlcExecutionNotifier { } try { - marshalSendAndReceive(req); + WebServiceUtils.marshalSendAndReceive(template, req); if (log.isDebugEnabled()) log.debug("Added steps to slc execution " + slcExecution.getUuid()); } catch (SoapFaultClientException e) { - manageSoapException(e); + WebServiceUtils.manageSoapException(e); } } @@ -53,12 +42,12 @@ public class WebServiceSlcExecutionNotifier implements SlcExecutionNotifier { SlcExecutionRequest req = new SlcExecutionRequest(); req.setSlcExecution(slcExecution); try { - marshalSendAndReceive(req); + WebServiceUtils.marshalSendAndReceive(template, req); if (log.isDebugEnabled()) log.debug("Notified creation of slc execution " + slcExecution.getUuid()); } catch (SoapFaultClientException e) { - manageSoapException(e); + WebServiceUtils.manageSoapException(e); } } @@ -66,12 +55,12 @@ public class WebServiceSlcExecutionNotifier implements SlcExecutionNotifier { SlcExecutionRequest req = new SlcExecutionRequest(); req.setSlcExecution(slcExecution); try { - marshalSendAndReceive(req); + WebServiceUtils.marshalSendAndReceive(template, req); if (log.isDebugEnabled()) log.debug("Notified update of slc execution " + slcExecution.getUuid()); } catch (SoapFaultClientException e) { - manageSoapException(e); + WebServiceUtils.manageSoapException(e); } } @@ -79,42 +68,4 @@ public class WebServiceSlcExecutionNotifier implements SlcExecutionNotifier { this.template = template; } - protected void manageSoapException(SoapFaultClientException e) { - log - .error("WS root cause: " - + e.getSoapFault().getFaultStringOrReason()); - StringBuffer stack = new StringBuffer(""); - SoapFaultDetail detail = e.getSoapFault().getFaultDetail(); - if (detail != null) { - Iterator it = (Iterator) detail - .getDetailEntries(); - while (it.hasNext()) { - SoapFaultDetailElement elem = it.next(); - if (elem.getName().getLocalPart().equals("StackElement")) { - Source source = elem.getSource(); - if (source instanceof DOMSource) { - Node node = ((DOMSource) source).getNode(); - stack.append(node.getTextContent()).append('\n'); - } - } - } - - if (stack.length() > 0 && log.isTraceEnabled()) - log.error("WS root cause stack: " + stack); - } - } - - protected Object marshalSendAndReceive(Object req) { - if (log.isTraceEnabled()) { - try { - StringResult result = new StringResult(); - template.getMarshaller().marshal(req, result); - log.trace("About to send " + result); - } catch (Exception e) { - log.error("Cannot marshall " + req + " for logging", e); - } - } - Object resp = template.marshalSendAndReceive(req); - return resp; - } } diff --git a/org.argeo.slc.core/src/main/java/org/argeo/slc/core/structure/tree/TreeSPath.java b/org.argeo.slc.core/src/main/java/org/argeo/slc/core/structure/tree/TreeSPath.java index f02fbda5d..a31239f83 100644 --- a/org.argeo.slc.core/src/main/java/org/argeo/slc/core/structure/tree/TreeSPath.java +++ b/org.argeo.slc.core/src/main/java/org/argeo/slc/core/structure/tree/TreeSPath.java @@ -62,7 +62,7 @@ public class TreeSPath implements StructurePath, Comparable { /** Gets the name part of the path. */ public String getName() { int lastSep = getAsUniqueString().lastIndexOf(separator); - return getAsUniqueString().substring(lastSep); + return getAsUniqueString().substring(lastSep+1); } /** Create a path without parent. */ diff --git a/org.argeo.slc.core/src/main/java/org/argeo/slc/core/test/SimpleTestRun.java b/org.argeo.slc.core/src/main/java/org/argeo/slc/core/test/SimpleTestRun.java index 388e1f2dc..e2ab043cf 100644 --- a/org.argeo.slc.core/src/main/java/org/argeo/slc/core/test/SimpleTestRun.java +++ b/org.argeo.slc.core/src/main/java/org/argeo/slc/core/test/SimpleTestRun.java @@ -1,5 +1,7 @@ package org.argeo.slc.core.test; +import java.util.UUID; + import org.argeo.slc.core.deploy.DeployedSystem; import org.argeo.slc.core.process.SlcExecution; import org.argeo.slc.core.process.SlcExecutionStep; @@ -21,6 +23,7 @@ public class SimpleTestRun implements WritableTestRun, ExecutableTestRun { /** Executes the underlying test definition. */ public void execute() { + uuid = UUID.randomUUID().toString(); if (testResult != null) testResult.notifyTestRun(this); testDefinition.execute(this); diff --git a/org.argeo.slc.core/src/main/java/org/argeo/slc/core/test/TestRunDescriptor.java b/org.argeo.slc.core/src/main/java/org/argeo/slc/core/test/TestRunDescriptor.java index d136e802c..d48ea2db9 100644 --- a/org.argeo.slc.core/src/main/java/org/argeo/slc/core/test/TestRunDescriptor.java +++ b/org.argeo.slc.core/src/main/java/org/argeo/slc/core/test/TestRunDescriptor.java @@ -1,6 +1,7 @@ package org.argeo.slc.core.test; import org.argeo.slc.core.deploy.DeployedSystem; +import org.argeo.slc.core.process.SlcExecution; public class TestRunDescriptor { private String testRunUuid; diff --git a/org.argeo.slc.core/src/main/java/org/argeo/slc/core/test/tree/TreeTestResultLogger.java b/org.argeo.slc.core/src/main/java/org/argeo/slc/core/test/tree/TreeTestResultLogger.java index 667e2e5a9..e20614f90 100644 --- a/org.argeo.slc.core/src/main/java/org/argeo/slc/core/test/tree/TreeTestResultLogger.java +++ b/org.argeo.slc.core/src/main/java/org/argeo/slc/core/test/tree/TreeTestResultLogger.java @@ -36,6 +36,7 @@ public class TreeTestResultLogger implements TestResultListener } public void close(TreeTestResult testResult) { + log.info("Test result " + testResult.getUuid() + " closed."); } } diff --git a/org.argeo.slc.core/src/main/java/org/argeo/slc/core/test/tree/WebServiceSlcExecutionNotifier.java b/org.argeo.slc.core/src/main/java/org/argeo/slc/core/test/tree/WebServiceSlcExecutionNotifier.java new file mode 100644 index 000000000..0d51d2237 --- /dev/null +++ b/org.argeo.slc.core/src/main/java/org/argeo/slc/core/test/tree/WebServiceSlcExecutionNotifier.java @@ -0,0 +1,89 @@ +package org.argeo.slc.core.test.tree; + +import java.util.List; + +import org.springframework.ws.client.core.WebServiceTemplate; +import org.springframework.ws.soap.client.SoapFaultClientException; + +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; + +import org.argeo.slc.core.test.TestResultListener; +import org.argeo.slc.core.test.TestResultPart; +import org.argeo.slc.dao.test.tree.TreeTestResultDao; +import org.argeo.slc.msg.process.SlcExecutionRequest; +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.ws.client.WebServiceUtils; + +public class WebServiceSlcExecutionNotifier implements + TestResultListener { + private WebServiceTemplate template; + private Boolean onlyOnClose = false; + + private Log log = LogFactory.getLog(getClass()); + + public void resultPartAdded(TreeTestResult testResult, + TestResultPart testResultPart) { + try { + if (testResult.getResultParts().size() == 1) { + CreateTreeTestResultRequest req = new CreateTreeTestResultRequest( + testResult); + + if (log.isDebugEnabled()) + log.debug("Send create result request for result " + + testResult.getUuid()); + + WebServiceUtils.marshalSendAndReceive(template, req); + } else { + ResultPartRequest req = new ResultPartRequest(testResult); + + if (log.isDebugEnabled()) + log.debug("Send result parts for result " + + testResult.getUuid()); + + WebServiceUtils.marshalSendAndReceive(template, req); + } + } catch (SoapFaultClientException e) { + WebServiceUtils.manageSoapException(e); + } + } + + public void close(TreeTestResult testResult) { + try { + if (onlyOnClose) { + CreateTreeTestResultRequest req = new CreateTreeTestResultRequest( + testResult); + + if (log.isDebugEnabled()) + log.debug("Send create result request for result " + + testResult.getUuid()); + + WebServiceUtils.marshalSendAndReceive(template, req); + } else { + CloseTreeTestResultRequest req = new CloseTreeTestResultRequest( + testResult); + + if (log.isDebugEnabled()) + log.debug("Send close result request for result " + + testResult.getUuid()); + + WebServiceUtils.marshalSendAndReceive(template, req); + + } + } catch (SoapFaultClientException e) { + WebServiceUtils.manageSoapException(e); + } + + } + + public void setTemplate(WebServiceTemplate template) { + this.template = template; + } + + public void setOnlyOnClose(Boolean onlyOnClose) { + this.onlyOnClose = onlyOnClose; + } +} diff --git a/org.argeo.slc.core/src/main/java/org/argeo/slc/msg/test/tree/CloseTreeTestResultRequest.java b/org.argeo.slc.core/src/main/java/org/argeo/slc/msg/test/tree/CloseTreeTestResultRequest.java index 4aa229df8..c0b74e36e 100644 --- a/org.argeo.slc.core/src/main/java/org/argeo/slc/msg/test/tree/CloseTreeTestResultRequest.java +++ b/org.argeo.slc.core/src/main/java/org/argeo/slc/msg/test/tree/CloseTreeTestResultRequest.java @@ -2,6 +2,8 @@ package org.argeo.slc.msg.test.tree; import java.util.Date; +import org.argeo.slc.core.test.tree.TreeTestResult; + public class CloseTreeTestResultRequest { private String resultUuid; private Date closeDate; @@ -11,11 +13,15 @@ public class CloseTreeTestResultRequest { } public CloseTreeTestResultRequest(String resultUuid, Date closeDate) { - super(); this.resultUuid = resultUuid; this.closeDate = closeDate; } + public CloseTreeTestResultRequest(TreeTestResult ttr) { + this.resultUuid = ttr.getUuid(); + this.closeDate = ttr.getCloseDate(); + } + public String getResultUuid() { return resultUuid; } diff --git a/org.argeo.slc.core/src/main/java/org/argeo/slc/msg/test/tree/ResultPartRequest.java b/org.argeo.slc.core/src/main/java/org/argeo/slc/msg/test/tree/ResultPartRequest.java index 71d0fd694..ac0908711 100644 --- a/org.argeo.slc.core/src/main/java/org/argeo/slc/msg/test/tree/ResultPartRequest.java +++ b/org.argeo.slc.core/src/main/java/org/argeo/slc/msg/test/tree/ResultPartRequest.java @@ -2,10 +2,13 @@ package org.argeo.slc.msg.test.tree; import java.util.Map; +import org.argeo.slc.core.SlcException; +import org.argeo.slc.core.process.SlcExecution; import org.argeo.slc.core.structure.StructureElement; import org.argeo.slc.core.structure.tree.TreeSPath; import org.argeo.slc.core.test.SimpleResultPart; import org.argeo.slc.core.test.TestRunDescriptor; +import org.argeo.slc.core.test.tree.PartSubList; import org.argeo.slc.core.test.tree.TreeTestResult; public class ResultPartRequest { @@ -29,6 +32,23 @@ public class ResultPartRequest { testRunDescriptor = new TestRunDescriptor(ttr.getCurrentTestRun()); } + public ResultPartRequest(TreeTestResult ttr) { + resultUuid = ttr.getUuid(); + this.path = ttr.getCurrentPath(); + + PartSubList lst = ttr.getResultParts().get(path); + if (lst.getParts().size() < 1) { + throw new SlcException("Cannot find part for path " + path + + " in result " + resultUuid); + } + + this.resultPart = (SimpleResultPart) lst.getParts().get( + lst.getParts().size() - 1); + relatedElements = ttr.getRelatedElements(path); + if (ttr.getCurrentTestRun() != null) + testRunDescriptor = new TestRunDescriptor(ttr.getCurrentTestRun()); + } + public String getResultUuid() { return resultUuid; } @@ -45,8 +65,6 @@ public class ResultPartRequest { this.resultPart = resultPart; } - - public TreeSPath getPath() { return path; } diff --git a/org.argeo.slc.core/src/main/java/org/argeo/slc/ws/client/ValidatingClientInterceptor.java b/org.argeo.slc.core/src/main/java/org/argeo/slc/ws/client/ValidatingClientInterceptor.java index ff439d824..cd3add67c 100644 --- a/org.argeo.slc.core/src/main/java/org/argeo/slc/ws/client/ValidatingClientInterceptor.java +++ b/org.argeo.slc.core/src/main/java/org/argeo/slc/ws/client/ValidatingClientInterceptor.java @@ -4,8 +4,6 @@ import java.io.IOException; import javax.xml.transform.Source; -import junit.framework.TestCase; - import org.springframework.ws.client.WebServiceClientException; import org.springframework.ws.client.WebServiceIOException; import org.springframework.ws.client.support.interceptor.ClientInterceptor; diff --git a/org.argeo.slc.core/src/main/java/org/argeo/slc/ws/client/WebServiceUtils.java b/org.argeo.slc.core/src/main/java/org/argeo/slc/ws/client/WebServiceUtils.java new file mode 100644 index 000000000..9bcd6e3f6 --- /dev/null +++ b/org.argeo.slc.core/src/main/java/org/argeo/slc/ws/client/WebServiceUtils.java @@ -0,0 +1,64 @@ +package org.argeo.slc.ws.client; + +import java.util.Iterator; + +import javax.xml.transform.Source; +import javax.xml.transform.dom.DOMSource; + +import org.springframework.ws.client.core.WebServiceTemplate; +import org.springframework.ws.soap.SoapFaultDetail; +import org.springframework.ws.soap.SoapFaultDetailElement; +import org.springframework.ws.soap.client.SoapFaultClientException; +import org.springframework.xml.transform.StringResult; +import org.w3c.dom.Node; + +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; + +public abstract class WebServiceUtils { + private final static Log log = LogFactory.getLog(WebServiceUtils.class); + + public static Object marshalSendAndReceive(WebServiceTemplate template, + Object req) { + if (log.isTraceEnabled()) { + try { + StringResult result = new StringResult(); + template.getMarshaller().marshal(req, result); + log.trace("About to send " + result); + } catch (Exception e) { + log.error("Cannot marshall " + req + " for logging", e); + } + } + Object resp = template.marshalSendAndReceive(req); + return resp; + } + + public static void manageSoapException(SoapFaultClientException e) { + log + .error("WS root cause: " + + e.getSoapFault().getFaultStringOrReason()); + StringBuffer stack = new StringBuffer(""); + SoapFaultDetail detail = e.getSoapFault().getFaultDetail(); + if (detail != null) { + Iterator it = (Iterator) detail + .getDetailEntries(); + while (it.hasNext()) { + SoapFaultDetailElement elem = it.next(); + if (elem.getName().getLocalPart().equals("StackElement")) { + Source source = elem.getSource(); + if (source instanceof DOMSource) { + Node node = ((DOMSource) source).getNode(); + stack.append(node.getTextContent()).append('\n'); + } + } + } + + if (stack.length() > 0 && log.isTraceEnabled()) + log.error("WS root cause stack: " + stack); + } + } + + private WebServiceUtils() { + + } +} diff --git a/org.argeo.slc.core/src/test/java/org/argeo/slc/core/process/SlcAntWsIntegrationTest.java b/org.argeo.slc.core/src/test/java/org/argeo/slc/core/process/SlcAntWsIntegrationTest.java deleted file mode 100644 index 2c1395f10..000000000 --- a/org.argeo.slc.core/src/test/java/org/argeo/slc/core/process/SlcAntWsIntegrationTest.java +++ /dev/null @@ -1,25 +0,0 @@ -package org.argeo.slc.core.process; - -import java.net.URL; - -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; - -import org.argeo.slc.ant.AntRunner; -import org.argeo.slc.unit.AbstractSpringTestCase; - -public class SlcAntWsIntegrationTest extends AbstractSpringTestCase { - private Log log = LogFactory.getLog(getClass()); - - public void testSimpleRun() { - // AntRegistryUtil.runAll(getClass().getResource( - // "/org/argeo/slc/ant/build.xml"), "test", null); - - URL url = getClass().getResource("/org/argeo/slc/ant/build.xml"); - log.info("Run Ant file from URL: " + url); - AntRunner antRunner = new AntRunner(getContext(), url, "test"); - - antRunner.run(); - } - -} diff --git a/org.argeo.slc.core/src/test/java/org/argeo/slc/core/process/SlcExecutionWsIntegrationTest.java b/org.argeo.slc.core/src/test/java/org/argeo/slc/core/process/SlcExecutionWsIntegrationTest.java deleted file mode 100644 index 95bc048ee..000000000 --- a/org.argeo.slc.core/src/test/java/org/argeo/slc/core/process/SlcExecutionWsIntegrationTest.java +++ /dev/null @@ -1,25 +0,0 @@ -package org.argeo.slc.core.process; - -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; -import org.argeo.slc.msg.process.SlcExecutionRequest; -import org.argeo.slc.unit.AbstractSpringTestCase; -import org.springframework.ws.client.core.WebServiceTemplate; - -public class SlcExecutionWsIntegrationTest extends AbstractSpringTestCase { - private Log log = LogFactory.getLog(getClass()); - - public void testSendSlcExecutionrequest() { - WebServiceTemplate template = getBean(WebServiceTemplate.class); - SlcExecution slcExec = SlcExecutionTestUtils.createSimpleSlcExecution(); - - SlcExecutionRequest req = new SlcExecutionRequest(); - req.setSlcExecution(slcExec); - - log.info("Send SlcExecutionRequest for SlcExecution " - + slcExec.getUuid()); - - Object resp = template.marshalSendAndReceive(req); - log.info("Resp: " + resp); - } -} diff --git a/org.argeo.slc.core/src/test/java/org/argeo/slc/core/structure/tree/TreeSPathTest.java b/org.argeo.slc.core/src/test/java/org/argeo/slc/core/structure/tree/TreeSPathTest.java new file mode 100644 index 000000000..fab683111 --- /dev/null +++ b/org.argeo.slc.core/src/test/java/org/argeo/slc/core/structure/tree/TreeSPathTest.java @@ -0,0 +1,57 @@ +package org.argeo.slc.core.structure.tree; + +import junit.framework.TestCase; + +public class TreeSPathTest extends TestCase { + + public void testNew() { + TreeSPath path = new TreeSPath("/test"); + assertEquals("test", path.getName()); + assertNull(path.getParent()); + + path = new TreeSPath("/root/subdir"); + assertEquals("subdir", path.getName()); + assertEquals(new TreeSPath("/root"), path.getParent()); + } + + public void testEquals() { + TreeSPath path1 = new TreeSPath("/test"); + TreeSPath path2 = new TreeSPath("/test"); + assertEquals(path1, path2); + + path1 = new TreeSPath("/test/subdir/anotherdir"); + path2 = new TreeSPath("/test/subdir/anotherdir"); + assertEquals(path1, path2); + + path1 = new TreeSPath("/test/subdir/anotherd"); + path2 = new TreeSPath("/test/subdir/anotherdir"); + assertNotSame(path1, path2); + + path1 = new TreeSPath("/test/subdir"); + path2 = new TreeSPath("/test/subdir/anotherdir"); + assertNotSame(path1, path2); + + path1 = new TreeSPath("/test/subd/anotherdir"); + path2 = new TreeSPath("/test/subdir/anotherdir"); + assertNotSame(path1, path2); + } + + public void testCheckFormat(){ + try{ + new TreeSPath("hello"); + fail("Bad format should be rejected"); + }catch(Exception e){ + // exception expected + } + + try{ + new TreeSPath("/"); + fail("Bad format should be rejected"); + }catch(Exception e){ + // exception expected + } + + assertEquals(new TreeSPath("/test"), new TreeSPath("/test/")); + assertEquals(new TreeSPath("/test/dir"), new TreeSPath("//test///dir////")); + } +} diff --git a/org.argeo.slc.core/src/test/java/org/argeo/slc/core/test/tree/TreeTestResultWsIntegrationTest.java b/org.argeo.slc.core/src/test/java/org/argeo/slc/core/test/tree/TreeTestResultWsIntegrationTest.java deleted file mode 100644 index d6abfea50..000000000 --- a/org.argeo.slc.core/src/test/java/org/argeo/slc/core/test/tree/TreeTestResultWsIntegrationTest.java +++ /dev/null @@ -1,67 +0,0 @@ -package org.argeo.slc.core.test.tree; - -import org.springframework.ws.client.core.WebServiceTemplate; - -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; - -import static org.argeo.slc.core.test.tree.TreeTestResultTestUtils.createCompleteTreeTestResult; -import static org.argeo.slc.core.test.tree.TreeTestResultTestUtils.createSimpleResultPartRequest; - -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; - -public class TreeTestResultWsIntegrationTest extends AbstractSpringTestCase { - private Log log = LogFactory.getLog(getClass()); - - public void testCreateTreeTestResultRequest() { - WebServiceTemplate template = getBean(WebServiceTemplate.class); - CreateTreeTestResultRequest req = new CreateTreeTestResultRequest( - createCompleteTreeTestResult()); - - log.info("Send CreateTreeTestResultRequest for result " - + req.getTreeTestResult().getUuid()); - - Object resp = template.marshalSendAndReceive(req); - log.info("Resp: " + resp); - } - - public void testResultPartRequest() { - 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); - - ResultPartRequest req = createSimpleResultPartRequest(ttr); - - log.info("Send ResultPartRequest for result " + req.getResultUuid()); - Object resp = template.marshalSendAndReceive(req); - log.info("Resp: " + resp); - } - - 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); - - ttr.close(); - CloseTreeTestResultRequest req = new CloseTreeTestResultRequest(ttr - .getUuid(), ttr.getCloseDate()); - - log.info("Send CloseTreeTestResultRequest for result " - + req.getResultUuid()); - - Object resp = template.marshalSendAndReceive(req); - log.info("Resp: " + resp); - } -} diff --git a/org.argeo.slc.core/src/test/java/org/argeo/slc/ws/SlcAntWsIntegrationTest.java b/org.argeo.slc.core/src/test/java/org/argeo/slc/ws/SlcAntWsIntegrationTest.java new file mode 100644 index 000000000..7b3d662f7 --- /dev/null +++ b/org.argeo.slc.core/src/test/java/org/argeo/slc/ws/SlcAntWsIntegrationTest.java @@ -0,0 +1,25 @@ +package org.argeo.slc.ws; + +import java.net.URL; + +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; + +import org.argeo.slc.ant.AntRunner; +import org.argeo.slc.unit.AbstractSpringTestCase; + +public class SlcAntWsIntegrationTest extends AbstractSpringTestCase { + private Log log = LogFactory.getLog(getClass()); + + public void testSimpleRun() { + // AntRegistryUtil.runAll(getClass().getResource( + // "/org/argeo/slc/ant/build.xml"), "test", null); + + URL url = getClass().getResource("/org/argeo/slc/ant/build.xml"); + log.info("Run Ant file from URL: " + url); + AntRunner antRunner = new AntRunner(getContext(), url, "test"); + + antRunner.run(); + } + +} diff --git a/org.argeo.slc.core/src/test/java/org/argeo/slc/ws/SlcExecutionWsIntegrationTest.java b/org.argeo.slc.core/src/test/java/org/argeo/slc/ws/SlcExecutionWsIntegrationTest.java new file mode 100644 index 000000000..2aa29e2ab --- /dev/null +++ b/org.argeo.slc.core/src/test/java/org/argeo/slc/ws/SlcExecutionWsIntegrationTest.java @@ -0,0 +1,29 @@ +package org.argeo.slc.ws; + +import org.springframework.ws.client.core.WebServiceTemplate; + +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.SlcExecutionTestUtils; +import org.argeo.slc.msg.process.SlcExecutionRequest; +import org.argeo.slc.unit.AbstractSpringTestCase; + +public class SlcExecutionWsIntegrationTest extends AbstractSpringTestCase { + private Log log = LogFactory.getLog(getClass()); + + public void testSendSlcExecutionrequest() { + WebServiceTemplate template = getBean(WebServiceTemplate.class); + SlcExecution slcExec = SlcExecutionTestUtils.createSimpleSlcExecution(); + + SlcExecutionRequest req = new SlcExecutionRequest(); + req.setSlcExecution(slcExec); + + log.info("Send SlcExecutionRequest for SlcExecution " + + slcExec.getUuid()); + + Object resp = template.marshalSendAndReceive(req); + log.info("Resp: " + resp); + } +} diff --git a/org.argeo.slc.core/src/test/java/org/argeo/slc/ws/TreeTestResultWsIntegrationTest.java b/org.argeo.slc.core/src/test/java/org/argeo/slc/ws/TreeTestResultWsIntegrationTest.java new file mode 100644 index 000000000..55819e65f --- /dev/null +++ b/org.argeo.slc.core/src/test/java/org/argeo/slc/ws/TreeTestResultWsIntegrationTest.java @@ -0,0 +1,68 @@ +package org.argeo.slc.ws; + +import org.springframework.ws.client.core.WebServiceTemplate; + +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; + +import static org.argeo.slc.core.test.tree.TreeTestResultTestUtils.createCompleteTreeTestResult; +import static org.argeo.slc.core.test.tree.TreeTestResultTestUtils.createSimpleResultPartRequest; + +import org.argeo.slc.core.test.tree.TreeTestResult; +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; + +public class TreeTestResultWsIntegrationTest extends AbstractSpringTestCase { + private Log log = LogFactory.getLog(getClass()); + + public void testCreateTreeTestResultRequest() { + WebServiceTemplate template = getBean(WebServiceTemplate.class); + CreateTreeTestResultRequest req = new CreateTreeTestResultRequest( + createCompleteTreeTestResult()); + + log.info("Send CreateTreeTestResultRequest for result " + + req.getTreeTestResult().getUuid()); + + Object resp = template.marshalSendAndReceive(req); + log.info("Resp: " + resp); + } + + public void testResultPartRequest() { + 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); + + ResultPartRequest req = createSimpleResultPartRequest(ttr); + + log.info("Send ResultPartRequest for result " + req.getResultUuid()); + Object resp = template.marshalSendAndReceive(req); + log.info("Resp: " + resp); + } + + 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); + + ttr.close(); + CloseTreeTestResultRequest req = new CloseTreeTestResultRequest(ttr + .getUuid(), ttr.getCloseDate()); + + log.info("Send CloseTreeTestResultRequest for result " + + req.getResultUuid()); + + Object resp = template.marshalSendAndReceive(req); + log.info("Resp: " + resp); + } +} diff --git a/org.argeo.slc.core/src/test/resources/org/argeo/slc/ant/applicationContext.xml b/org.argeo.slc.core/src/test/resources/org/argeo/slc/ant/applicationContext.xml index 3f8f15f6f..d988d2022 100644 --- a/org.argeo.slc.core/src/test/resources/org/argeo/slc/ant/applicationContext.xml +++ b/org.argeo.slc.core/src/test/resources/org/argeo/slc/ant/applicationContext.xml @@ -3,9 +3,7 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd"> - - + @@ -19,45 +17,4 @@ - - - - - - - - - - - toto - - - toto - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/org.argeo.slc.core/src/test/resources/org/argeo/slc/ant/nonDepContext.xml b/org.argeo.slc.core/src/test/resources/org/argeo/slc/ant/nonDepContext.xml new file mode 100644 index 000000000..3f8f15f6f --- /dev/null +++ b/org.argeo.slc.core/src/test/resources/org/argeo/slc/ant/nonDepContext.xml @@ -0,0 +1,63 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + toto + + + toto + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/org.argeo.slc.core/src/test/resources/org/argeo/slc/castor/applicationContext.xml b/org.argeo.slc.core/src/test/resources/org/argeo/slc/castor/applicationContext.xml index eb0b2c3d6..7a89af927 100644 --- a/org.argeo.slc.core/src/test/resources/org/argeo/slc/castor/applicationContext.xml +++ b/org.argeo.slc.core/src/test/resources/org/argeo/slc/castor/applicationContext.xml @@ -2,9 +2,10 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd"> + diff --git a/org.argeo.slc.core/src/test/resources/org/argeo/slc/core/process/applicationContext.xml b/org.argeo.slc.core/src/test/resources/org/argeo/slc/core/process/applicationContext.xml index f08d3853d..899daf548 100644 --- a/org.argeo.slc.core/src/test/resources/org/argeo/slc/core/process/applicationContext.xml +++ b/org.argeo.slc.core/src/test/resources/org/argeo/slc/core/process/applicationContext.xml @@ -1,9 +1,11 @@ - - + + - - - + + + \ No newline at end of file diff --git a/org.argeo.slc.core/src/test/resources/org/argeo/slc/core/process/execution.xml b/org.argeo.slc.core/src/test/resources/org/argeo/slc/core/process/execution.xml deleted file mode 100644 index bdb071b0c..000000000 --- a/org.argeo.slc.core/src/test/resources/org/argeo/slc/core/process/execution.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/org.argeo.slc.core/src/test/resources/org/argeo/slc/core/test/tree/applicationContext.xml b/org.argeo.slc.core/src/test/resources/org/argeo/slc/core/test/tree/applicationContext.xml index 2ebde0448..9601c3301 100644 --- a/org.argeo.slc.core/src/test/resources/org/argeo/slc/core/test/tree/applicationContext.xml +++ b/org.argeo.slc.core/src/test/resources/org/argeo/slc/core/test/tree/applicationContext.xml @@ -4,6 +4,8 @@ xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd"> + resource="classpath:/org/argeo/slc/xml/spring/applicationContext.xml" /> + \ No newline at end of file diff --git a/org.argeo.slc.core/src/test/resources/org/argeo/slc/ws/applicationContext.xml b/org.argeo.slc.core/src/test/resources/org/argeo/slc/ws/applicationContext.xml new file mode 100644 index 000000000..a94d128b3 --- /dev/null +++ b/org.argeo.slc.core/src/test/resources/org/argeo/slc/ws/applicationContext.xml @@ -0,0 +1,11 @@ + + + + + + + + diff --git a/org.argeo.slc.core/src/test/resources/org/argeo/slc/ws/execution.xml b/org.argeo.slc.core/src/test/resources/org/argeo/slc/ws/execution.xml new file mode 100644 index 000000000..bdb071b0c --- /dev/null +++ b/org.argeo.slc.core/src/test/resources/org/argeo/slc/ws/execution.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/org.argeo.slc.core/src/test/resources/org/argeo/slc/ws/result.xml b/org.argeo.slc.core/src/test/resources/org/argeo/slc/ws/result.xml new file mode 100644 index 000000000..27eb95534 --- /dev/null +++ b/org.argeo.slc.core/src/test/resources/org/argeo/slc/ws/result.xml @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file