X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;ds=sidebyside;f=org.argeo.slc.core%2Fsrc%2Ftest%2Fjava%2Forg%2Fargeo%2Fslc%2Fcore%2Fprocess%2FSlcExecutionCastorTest.java;h=062fbb003e163d9d559b12f4d9749b264dbf073a;hb=ff5078359b2bfda024f7d39a471918c75dcf27f0;hp=105ef79836df187a426d28cbbb1ef518d01c5bad;hpb=c2107fa018f358d94865227bc19a5691403178cc;p=gpl%2Fargeo-slc.git diff --git a/org.argeo.slc.core/src/test/java/org/argeo/slc/core/process/SlcExecutionCastorTest.java b/org.argeo.slc.core/src/test/java/org/argeo/slc/core/process/SlcExecutionCastorTest.java index 105ef7983..062fbb003 100644 --- a/org.argeo.slc.core/src/test/java/org/argeo/slc/core/process/SlcExecutionCastorTest.java +++ b/org.argeo.slc.core/src/test/java/org/argeo/slc/core/process/SlcExecutionCastorTest.java @@ -16,8 +16,13 @@ import org.apache.commons.logging.LogFactory; import org.argeo.slc.msg.process.SlcExecutionRequest; import org.argeo.slc.msg.process.SlcExecutionStepsRequest; import org.argeo.slc.unit.AbstractSpringTestCase; +import org.argeo.slc.unit.UnitXmlUtils; + import org.springframework.oxm.Marshaller; import org.springframework.oxm.Unmarshaller; +import org.springframework.xml.transform.StringResult; +import org.springframework.xml.transform.StringSource; +import org.springframework.xml.xsd.XsdSchema; public class SlcExecutionCastorTest extends AbstractSpringTestCase { private Log log = LogFactory.getLog(getClass()); @@ -25,6 +30,7 @@ public class SlcExecutionCastorTest extends AbstractSpringTestCase { private Marshaller marshaller; private Unmarshaller unmarshaller; + @Override public void setUp() { marshaller = getBean("marshaller"); unmarshaller = getBean("marshaller"); @@ -79,7 +85,7 @@ public class SlcExecutionCastorTest extends AbstractSpringTestCase { SlcExecutionRequest msgUpdate = new SlcExecutionRequest(); msgUpdate.setSlcExecution(slcExecUnm); String msgUpdateXml = marshallAndLog(marshaller, msgUpdate); - + SlcExecutionRequest msgUpdateUnm = unmarshall(unmarshaller, msgUpdateXml); assertNotNull(msgUpdateUnm); @@ -87,12 +93,15 @@ public class SlcExecutionCastorTest extends AbstractSpringTestCase { private String marshallAndLog(Marshaller marshaller, Object obj) throws IOException { - StringWriter writer = new StringWriter(); - marshaller.marshal(obj, new StreamResult(writer)); - String xml = writer.toString(); - log.info(xml); - IOUtils.closeQuietly(writer); - return xml; + StringResult xml = new StringResult(); + marshaller.marshal(obj, xml); + log.info("Marshalled object: " + xml); + + XsdSchema schema = getBean("schema"); + UnitXmlUtils.assertXsdSchemaValidation(schema, new StringSource(xml + .toString())); + + return xml.toString(); } private T unmarshall(Unmarshaller unmarshaller, String xml)