1
2
3
4
5
6
7
8
9
10
11 package org.mule.transport.cxf;
12
13 import org.mule.api.MuleException;
14 import org.mule.api.MuleMessage;
15 import org.mule.module.client.MuleClient;
16 import org.mule.module.xml.stax.StaxSource;
17 import org.mule.tck.FunctionalTestCase;
18
19 import java.io.InputStream;
20
21 import javax.xml.stream.XMLInputFactory;
22 import javax.xml.stream.XMLStreamReader;
23 import javax.xml.transform.dom.DOMSource;
24 import javax.xml.transform.sax.SAXSource;
25
26 import org.apache.cxf.helpers.DOMUtils;
27 import org.w3c.dom.Document;
28 import org.xml.sax.InputSource;
29
30 public class DirectXmlTestCase extends FunctionalTestCase
31 {
32 public void testInputStream() throws Exception
33 {
34 MuleClient client = new MuleClient();
35 InputStream xml = getClass().getResourceAsStream("/direct/direct-request.xml");
36 assertNotNull(xml);
37
38 test(client, xml);
39 }
40
41 public void testInputStreamWithXslt() throws Exception
42 {
43 MuleClient client = new MuleClient();
44 InputStream xml = getClass().getResourceAsStream("/direct/direct-request.xml");
45 assertNotNull(xml);
46
47 MuleMessage result = client.send("vm://echoWithTransform", xml, null);
48 String resultStr = result.getPayloadAsString();
49 assertTrue("echoResponse not found in result: " + resultStr, resultStr.indexOf("echoResponse") != -1);
50 }
51
52 private void test(MuleClient client, Object xml) throws MuleException, Exception
53 {
54 MuleMessage result = client.send("vm://echo",
55 xml,
56 null);
57
58
59 assertTrue(result.getPayloadAsString().indexOf("echoResponse") != -1);
60 }
61
62 public void testDom() throws Exception
63 {
64 MuleClient client = new MuleClient();
65 InputStream xml = getClass().getResourceAsStream("/direct/direct-request.xml");
66 Document dom = DOMUtils.readXml(xml);
67 test(client, dom);
68 }
69
70 public void testDomSource() throws Exception
71 {
72 MuleClient client = new MuleClient();
73 InputStream xml = getClass().getResourceAsStream("/direct/direct-request.xml");
74 Document dom = DOMUtils.readXml(xml);
75 test(client, new DOMSource(dom));
76 }
77
78 public void testSAXSource() throws Exception
79 {
80 MuleClient client = new MuleClient();
81 InputStream xml = getClass().getResourceAsStream("/direct/direct-request.xml");
82 SAXSource source = new SAXSource(new InputSource(xml));
83 test(client, source);
84 }
85
86 public void testStaxSource() throws Exception
87 {
88 MuleClient client = new MuleClient();
89 InputStream xml = getClass().getResourceAsStream("/direct/direct-request.xml");
90
91 XMLStreamReader reader = XMLInputFactory.newInstance().createXMLStreamReader(xml);
92 test(client, new StaxSource(reader));
93 }
94
95 public void testXMLStreamReader() throws Exception
96 {
97 MuleClient client = new MuleClient();
98 InputStream xml = getClass().getResourceAsStream("/direct/direct-request.xml");
99
100 XMLStreamReader reader = XMLInputFactory.newInstance().createXMLStreamReader(xml);
101 test(client, reader);
102 }
103
104 protected String getConfigResources()
105 {
106 return "direct/direct-xml-conf.xml";
107 }
108
109 }