From 76006ca3802dcc6ba6b94e62b13f572ed6a06e76 Mon Sep 17 00:00:00 2001 From: Mathieu Baudier Date: Wed, 25 Jun 2008 17:14:47 +0000 Subject: [PATCH] Introduce automated integration tests on the web app git-svn-id: https://svn.argeo.org/slc/trunk@1282 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc --- org.argeo.slc.webapp/.classpath | 2 + org.argeo.slc.webapp/pom.xml | 109 +++++++++++++----- .../argeo/slc/ws/SlcAntWsIntegrationTest.java | 13 +++ .../slc/ws/SlcExecutionWsIntegrationTest.java | 29 +++++ .../ws/TreeTestResultWsIntegrationTest.java | 70 +++++++++++ .../resources/org/argeo/slc/ant/build.xml | 25 ++++ .../org/argeo/slc/ant/nonDepContext.xml | 42 +++++++ .../org/argeo/slc/ws/applicationContext.xml | 11 ++ .../resources/org/argeo/slc/ws/execution.xml | 24 ++++ .../resources/org/argeo/slc/ws/result.xml | 20 ++++ 10 files changed, 315 insertions(+), 30 deletions(-) create mode 100644 org.argeo.slc.webapp/src/test/java/org/argeo/slc/ws/SlcAntWsIntegrationTest.java create mode 100644 org.argeo.slc.webapp/src/test/java/org/argeo/slc/ws/SlcExecutionWsIntegrationTest.java create mode 100644 org.argeo.slc.webapp/src/test/java/org/argeo/slc/ws/TreeTestResultWsIntegrationTest.java create mode 100644 org.argeo.slc.webapp/src/test/resources/org/argeo/slc/ant/build.xml create mode 100644 org.argeo.slc.webapp/src/test/resources/org/argeo/slc/ant/nonDepContext.xml create mode 100644 org.argeo.slc.webapp/src/test/resources/org/argeo/slc/ws/applicationContext.xml create mode 100644 org.argeo.slc.webapp/src/test/resources/org/argeo/slc/ws/execution.xml create mode 100644 org.argeo.slc.webapp/src/test/resources/org/argeo/slc/ws/result.xml diff --git a/org.argeo.slc.webapp/.classpath b/org.argeo.slc.webapp/.classpath index 3e7b945f6..fe6837c7e 100644 --- a/org.argeo.slc.webapp/.classpath +++ b/org.argeo.slc.webapp/.classpath @@ -2,6 +2,8 @@ + + diff --git a/org.argeo.slc.webapp/pom.xml b/org.argeo.slc.webapp/pom.xml index a733e9603..be075fb5b 100644 --- a/org.argeo.slc.webapp/pom.xml +++ b/org.argeo.slc.webapp/pom.xml @@ -1,31 +1,80 @@ - - - 4.0.0 - - org.argeo.slc - argeo-slc - 0.9-SNAPSHOT - ../org.argeo.slc - - org.argeo.slc.webapp - war - Argeo SLC Web Application - - ${artifactId} - - - org.apache.maven.plugins - maven-compiler-plugin - - - - - - org.argeo.slc - argeo-slc-server - ${project.version} - - + + + 4.0.0 + + org.argeo.slc + argeo-slc + 0.9-SNAPSHOT + ../org.argeo.slc + + org.argeo.slc.webapp + war + Argeo SLC Web Application + + ${artifactId} + + + org.apache.maven.plugins + maven-compiler-plugin + + + org.apache.maven.plugins + maven-surefire-plugin + + true + + + + surefire-it + integration-test + + test + + + false + + + + + + org.mortbay.jetty + maven-jetty-plugin + + + start-jetty + pre-integration-test + + run + + + 0 + true + + + + stop-jetty + post-integration-test + + stop + + + + + + + + + org.argeo.slc + argeo-slc-server + ${project.version} + + + org.argeo.slc + argeo-slc-agent + ${project.version} + test + + \ No newline at end of file diff --git a/org.argeo.slc.webapp/src/test/java/org/argeo/slc/ws/SlcAntWsIntegrationTest.java b/org.argeo.slc.webapp/src/test/java/org/argeo/slc/ws/SlcAntWsIntegrationTest.java new file mode 100644 index 000000000..ed3634db4 --- /dev/null +++ b/org.argeo.slc.webapp/src/test/java/org/argeo/slc/ws/SlcAntWsIntegrationTest.java @@ -0,0 +1,13 @@ +package org.argeo.slc.ws; + +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.argeo.slc.ant.unit.MinimalAntClasspathTestCase; +import org.argeo.slc.unit.AbstractSpringTestCase; + +public class SlcAntWsIntegrationTest extends MinimalAntClasspathTestCase { + public void testSimpleRun() { + execute("/org/argeo/slc/ant/build.xml"); + } + +} diff --git a/org.argeo.slc.webapp/src/test/java/org/argeo/slc/ws/SlcExecutionWsIntegrationTest.java b/org.argeo.slc.webapp/src/test/java/org/argeo/slc/ws/SlcExecutionWsIntegrationTest.java new file mode 100644 index 000000000..47d584f23 --- /dev/null +++ b/org.argeo.slc.webapp/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.msg.process.SlcExecutionRequest; +import org.argeo.slc.unit.AbstractSpringTestCase; +import org.argeo.slc.unit.process.SlcExecutionTestUtils; + +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.webapp/src/test/java/org/argeo/slc/ws/TreeTestResultWsIntegrationTest.java b/org.argeo.slc.webapp/src/test/java/org/argeo/slc/ws/TreeTestResultWsIntegrationTest.java new file mode 100644 index 000000000..7796c26d7 --- /dev/null +++ b/org.argeo.slc.webapp/src/test/java/org/argeo/slc/ws/TreeTestResultWsIntegrationTest.java @@ -0,0 +1,70 @@ +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.unit.test.tree.TreeTestResultTestUtils.createCompleteTreeTestResult; +import static org.argeo.slc.unit.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()); + req.getTreeTestResult().close();// in order to avoid unclosed in test db + + 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(); + 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); + + 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.webapp/src/test/resources/org/argeo/slc/ant/build.xml b/org.argeo.slc.webapp/src/test/resources/org/argeo/slc/ant/build.xml new file mode 100644 index 000000000..35de7be94 --- /dev/null +++ b/org.argeo.slc.webapp/src/test/resources/org/argeo/slc/ant/build.xml @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/org.argeo.slc.webapp/src/test/resources/org/argeo/slc/ant/nonDepContext.xml b/org.argeo.slc.webapp/src/test/resources/org/argeo/slc/ant/nonDepContext.xml new file mode 100644 index 000000000..56da88a8b --- /dev/null +++ b/org.argeo.slc.webapp/src/test/resources/org/argeo/slc/ant/nonDepContext.xml @@ -0,0 +1,42 @@ + + + + + + + + + + toto + + + toto + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/org.argeo.slc.webapp/src/test/resources/org/argeo/slc/ws/applicationContext.xml b/org.argeo.slc.webapp/src/test/resources/org/argeo/slc/ws/applicationContext.xml new file mode 100644 index 000000000..a94d128b3 --- /dev/null +++ b/org.argeo.slc.webapp/src/test/resources/org/argeo/slc/ws/applicationContext.xml @@ -0,0 +1,11 @@ + + + + + + + + diff --git a/org.argeo.slc.webapp/src/test/resources/org/argeo/slc/ws/execution.xml b/org.argeo.slc.webapp/src/test/resources/org/argeo/slc/ws/execution.xml new file mode 100644 index 000000000..b28885837 --- /dev/null +++ b/org.argeo.slc.webapp/src/test/resources/org/argeo/slc/ws/execution.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/org.argeo.slc.webapp/src/test/resources/org/argeo/slc/ws/result.xml b/org.argeo.slc.webapp/src/test/resources/org/argeo/slc/ws/result.xml new file mode 100644 index 000000000..ce5442d5e --- /dev/null +++ b/org.argeo.slc.webapp/src/test/resources/org/argeo/slc/ws/result.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + \ No newline at end of file -- 2.39.5