]> git.argeo.org Git - gpl/argeo-slc.git/blob - org.argeo.slc.core/src/test/java/org/argeo/slc/core/test/tree/TreeTestResultCastorTest.java
f9a42a16ed8e4f37ad520ec5dbf57732a4110b51
[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 import org.springframework.xml.xsd.XsdSchema;
9
10 import org.apache.commons.logging.Log;
11 import org.apache.commons.logging.LogFactory;
12
13 import static org.argeo.slc.core.test.tree.TreeTestResultTestUtils.createCompleteTreeTestResult;
14
15 import org.argeo.slc.core.structure.tree.TreeSPath;
16 import org.argeo.slc.core.test.TestResultPart;
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 = new StringResult();
39 marshaller.marshal(ttr, xml);
40
41 log.info("Marshalled TreeTestResult: " + xml);
42
43 UnitXmlUtils.assertXmlValidation(getBean(XmlValidator.class),
44 new StringSource(xml.toString()));
45
46 TreeTestResult ttrUnm = (TreeTestResult) unmarshaller
47 .unmarshal(new StringSource(xml.toString()));
48
49 UnitTestTreeUtil.assertTreeTestResult(ttr, ttrUnm);
50 }
51
52 public void testCreateTreeTestResultRequest() throws Exception {
53 CreateTreeTestResultRequest req = new CreateTreeTestResultRequest();
54 req.setTreeTestResult(createCompleteTreeTestResult());
55
56 StringResult xml = new StringResult();
57 marshaller.marshal(req, xml);
58
59 log.info("Marshalled CreateTreeTestResult Request: " + xml);
60
61 UnitXmlUtils.assertXmlValidation(getBean(XmlValidator.class),
62 new StringSource(xml.toString()));
63
64 CreateTreeTestResultRequest reqUnm = (CreateTreeTestResultRequest) unmarshaller
65 .unmarshal(new StringSource(xml.toString()));
66
67 UnitTestTreeUtil.assertTreeTestResult(req.getTreeTestResult(), reqUnm
68 .getTreeTestResult());
69 }
70
71 public void testResultPartRequest() throws Exception {
72 TreeTestResult ttr = createCompleteTreeTestResult();
73
74 TreeSPath path = ttr.getCurrentPath();
75 PartSubList lst = ttr.getResultParts().get(path);
76 //TestResultPart part = lst.getParts().get(lst.getParts().size() - 1);
77 TestResultPart part = lst.getParts().get(2);
78
79 ResultPartRequest req = new ResultPartRequest(ttr, path, part);
80 req.setPath(ttr.getCurrentPath());
81
82 StringResult xml = new StringResult();
83 marshaller.marshal(req, xml);
84
85 log.info("Marshalled ResultPart Request: " + xml);
86
87 UnitXmlUtils.assertXmlValidation(getBean(XmlValidator.class),
88 new StringSource(xml.toString()));
89
90 ResultPartRequest reqUnm = (ResultPartRequest) unmarshaller
91 .unmarshal(new StringSource(xml.toString()));
92
93 UnitTestTreeUtil
94 .assertPart(req.getResultPart(), reqUnm.getResultPart());
95 }
96
97 }