1
2
3
4
5
6
7
8
9
10
11 package org.mule.test.integration.xml;
12
13 import org.mule.api.MuleMessage;
14 import org.mule.module.client.MuleClient;
15 import org.mule.tck.AbstractServiceAndFlowTestCase;
16 import org.mule.util.IOUtils;
17
18 import java.util.Arrays;
19 import java.util.Collection;
20 import java.util.HashMap;
21 import java.util.Map;
22
23 import org.custommonkey.xmlunit.XMLUnit;
24 import org.junit.Test;
25 import org.junit.runners.Parameterized.Parameters;
26
27 import static org.junit.Assert.assertNotNull;
28 import static org.junit.Assert.assertNull;
29 import static org.junit.Assert.assertTrue;
30
31
32 public class XSLTWikiDocsTestCase extends AbstractServiceAndFlowTestCase
33 {
34 @Parameters
35 public static Collection<Object[]> parameters()
36 {
37 return Arrays.asList(new Object[][]{
38 {ConfigVariant.SERVICE, "org/mule/test/integration/xml/xslt-functional-test-service.xml"},
39 {ConfigVariant.FLOW, "org/mule/test/integration/xml/xslt-functional-test-flow.xml"}
40 });
41 }
42
43 public XSLTWikiDocsTestCase(ConfigVariant variant, String configResources)
44 {
45 super(variant, configResources);
46 }
47
48 @Test
49 public void testMessageTransform() throws Exception
50 {
51
52
53 XMLUnit.setIgnoreWhitespace(true);
54 XMLUnit.setIgnoreComments(true);
55
56
57 String srcData = IOUtils.getResourceAsString(
58 "org/mule/test/integration/xml/cd-catalog.xml", getClass());
59 String resultData = IOUtils.getResourceAsString(
60 "org/mule/test/integration/xml/cd-catalog-result-with-params.xml", getClass());
61
62
63 MuleClient client = new MuleClient(muleContext);
64
65
66 Map<String, Object> props = new HashMap<String, Object>();
67 props.put("ListTitle", "MyList");
68 props.put("ListRating", new Integer(6));
69
70
71 MuleMessage message = client.send("vm://test.in", srcData, props);
72 assertNotNull(message);
73 assertNull(message.getExceptionPayload());
74
75
76 assertTrue(XMLUnit.compareXML(message.getPayloadAsString(), resultData).similar());
77
78 }
79 }
80