]> git.argeo.org Git - gpl/argeo-slc.git/blob - runtime/org.argeo.slc.support.castor/src/test/java/org/argeo/slc/castor/SlcExecutionCastorTest.java
Introduce SlcExecutionSpec
[gpl/argeo-slc.git] / runtime / org.argeo.slc.support.castor / src / test / java / org / argeo / slc / castor / SlcExecutionCastorTest.java
1 package org.argeo.slc.castor;
2
3 import java.text.SimpleDateFormat;
4 import java.util.UUID;
5
6 import org.argeo.slc.msg.process.SlcExecutionRequest;
7 import org.argeo.slc.msg.process.SlcExecutionStepsRequest;
8 import org.argeo.slc.process.SlcExecution;
9 import org.argeo.slc.process.SlcExecutionStep;
10 import org.argeo.slc.unit.process.SlcExecutionTestUtils;
11 import org.springframework.xml.transform.StringResult;
12
13 public class SlcExecutionCastorTest extends AbstractCastorTestCase {
14 public void testMarshalling() throws Exception {
15 SlcExecution slcExec = SlcExecutionTestUtils.createSimpleSlcExecution();
16
17 SlcExecutionRequest msgSave = new SlcExecutionRequest();
18 msgSave.setSlcExecution(slcExec);
19
20 StringResult msgSaveXml = marshalAndValidate(msgSave);
21
22 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");
23 SlcExecutionStep step0 = new SlcExecutionStep();
24 step0.setUuid(UUID.randomUUID().toString());
25 step0.setBegin(sdf.parse("2008-04-17 18:21"));
26 step0.setType("LOG");
27 step0.addLog("A log message\nand another line");
28
29 SlcExecutionStep step1 = new SlcExecutionStep();
30 step1.setUuid(UUID.randomUUID().toString());
31 step1.setBegin(sdf.parse("2008-04-17 18:25"));
32 step1.setType("LOG");
33 step1.addLog("A nother log message");
34
35 SlcExecutionStepsRequest msgNotif = new SlcExecutionStepsRequest();
36 msgNotif.addStep(step0);
37 msgNotif.addStep(step1);
38 msgNotif.setSlcExecutionUuid(slcExec.getUuid());
39
40 StringResult msgNotifXml = marshalAndValidate(msgNotif);
41
42 SlcExecutionRequest msgSaveUnm = unmarshal(msgSaveXml);
43 assertNotNull(msgSaveUnm);
44 SlcExecutionTestUtils.assertSlcExecution(slcExec, msgSaveUnm
45 .getSlcExecution());
46
47 SlcExecutionStepsRequest msgNotifUnm = unmarshal(msgNotifXml);
48 assertNotNull(msgNotifUnm);
49 assertEquals(slcExec.getUuid(), msgNotifUnm.getSlcExecutionUuid());
50 assertEquals(2, msgNotifUnm.getSteps().size());
51 SlcExecutionTestUtils.assertSlcExecutionStep(step0, msgNotifUnm
52 .getSteps().get(0));
53 SlcExecutionTestUtils.assertSlcExecutionStep(step1, msgNotifUnm
54 .getSteps().get(1));
55
56 SlcExecution slcExecUnm = msgSaveUnm.getSlcExecution();
57 slcExecUnm.getSteps().addAll(msgNotifUnm.getSteps());
58
59 SlcExecutionRequest msgUpdate = new SlcExecutionRequest();
60 msgUpdate.setSlcExecution(slcExecUnm);
61 StringResult msgUpdateXml = marshalAndValidate(msgUpdate);
62
63 SlcExecutionRequest msgUpdateUnm = unmarshal(msgUpdateXml);
64 assertNotNull(msgUpdateUnm);
65 }
66 }