1 package org
.argeo
.slc
.castor
;
3 import java
.text
.SimpleDateFormat
;
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
;
13 public class SlcExecutionCastorTest
extends AbstractCastorTestCase
{
14 public void testMarshalling() throws Exception
{
15 SlcExecution slcExec
= SlcExecutionTestUtils
.createSimpleSlcExecution();
17 SlcExecutionRequest msgSave
= new SlcExecutionRequest();
18 msgSave
.setSlcExecution(slcExec
);
20 StringResult msgSaveXml
= marshalAndValidate(msgSave
);
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"));
27 step0
.addLog("A log message\nand another line");
29 SlcExecutionStep step1
= new SlcExecutionStep();
30 step1
.setUuid(UUID
.randomUUID().toString());
31 step1
.setBegin(sdf
.parse("2008-04-17 18:25"));
33 step1
.addLog("A nother log message");
35 SlcExecutionStepsRequest msgNotif
= new SlcExecutionStepsRequest();
36 msgNotif
.addStep(step0
);
37 msgNotif
.addStep(step1
);
38 msgNotif
.setSlcExecutionUuid(slcExec
.getUuid());
40 StringResult msgNotifXml
= marshalAndValidate(msgNotif
);
42 SlcExecutionRequest msgSaveUnm
= unmarshal(msgSaveXml
);
43 assertNotNull(msgSaveUnm
);
44 SlcExecutionTestUtils
.assertSlcExecution(slcExec
, msgSaveUnm
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
53 SlcExecutionTestUtils
.assertSlcExecutionStep(step1
, msgNotifUnm
56 SlcExecution slcExecUnm
= msgSaveUnm
.getSlcExecution();
57 slcExecUnm
.getSteps().addAll(msgNotifUnm
.getSteps());
59 SlcExecutionRequest msgUpdate
= new SlcExecutionRequest();
60 msgUpdate
.setSlcExecution(slcExecUnm
);
61 StringResult msgUpdateXml
= marshalAndValidate(msgUpdate
);
63 SlcExecutionRequest msgUpdateUnm
= unmarshal(msgUpdateXml
);
64 assertNotNull(msgUpdateUnm
);