1 package org
.argeo
.slc
.core
.test
.tree
;
3 import org
.springframework
.oxm
.Marshaller
;
4 import org
.springframework
.oxm
.Unmarshaller
;
5 import org
.springframework
.xml
.transform
.StringResult
;
6 import org
.springframework
.xml
.transform
.StringSource
;
7 import org
.springframework
.xml
.validation
.XmlValidator
;
9 import org
.apache
.commons
.logging
.Log
;
10 import org
.apache
.commons
.logging
.LogFactory
;
12 import static org
.argeo
.slc
.core
.test
.tree
.TreeTestResultTestUtils
.createCompleteTreeTestResult
;
13 import static org
.argeo
.slc
.core
.test
.tree
.TreeTestResultTestUtils
.createSimpleResultPartRequest
;
14 import static org
.argeo
.slc
.unit
.UnitUtils
.assertDateSec
;
16 import org
.argeo
.slc
.core
.structure
.tree
.TreeSPath
;
17 import org
.argeo
.slc
.core
.test
.SimpleResultPart
;
18 import org
.argeo
.slc
.msg
.test
.tree
.CloseTreeTestResultRequest
;
19 import org
.argeo
.slc
.msg
.test
.tree
.CreateTreeTestResultRequest
;
20 import org
.argeo
.slc
.msg
.test
.tree
.ResultPartRequest
;
21 import org
.argeo
.slc
.unit
.AbstractSpringTestCase
;
22 import org
.argeo
.slc
.unit
.UnitXmlUtils
;
23 import org
.argeo
.slc
.unit
.test
.tree
.UnitTestTreeUtil
;
25 public class TreeTestResultCastorTest
extends AbstractSpringTestCase
{
26 private Log log
= LogFactory
.getLog(getClass());
28 private Marshaller marshaller
;
29 private Unmarshaller unmarshaller
;
33 marshaller
= getBean(Marshaller
.class);
34 unmarshaller
= getBean(Unmarshaller
.class);
37 public void testMarshUnmarsh() throws Exception
{
38 TreeTestResult ttr
= createCompleteTreeTestResult();
40 StringResult xml
= marshallAndValidate(ttr
);
42 TreeTestResult ttrUnm
= (TreeTestResult
) unmarshaller
43 .unmarshal(new StringSource(xml
.toString()));
45 UnitTestTreeUtil
.assertTreeTestResult(ttr
, ttrUnm
);
48 public void testCreateTreeTestResultRequest() throws Exception
{
49 CreateTreeTestResultRequest req
= new CreateTreeTestResultRequest();
50 req
.setTreeTestResult(createCompleteTreeTestResult());
52 StringResult xml
= marshallAndValidate(req
);
54 CreateTreeTestResultRequest reqUnm
= (CreateTreeTestResultRequest
) unmarshaller
55 .unmarshal(new StringSource(xml
.toString()));
57 UnitTestTreeUtil
.assertTreeTestResult(req
.getTreeTestResult(), reqUnm
58 .getTreeTestResult());
61 public void testResultPartRequest() throws Exception
{
62 TreeTestResult ttr
= createCompleteTreeTestResult();
63 ResultPartRequest req
= createSimpleResultPartRequest(ttr
);
65 StringResult xml
= marshallAndValidate(req
);
67 ResultPartRequest reqUnm
= (ResultPartRequest
) unmarshaller
68 .unmarshal(new StringSource(xml
.toString()));
71 .assertPart(req
.getResultPart(), reqUnm
.getResultPart());
74 public void testCloseTreeTestResultRequest() throws Exception
{
75 TreeTestResult ttr
= createCompleteTreeTestResult();
78 CloseTreeTestResultRequest req
= new CloseTreeTestResultRequest(ttr
79 .getUuid(), ttr
.getCloseDate());
81 StringResult xml
= marshallAndValidate(req
);
83 CloseTreeTestResultRequest reqUnm
= (CloseTreeTestResultRequest
) unmarshaller
84 .unmarshal(new StringSource(xml
.toString()));
86 assertEquals(ttr
.getUuid(), reqUnm
.getResultUuid());
87 assertDateSec(ttr
.getCloseDate(), ttr
.getCloseDate());
90 private StringResult
marshallAndValidate(Object obj
) throws Exception
{
91 StringResult xml
= new StringResult();
92 marshaller
.marshal(obj
, xml
);
94 log
.info("Marshalled ResultPart Request: " + xml
);
96 UnitXmlUtils
.assertXmlValidation(getBean(XmlValidator
.class),
97 new StringSource(xml
.toString()));