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