1
2
3
4
5
6
7 package org.mule.transformers.xml;
8
9 import org.mule.api.transformer.Transformer;
10 import org.mule.module.xml.transformer.XsltTransformer;
11 import org.mule.module.xml.util.XMLTestUtils;
12 import org.mule.transformer.types.DataTypeFactory;
13 import org.mule.util.IOUtils;
14
15 import java.util.Iterator;
16 import java.util.List;
17
18 import org.junit.Test;
19
20 import static org.junit.Assert.assertNotNull;
21 import static org.junit.Assert.assertTrue;
22
23 public class InlineXsltTransformerTestCase extends AbstractXmlTransformerTestCase
24 {
25
26 private String srcData;
27 private String resultData;
28
29 @Override
30 protected void doSetUp() throws Exception
31 {
32 srcData = IOUtils.getResourceAsString("simple.xml", getClass());
33 resultData = IOUtils.getResourceAsString("simple-out.xml", getClass());
34 }
35
36 @Override
37 public Transformer getTransformer() throws Exception
38 {
39 XsltTransformer transformer = new XsltTransformer();
40 transformer.setXslt("<?xml version='1.0'?>\n"
41 + "<xsl:stylesheet version='2.0' xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>\n"
42 + "<xsl:output method='xml'/>\n" + "<xsl:template match='/'>\n"
43 + " <some-xml>\n" + " <xsl:copy-of select='.'/>\n" + " </some-xml>\n"
44 + "</xsl:template>\n" + "</xsl:stylesheet>");
45 transformer.setReturnDataType(DataTypeFactory.STRING);
46 transformer.setMuleContext(muleContext);
47 transformer.initialise();
48 return transformer;
49 }
50
51 @Override
52 public Transformer getRoundTripTransformer() throws Exception
53 {
54 return null;
55 }
56
57 @Override
58 public void testRoundtripTransform() throws Exception
59 {
60
61 }
62
63 @Override
64 public Object getTestData()
65 {
66 return srcData;
67 }
68
69 @Override
70 public Object getResultData()
71 {
72 return resultData;
73 }
74
75 @Test
76 public void testAllXmlMessageTypes() throws Exception
77 {
78 List list = XMLTestUtils.getXmlMessageVariants("simple.xml");
79 Iterator it = list.iterator();
80
81 Object expectedResult = getResultData();
82 assertNotNull(expectedResult);
83
84 Object msg, result;
85 while (it.hasNext())
86 {
87 msg = it.next();
88
89 if (!(msg instanceof javax.xml.stream.XMLStreamReader))
90 {
91 result = getTransformer().transform(msg);
92 assertNotNull(result);
93 assertTrue("Test failed for message type: " + msg.getClass(), compareResults(expectedResult, result));
94 }
95 }
96 }
97 }