]> git.argeo.org Git - gpl/argeo-slc.git/blob - org.argeo.slc.core/src/test/java/org/argeo/slc/core/test/tree/TreeTestResultCastorTest.java
a43d8f1209bbfcb6ba5d6512d32787aacd4ad8f5
[gpl/argeo-slc.git] / org.argeo.slc.core / src / test / java / org / argeo / slc / core / test / tree / TreeTestResultCastorTest.java
1 package org.argeo.slc.core.test.tree;
2
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;
8
9 import org.apache.commons.logging.Log;
10 import org.apache.commons.logging.LogFactory;
11
12 import static org.argeo.slc.core.test.tree.TreeTestResultTestUtils.createCompleteTreeTestResult;
13 import static org.argeo.slc.core.test.tree.TreeTestResultTestUtils.createSimpleResultPartRequest;
14
15 import org.argeo.slc.core.structure.tree.TreeSPath;
16 import org.argeo.slc.core.test.SimpleResultPart;
17 import org.argeo.slc.msg.test.tree.CreateTreeTestResultRequest;
18 import org.argeo.slc.msg.test.tree.ResultPartRequest;
19 import org.argeo.slc.unit.AbstractSpringTestCase;
20 import org.argeo.slc.unit.UnitXmlUtils;
21 import org.argeo.slc.unit.test.tree.UnitTestTreeUtil;
22
23 public class TreeTestResultCastorTest extends AbstractSpringTestCase {
24 private Log log = LogFactory.getLog(getClass());
25
26 private Marshaller marshaller;
27 private Unmarshaller unmarshaller;
28
29 @Override
30 public void setUp() {
31 marshaller = getBean(Marshaller.class);
32 unmarshaller = getBean(Unmarshaller.class);
33 }
34
35 public void testMarshUnmarsh() throws Exception {
36 TreeTestResult ttr = createCompleteTreeTestResult();
37
38 StringResult xml = marshallAndValidate(ttr);
39
40 TreeTestResult ttrUnm = (TreeTestResult) unmarshaller
41 .unmarshal(new StringSource(xml.toString()));
42
43 UnitTestTreeUtil.assertTreeTestResult(ttr, ttrUnm);
44 }
45
46 public void testCreateTreeTestResultRequest() throws Exception {
47 CreateTreeTestResultRequest req = new CreateTreeTestResultRequest();
48 req.setTreeTestResult(createCompleteTreeTestResult());
49
50 StringResult xml = marshallAndValidate(req);
51
52 CreateTreeTestResultRequest reqUnm = (CreateTreeTestResultRequest) unmarshaller
53 .unmarshal(new StringSource(xml.toString()));
54
55 UnitTestTreeUtil.assertTreeTestResult(req.getTreeTestResult(), reqUnm
56 .getTreeTestResult());
57 }
58
59 public void testResultPartRequest() throws Exception {
60 TreeTestResult ttr = createCompleteTreeTestResult();
61 ResultPartRequest req = createSimpleResultPartRequest(ttr);
62
63 StringResult xml = marshallAndValidate(req);
64
65 ResultPartRequest reqUnm = (ResultPartRequest) unmarshaller
66 .unmarshal(new StringSource(xml.toString()));
67
68 UnitTestTreeUtil
69 .assertPart(req.getResultPart(), reqUnm.getResultPart());
70 }
71
72 private StringResult marshallAndValidate(Object obj) throws Exception {
73 StringResult xml = new StringResult();
74 marshaller.marshal(obj, xml);
75
76 log.info("Marshalled ResultPart Request: " + xml);
77
78 UnitXmlUtils.assertXmlValidation(getBean(XmlValidator.class),
79 new StringSource(xml.toString()));
80 return xml;
81 }
82 }