2 * Copyright (C) 2010 Mathieu Baudier <mbaudier@argeo.org>
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
17 package org
.argeo
.slc
.ws
;
19 import static org
.argeo
.slc
.unit
.test
.tree
.TreeTestResultTestUtils
.createMinimalConsistentTreeTestResult
;
20 import static org
.argeo
.slc
.unit
.test
.tree
.TreeTestResultTestUtils
.createSimpleResultPartError
;
21 import static org
.argeo
.slc
.unit
.test
.tree
.TreeTestResultTestUtils
.createSimpleResultPartFailed
;
22 import static org
.argeo
.slc
.unit
.test
.tree
.TreeTestResultTestUtils
.createSimpleResultPartPassed
;
24 import org
.apache
.commons
.logging
.Log
;
25 import org
.apache
.commons
.logging
.LogFactory
;
26 import org
.argeo
.slc
.core
.test
.SimpleResultPart
;
27 import org
.argeo
.slc
.core
.test
.tree
.TreeTestResult
;
28 import org
.argeo
.slc
.msg
.process
.SlcExecutionRequest
;
29 import org
.argeo
.slc
.msg
.process
.SlcExecutionStatusRequest
;
30 import org
.argeo
.slc
.msg
.process
.SlcExecutionStepsRequest
;
31 import org
.argeo
.slc
.msg
.test
.tree
.CloseTreeTestResultRequest
;
32 import org
.argeo
.slc
.msg
.test
.tree
.CreateTreeTestResultRequest
;
33 import org
.argeo
.slc
.msg
.test
.tree
.ResultPartRequest
;
34 import org
.argeo
.slc
.process
.SlcExecution
;
35 import org
.argeo
.slc
.process
.SlcExecutionStep
;
36 import org
.argeo
.slc
.unit
.AbstractSpringTestCase
;
37 import org
.argeo
.slc
.unit
.process
.SlcExecutionTestUtils
;
38 import org
.springframework
.ws
.client
.core
.WebServiceTemplate
;
40 public class ScenarioWsIntegrationTest
extends AbstractSpringTestCase
{
41 private Log log
= LogFactory
.getLog(getClass());
43 private WebServiceTemplate template
;
46 template
= getBean(WebServiceTemplate
.class);
49 public void testSinglePathScenario() {
50 // Create SLC execution
51 SlcExecution slcExec
= SlcExecutionTestUtils
.createSimpleSlcExecution();
52 log
.info("Send create SlcExecutionRequest for SlcExecution #"
54 template
.marshalSendAndReceive(new SlcExecutionRequest(slcExec
));
56 // Add SLC execution step
57 SlcExecutionStep step
= new SlcExecutionStep("JUnit step");
58 slcExec
.getSteps().add(step
);
59 log
.info("Send SlcExecutionStepsRequest for SlcExecution #"
61 template
.marshalSendAndReceive(new SlcExecutionStepsRequest(slcExec
65 TreeTestResult ttr
= createMinimalConsistentTreeTestResult(slcExec
);
66 ttr
.addResultPart(createSimpleResultPartPassed());
67 log
.info("Send CreateTreeTestResultRequest for result #"
69 template
.marshalSendAndReceive(new CreateTreeTestResultRequest(ttr
));
72 SimpleResultPart failedPart
= createSimpleResultPartFailed();
73 ttr
.addResultPart(failedPart
);
74 log
.info("Send ResultPartRequest for result #" + ttr
.getUuid());
75 template
.marshalSendAndReceive(new ResultPartRequest(ttr
, null,
79 SimpleResultPart errorPart
= createSimpleResultPartError();
80 ttr
.addResultPart(errorPart
);
81 log
.info("Send ResultPartRequest for result #" + ttr
.getUuid());
82 template
.marshalSendAndReceive(new ResultPartRequest(ttr
, null,
88 .info("Send CloseTreeTestResultRequest for result #"
90 template
.marshalSendAndReceive(new CloseTreeTestResultRequest(ttr
91 .getUuid(), ttr
.getCloseDate()));
93 // Notify SLC execution FINISHED
94 slcExec
.setStatus(SlcExecution
.STATUS_FINISHED
);
95 log
.info("Send SlcExecutionStatusRequest for SlcExecution #"
97 template
.marshalSendAndReceive(new SlcExecutionStatusRequest(slcExec
98 .getUuid(), slcExec
.getStatus()));