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