import org.springframework.oxm.Unmarshaller;\r
import org.springframework.xml.transform.StringResult;\r
import org.springframework.xml.transform.StringSource;\r
+import org.springframework.xml.validation.XmlValidator;\r
\r
import org.apache.commons.logging.Log;\r
import org.apache.commons.logging.LogFactory;\r
\r
-import static org.argeo.slc.core.test.tree.TreeTestResultTestUtils.createCompleteTreeTestResult;\r
+import static org.argeo.slc.unit.UnitUtils.assertDateSec;\r
+import static org.argeo.slc.unit.test.tree.TreeTestResultTestUtils.createCompleteTreeTestResult;\r
+import static org.argeo.slc.unit.test.tree.TreeTestResultTestUtils.createSimpleResultPartRequest;\r
\r
+import org.argeo.slc.core.structure.tree.TreeSPath;\r
+import org.argeo.slc.core.test.SimpleResultPart;\r
+import org.argeo.slc.msg.test.tree.CloseTreeTestResultRequest;\r
+import org.argeo.slc.msg.test.tree.CreateTreeTestResultRequest;\r
+import org.argeo.slc.msg.test.tree.ResultPartRequest;\r
import org.argeo.slc.unit.AbstractSpringTestCase;\r
+import org.argeo.slc.unit.UnitXmlUtils;\r
import org.argeo.slc.unit.test.tree.UnitTestTreeUtil;\r
\r
public class TreeTestResultCastorTest extends AbstractSpringTestCase {\r
private Log log = LogFactory.getLog(getClass());\r
\r
- public void testMarshUnmarsh() throws Exception {\r
- Marshaller marshaller = getBean("marshaller");\r
- Unmarshaller unmarshaller = getBean("marshaller");\r
+ private Marshaller marshaller;\r
+ private Unmarshaller unmarshaller;\r
\r
- TreeTestResult ttr = createCompleteTreeTestResult();\r
+ @Override\r
+ public void setUp() {\r
+ marshaller = getBean(Marshaller.class);\r
+ unmarshaller = getBean(Unmarshaller.class);\r
+ }\r
\r
- StringResult xml = new StringResult();\r
- marshaller.marshal(ttr, xml);\r
+ public void testMarshUnmarsh() throws Exception {\r
+ TreeTestResult ttr = createCompleteTreeTestResult();\r
\r
- log.info("Marshalled TreeTestResult: " + xml);\r
+ StringResult xml = marshallAndValidate(ttr);\r
\r
TreeTestResult ttrUnm = (TreeTestResult) unmarshaller\r
.unmarshal(new StringSource(xml.toString()));\r
\r
UnitTestTreeUtil.assertTreeTestResult(ttr, ttrUnm);\r
+ }\r
+\r
+ public void testCreateTreeTestResultRequest() throws Exception {\r
+ CreateTreeTestResultRequest req = new CreateTreeTestResultRequest();\r
+ req.setTreeTestResult(createCompleteTreeTestResult());\r
+\r
+ StringResult xml = marshallAndValidate(req);\r
+\r
+ CreateTreeTestResultRequest reqUnm = (CreateTreeTestResultRequest) unmarshaller\r
+ .unmarshal(new StringSource(xml.toString()));\r
+\r
+ UnitTestTreeUtil.assertTreeTestResult(req.getTreeTestResult(), reqUnm\r
+ .getTreeTestResult());\r
+ }\r
+\r
+ public void testResultPartRequest() throws Exception {\r
+ TreeTestResult ttr = createCompleteTreeTestResult();\r
+ ResultPartRequest req = createSimpleResultPartRequest(ttr);\r
+\r
+ StringResult xml = marshallAndValidate(req);\r
+\r
+ ResultPartRequest reqUnm = (ResultPartRequest) unmarshaller\r
+ .unmarshal(new StringSource(xml.toString()));\r
+\r
+ UnitTestTreeUtil\r
+ .assertPart(req.getResultPart(), reqUnm.getResultPart());\r
+ }\r
+\r
+ public void testCloseTreeTestResultRequest() throws Exception {\r
+ TreeTestResult ttr = createCompleteTreeTestResult();\r
+ ttr.close();\r
+\r
+ CloseTreeTestResultRequest req = new CloseTreeTestResultRequest(ttr\r
+ .getUuid(), ttr.getCloseDate());\r
+\r
+ StringResult xml = marshallAndValidate(req);\r
+\r
+ CloseTreeTestResultRequest reqUnm = (CloseTreeTestResultRequest) unmarshaller\r
+ .unmarshal(new StringSource(xml.toString()));\r
+\r
+ assertEquals(ttr.getUuid(), reqUnm.getResultUuid());\r
+ assertDateSec(ttr.getCloseDate(), ttr.getCloseDate());\r
+ }\r
+\r
+ private StringResult marshallAndValidate(Object obj) throws Exception {\r
+ StringResult xml = new StringResult();\r
+ marshaller.marshal(obj, xml);\r
+\r
+ log.info("Marshalled ResultPart Request: " + xml);\r
\r
+ UnitXmlUtils.assertXmlValidation(getBean(XmlValidator.class),\r
+ new StringSource(xml.toString()));\r
+ return xml;\r
}\r
}\r